Code cleanup (#1461)

* Code cleanup

* Fix flux tests

* Fix checkstyle errors

* Fix compile error
This commit is contained in:
Ilkka Seppälä 2020-07-30 20:28:47 +03:00 committed by GitHub
parent 5381387026
commit 417f21ed3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
243 changed files with 1154 additions and 1162 deletions

View File

@ -47,7 +47,7 @@ public class AbstractDocumentTest {
} }
} }
private DocumentImplementation document = new DocumentImplementation(new HashMap<>()); private final DocumentImplementation document = new DocumentImplementation(new HashMap<>());
@Test @Test
public void shouldPutAndGetValue() { public void shouldPutAndGetValue() {

View File

@ -36,7 +36,7 @@ import org.junit.jupiter.api.Test;
*/ */
public class AbstractFactoryTest { public class AbstractFactoryTest {
private App app = new App(); private final App app = new App();
private KingdomFactory elfFactory; private KingdomFactory elfFactory;
private KingdomFactory orcFactory; private KingdomFactory orcFactory;

View File

@ -37,7 +37,7 @@ import uk.org.lidalia.slf4jtest.TestLoggerFactory;
*/ */
public class ConfigureForDosVisitorTest { public class ConfigureForDosVisitorTest {
private TestLogger logger = TestLoggerFactory.getTestLogger(ConfigureForDosVisitor.class); private final TestLogger logger = TestLoggerFactory.getTestLogger(ConfigureForDosVisitor.class);
@Test @Test
public void testVisitForZoom() { public void testVisitForZoom() {

View File

@ -56,7 +56,7 @@ And captain expects an implementation of `RowingBoat` interface to be able to mo
```java ```java
public class Captain { public class Captain {
private RowingBoat rowingBoat; private final RowingBoat rowingBoat;
// default constructor and setter for rowingBoat // default constructor and setter for rowingBoat
public Captain(RowingBoat rowingBoat) { public Captain(RowingBoat rowingBoat) {
this.rowingBoat = rowingBoat; this.rowingBoat = rowingBoat;
@ -75,7 +75,7 @@ public class FishingBoatAdapter implements RowingBoat {
private static final Logger LOGGER = LoggerFactory.getLogger(FishingBoatAdapter.class); private static final Logger LOGGER = LoggerFactory.getLogger(FishingBoatAdapter.class);
private FishingBoat boat; private final FishingBoat boat;
public FishingBoatAdapter() { public FishingBoatAdapter() {
boat = new FishingBoat(); boat = new FishingBoat();

View File

@ -29,7 +29,7 @@ package com.iluwatar.adapter;
*/ */
public class FishingBoatAdapter implements RowingBoat { public class FishingBoatAdapter implements RowingBoat {
private FishingBoat boat; private final FishingBoat boat;
public FishingBoatAdapter() { public FishingBoatAdapter() {
boat = new FishingBoat(); boat = new FishingBoat();

View File

@ -48,7 +48,7 @@ class RemoteServiceTest {
} }
private static class StaticRandomProvider implements RandomProvider { private static class StaticRandomProvider implements RandomProvider {
private double value; private final double value;
StaticRandomProvider(double value) { StaticRandomProvider(double value) {
this.value = value; this.value = value;

View File

@ -100,7 +100,7 @@ public class ThreadAsyncExecutor implements AsyncExecutor {
void setValue(T value) { void setValue(T value) {
this.value = value; this.value = value;
this.state = COMPLETED; this.state = COMPLETED;
this.callback.ifPresent(ac -> ac.onComplete(value, Optional.<Exception>empty())); this.callback.ifPresent(ac -> ac.onComplete(value, Optional.empty()));
synchronized (lock) { synchronized (lock) {
lock.notifyAll(); lock.notifyAll();
} }

View File

@ -28,7 +28,7 @@ package com.iluwatar.business.delegate;
*/ */
public class Client { public class Client {
private BusinessDelegate businessDelegate; private final BusinessDelegate businessDelegate;
public Client(BusinessDelegate businessDelegate) { public Client(BusinessDelegate businessDelegate) {
this.businessDelegate = businessDelegate; this.businessDelegate = businessDelegate;

View File

@ -28,5 +28,5 @@ package com.iluwatar.business.delegate;
*/ */
public enum ServiceType { public enum ServiceType {
EJB, JMS; EJB, JMS
} }

View File

@ -30,9 +30,9 @@ import java.util.Stack;
*/ */
public class VirtualMachine { public class VirtualMachine {
private Stack<Integer> stack = new Stack<>(); private final Stack<Integer> stack = new Stack<>();
private Wizard[] wizards = new Wizard[2]; private final Wizard[] wizards = new Wizard[2];
/** /**
* Constructor. * Constructor.

View File

@ -104,7 +104,7 @@ public class VirtualMachineTest {
bytecode[2] = LITERAL.getIntValue(); bytecode[2] = LITERAL.getIntValue();
bytecode[3] = 50; // health amount bytecode[3] = 50; // health amount
bytecode[4] = SET_HEALTH.getIntValue(); bytecode[4] = SET_HEALTH.getIntValue();
bytecode[5] = LITERAL.getIntValue();; bytecode[5] = LITERAL.getIntValue();
bytecode[6] = wizardNumber; bytecode[6] = wizardNumber;
bytecode[7] = GET_HEALTH.getIntValue(); bytecode[7] = GET_HEALTH.getIntValue();

View File

@ -29,7 +29,7 @@ package com.iluwatar.caching;
public enum CachingPolicy { public enum CachingPolicy {
THROUGH("through"), AROUND("around"), BEHIND("behind"), ASIDE("aside"); THROUGH("through"), AROUND("around"), BEHIND("behind"), ASIDE("aside");
private String policy; private final String policy;
CachingPolicy(String policy) { CachingPolicy(String policy) {
this.policy = policy; this.policy = policy;

View File

@ -65,7 +65,7 @@ Then the request handler hierarchy
```java ```java
public abstract class RequestHandler { public abstract class RequestHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(RequestHandler.class); private static final Logger LOGGER = LoggerFactory.getLogger(RequestHandler.class);
private RequestHandler next; private final RequestHandler next;
public RequestHandler(RequestHandler next) { public RequestHandler(RequestHandler next) {
this.next = next; this.next = next;

View File

@ -33,7 +33,7 @@ public abstract class RequestHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(RequestHandler.class); private static final Logger LOGGER = LoggerFactory.getLogger(RequestHandler.class);
private RequestHandler next; private final RequestHandler next;
public RequestHandler(RequestHandler next) { public RequestHandler(RequestHandler next) {
this.next = next; this.next = next;

View File

@ -87,10 +87,7 @@ public class Car {
} else if (!model.equals(other.model)) { } else if (!model.equals(other.model)) {
return false; return false;
} }
if (year != other.year) { return year == other.year;
return false;
}
return true;
} }
public String getMake() { public String getMake() {

View File

@ -29,7 +29,7 @@ import java.util.List;
* A Person class that has the list of cars that the person owns and use. * A Person class that has the list of cars that the person owns and use.
*/ */
public class Person { public class Person {
private List<Car> cars; private final List<Car> cars;
/** /**
* Constructor to create an instance of person. * Constructor to create an instance of person.

View File

@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
public class AppTest { public class AppTest {
private static final Logger LOGGER = LoggerFactory.getLogger(AppTest.class); private static final Logger LOGGER = LoggerFactory.getLogger(AppTest.class);
private List<Car> cars = CarFactory.createCars(); private final List<Car> cars = CarFactory.createCars();
@Test @Test
public void testGetModelsAfter2000UsingFor() { public void testGetModelsAfter2000UsingFor() {

View File

@ -36,8 +36,8 @@ public class Wizard {
private static final Logger LOGGER = LoggerFactory.getLogger(Wizard.class); private static final Logger LOGGER = LoggerFactory.getLogger(Wizard.class);
private Deque<Command> undoStack = new LinkedList<>(); private final Deque<Command> undoStack = new LinkedList<>();
private Deque<Command> redoStack = new LinkedList<>(); private final Deque<Command> redoStack = new LinkedList<>();
public Wizard() {} public Wizard() {}

View File

@ -1,43 +1,43 @@
/* /*
* The MIT License * The MIT License
* Copyright © 2014-2019 Ilkka Seppälä * Copyright © 2014-2019 Ilkka Seppälä
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights * in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is * copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions: * furnished to do so, subject to the following conditions:
* *
* The above copyright notice and this permission notice shall be included in * The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software. * all copies or substantial portions of the Software.
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. * THE SOFTWARE.
*/ */
package com.iluwatar.command; package com.iluwatar.command;
/** /**
* Enumeration for target size. * Enumeration for target size.
*/ */
public enum Size { public enum Size {
SMALL("small"), NORMAL("normal"); SMALL("small"), NORMAL("normal");
private String title; private final String title;
Size(String title) { Size(String title) {
this.title = title; this.title = title;
} }
@Override @Override
public String toString() { public String toString() {
return title; return title;
} }
} }

View File

@ -1,43 +1,43 @@
/* /*
* The MIT License * The MIT License
* Copyright © 2014-2019 Ilkka Seppälä * Copyright © 2014-2019 Ilkka Seppälä
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights * in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is * copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions: * furnished to do so, subject to the following conditions:
* *
* The above copyright notice and this permission notice shall be included in * The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software. * all copies or substantial portions of the Software.
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. * THE SOFTWARE.
*/ */
package com.iluwatar.command; package com.iluwatar.command;
/** /**
* Enumeration for target visibility. * Enumeration for target visibility.
*/ */
public enum Visibility { public enum Visibility {
VISIBLE("visible"), INVISIBLE("invisible"); VISIBLE("visible"), INVISIBLE("invisible");
private String title; private final String title;
Visibility(String title) { Visibility(String title) {
this.title = title; this.title = title;
} }
@Override @Override
public String toString() { public String toString() {
return title; return title;
} }
} }

View File

@ -35,8 +35,8 @@ public class Wizard {
private static final Logger LOGGER = LoggerFactory.getLogger(Wizard.class); private static final Logger LOGGER = LoggerFactory.getLogger(Wizard.class);
private Deque<Command> undoStack = new LinkedList<>(); private final Deque<Command> undoStack = new LinkedList<>();
private Deque<Command> redoStack = new LinkedList<>(); private final Deque<Command> redoStack = new LinkedList<>();
public Wizard() { public Wizard() {
// comment to ignore sonar issue: LEVEL critical // comment to ignore sonar issue: LEVEL critical

View File

@ -33,7 +33,7 @@ import java.util.Hashtable;
*/ */
public class EmployeeDatabase extends Database<Order> { public class EmployeeDatabase extends Database<Order> {
private Hashtable<String, Order> data; private final Hashtable<String, Order> data;
public EmployeeDatabase() { public EmployeeDatabase() {
this.data = new Hashtable<>(); this.data = new Hashtable<>();

View File

@ -33,7 +33,7 @@ import java.util.Hashtable;
*/ */
public class MessagingDatabase extends Database<MessageRequest> { public class MessagingDatabase extends Database<MessageRequest> {
private Hashtable<String, MessageRequest> data; private final Hashtable<String, MessageRequest> data;
public MessagingDatabase() { public MessagingDatabase() {
this.data = new Hashtable<>(); this.data = new Hashtable<>();

View File

@ -34,7 +34,7 @@ import java.util.Hashtable;
public class PaymentDatabase extends Database<PaymentRequest> { public class PaymentDatabase extends Database<PaymentRequest> {
private Hashtable<String, PaymentRequest> data; private final Hashtable<String, PaymentRequest> data;
public PaymentDatabase() { public PaymentDatabase() {
this.data = new Hashtable<>(); this.data = new Hashtable<>();

View File

@ -35,7 +35,7 @@ import java.util.List;
public class QueueDatabase extends Database<QueueTask> { public class QueueDatabase extends Database<QueueTask> {
private Queue<QueueTask> data; private final Queue<QueueTask> data;
public List<Exception> exceptionsList; public List<Exception> exceptionsList;
public QueueDatabase(Exception... exc) { public QueueDatabase(Exception... exc) {

View File

@ -34,7 +34,7 @@ import java.util.Hashtable;
public class ShippingDatabase extends Database<ShippingRequest> { public class ShippingDatabase extends Database<ShippingRequest> {
private Hashtable<String, ShippingRequest> data; private final Hashtable<String, ShippingRequest> data;
public ShippingDatabase() { public ShippingDatabase() {
this.data = new Hashtable<>(); this.data = new Hashtable<>();

View File

@ -34,7 +34,7 @@ Taking our sentence example from above. Here we have the base class and differen
```java ```java
public abstract class LetterComposite { public abstract class LetterComposite {
private List<LetterComposite> children = new ArrayList<>(); private final List<LetterComposite> children = new ArrayList<>();
public void add(LetterComposite letter) { public void add(LetterComposite letter) {
children.add(letter); children.add(letter);
@ -59,7 +59,7 @@ public abstract class LetterComposite {
public class Letter extends LetterComposite { public class Letter extends LetterComposite {
private char character; private final char character;
public Letter(char c) { public Letter(char c) {
this.character = c; this.character = c;

View File

@ -28,7 +28,7 @@ package com.iluwatar.composite;
*/ */
public class Letter extends LetterComposite { public class Letter extends LetterComposite {
private char character; private final char character;
public Letter(char c) { public Letter(char c) {
this.character = c; this.character = c;

View File

@ -1,58 +1,58 @@
/* /*
* The MIT License * The MIT License
* Copyright © 2014-2019 Ilkka Seppälä * Copyright © 2014-2019 Ilkka Seppälä
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights * in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is * copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions: * furnished to do so, subject to the following conditions:
* *
* The above copyright notice and this permission notice shall be included in * The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software. * all copies or substantial portions of the Software.
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. * THE SOFTWARE.
*/ */
package com.iluwatar.composite; package com.iluwatar.composite;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Composite interface. * Composite interface.
*/ */
public abstract class LetterComposite { public abstract class LetterComposite {
private List<LetterComposite> children = new ArrayList<>(); private final List<LetterComposite> children = new ArrayList<>();
public void add(LetterComposite letter) { public void add(LetterComposite letter) {
children.add(letter); children.add(letter);
} }
public int count() { public int count() {
return children.size(); return children.size();
} }
protected void printThisBefore() { protected void printThisBefore() {
} }
protected void printThisAfter() { protected void printThisAfter() {
} }
/** /**
* Print. * Print.
*/ */
public void print() { public void print() {
printThisBefore(); printThisBefore();
children.forEach(LetterComposite::print); children.forEach(LetterComposite::print);
printThisAfter(); printThisAfter();
} }
} }

View File

@ -29,10 +29,10 @@ import java.util.Objects;
* User class. * User class.
*/ */
public class User { public class User {
private String firstName; private final String firstName;
private String lastName; private final String lastName;
private boolean isActive; private final boolean isActive;
private String userId; private final String userId;
/** /**
* Constructor. * Constructor.

View File

@ -30,10 +30,10 @@ import java.util.Objects;
*/ */
public class UserDto { public class UserDto {
private String firstName; private final String firstName;
private String lastName; private final String lastName;
private boolean isActive; private final boolean isActive;
private String email; private final String email;
/** /**
* Constructor. * Constructor.

View File

@ -34,7 +34,7 @@ import org.junit.jupiter.api.Test;
*/ */
public class ConverterTest { public class ConverterTest {
private UserConverter userConverter = new UserConverter(); private final UserConverter userConverter = new UserConverter();
/** /**
* Tests whether a converter created of opposite functions holds equality as a bijection. * Tests whether a converter created of opposite functions holds equality as a bijection.

View File

@ -34,7 +34,7 @@ import org.hibernate.SessionFactory;
*/ */
public class CommandServiceImpl implements ICommandService { public class CommandServiceImpl implements ICommandService {
private SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); private final SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
private Author getAuthorByUsername(String username) { private Author getAuthorByUsername(String username) {
Author author; Author author;

View File

@ -38,7 +38,7 @@ import org.hibernate.transform.Transformers;
*/ */
public class QueryServiceImpl implements IQueryService { public class QueryServiceImpl implements IQueryService {
private SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); private final SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
@Override @Override
public Author getAuthorByUsername(String username) { public Author getAuthorByUsername(String username) {

View File

@ -112,7 +112,7 @@ public interface CustomerDao {
public class InMemoryCustomerDao implements CustomerDao { public class InMemoryCustomerDao implements CustomerDao {
private Map<Integer, Customer> idToCustomer = new HashMap<>(); private final Map<Integer, Customer> idToCustomer = new HashMap<>();
@Override @Override
public Stream<Customer> getAll() { public Stream<Customer> getAll() {

View File

@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
*/ */
public class App { public class App {
private static final String DB_URL = "jdbc:h2:~/dao"; private static final String DB_URL = "jdbc:h2:~/dao";
private static Logger log = LoggerFactory.getLogger(App.class); private static final Logger log = LoggerFactory.getLogger(App.class);
private static final String ALL_CUSTOMERS = "customerDao.getAllCustomers(): "; private static final String ALL_CUSTOMERS = "customerDao.getAllCustomers(): ";
/** /**

View File

@ -36,7 +36,7 @@ import java.util.stream.Stream;
*/ */
public class InMemoryCustomerDao implements CustomerDao { public class InMemoryCustomerDao implements CustomerDao {
private Map<Integer, Customer> idToCustomer = new HashMap<>(); private final Map<Integer, Customer> idToCustomer = new HashMap<>();
/** /**
* An eagerly evaluated stream of customers stored in memory. * An eagerly evaluated stream of customers stored in memory.

View File

@ -50,7 +50,7 @@ public class DbCustomerDaoTest {
private static final String DB_URL = "jdbc:h2:~/dao"; private static final String DB_URL = "jdbc:h2:~/dao";
private DbCustomerDao dao; private DbCustomerDao dao;
private Customer existingCustomer = new Customer(1, "Freddy", "Krueger"); private final Customer existingCustomer = new Customer(1, "Freddy", "Krueger");
/** /**
* Creates customers schema. * Creates customers schema.

View File

@ -41,7 +41,7 @@ public class MessageCollectorMember implements Member {
private final String name; private final String name;
private List<String> messages = new ArrayList<>(); private final List<String> messages = new ArrayList<>();
public MessageCollectorMember(String name) { public MessageCollectorMember(String name) {
this.name = name; this.name = name;

View File

@ -1,83 +1,83 @@
/* /*
* The MIT License * The MIT License
* Copyright © 2014-2019 Ilkka Seppälä * Copyright © 2014-2019 Ilkka Seppälä
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights * in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is * copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions: * furnished to do so, subject to the following conditions:
* *
* The above copyright notice and this permission notice shall be included in * The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software. * all copies or substantial portions of the Software.
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. * THE SOFTWARE.
*/ */
package com.iluwatar.datamapper; package com.iluwatar.datamapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
/** /**
* The Data Mapper (DM) is a layer of software that separates the in-memory objects from the * The Data Mapper (DM) is a layer of software that separates the in-memory objects from the
* database. Its responsibility is to transfer data between the two and also to isolate them from * database. Its responsibility is to transfer data between the two and also to isolate them from
* each other. With Data Mapper the in-memory objects needn't know even that there's a database * each other. With Data Mapper the in-memory objects needn't know even that there's a database
* present; they need no SQL interface code, and certainly no knowledge of the database schema. (The * present; they need no SQL interface code, and certainly no knowledge of the database schema. (The
* database schema is always ignorant of the objects that use it.) Since it's a form of Mapper , * database schema is always ignorant of the objects that use it.) Since it's a form of Mapper ,
* Data Mapper itself is even unknown to the domain layer. * Data Mapper itself is even unknown to the domain layer.
* *
* <p>The below example demonstrates basic CRUD operations: Create, Read, Update, and Delete. * <p>The below example demonstrates basic CRUD operations: Create, Read, Update, and Delete.
*/ */
public final class App { public final class App {
private static Logger log = LoggerFactory.getLogger(App.class); private static final Logger log = LoggerFactory.getLogger(App.class);
private static final String STUDENT_STRING = "App.main(), student : "; private static final String STUDENT_STRING = "App.main(), student : ";
/** /**
* Program entry point. * Program entry point.
* *
* @param args command line args. * @param args command line args.
*/ */
public static void main(final String... args) { public static void main(final String... args) {
/* Create new data mapper for type 'first' */ /* Create new data mapper for type 'first' */
final var mapper = new StudentDataMapperImpl(); final var mapper = new StudentDataMapperImpl();
/* Create new student */ /* Create new student */
var student = new Student(1, "Adam", 'A'); var student = new Student(1, "Adam", 'A');
/* Add student in respectibe store */ /* Add student in respectibe store */
mapper.insert(student); mapper.insert(student);
log.debug(STUDENT_STRING + student + ", is inserted"); log.debug(STUDENT_STRING + student + ", is inserted");
/* Find this student */ /* Find this student */
final var studentToBeFound = mapper.find(student.getStudentId()); final var studentToBeFound = mapper.find(student.getStudentId());
log.debug(STUDENT_STRING + studentToBeFound + ", is searched"); log.debug(STUDENT_STRING + studentToBeFound + ", is searched");
/* Update existing student object */ /* Update existing student object */
student = new Student(student.getStudentId(), "AdamUpdated", 'A'); student = new Student(student.getStudentId(), "AdamUpdated", 'A');
/* Update student in respectibe db */ /* Update student in respectibe db */
mapper.update(student); mapper.update(student);
log.debug(STUDENT_STRING + student + ", is updated"); log.debug(STUDENT_STRING + student + ", is updated");
log.debug(STUDENT_STRING + student + ", is going to be deleted"); log.debug(STUDENT_STRING + student + ", is going to be deleted");
/* Delete student in db */ /* Delete student in db */
mapper.delete(student); mapper.delete(student);
} }
private App() { private App() {
} }
} }

View File

@ -33,7 +33,7 @@ import java.util.Optional;
public final class StudentDataMapperImpl implements StudentDataMapper { public final class StudentDataMapperImpl implements StudentDataMapper {
/* Note: Normally this would be in the form of an actual database */ /* Note: Normally this would be in the form of an actual database */
private List<Student> students = new ArrayList<>(); private final List<Student> students = new ArrayList<>();
@Override @Override
public Optional<Student> find(int studentId) { public Optional<Student> find(int studentId) {

View File

@ -64,7 +64,7 @@ Customer resource class acts as the server for customer information.
```java ```java
public class CustomerResource { public class CustomerResource {
private List<CustomerDto> customers; private final List<CustomerDto> customers;
public CustomerResource(List<CustomerDto> customers) { public CustomerResource(List<CustomerDto> customers) {
this.customers = customers; this.customers = customers;

View File

@ -30,7 +30,7 @@ import java.util.List;
* has all customer details. * has all customer details.
*/ */
public class CustomerResource { public class CustomerResource {
private List<CustomerDto> customers; private final List<CustomerDto> customers;
/** /**
* Initialise resource with existing customers. * Initialise resource with existing customers.

View File

@ -70,7 +70,7 @@ public class ClubbedTroll implements Troll {
private static final Logger LOGGER = LoggerFactory.getLogger(ClubbedTroll.class); private static final Logger LOGGER = LoggerFactory.getLogger(ClubbedTroll.class);
private Troll decorated; private final Troll decorated;
public ClubbedTroll(Troll decorated) { public ClubbedTroll(Troll decorated) {
this.decorated = decorated; this.decorated = decorated;

View File

@ -33,7 +33,7 @@ public class ClubbedTroll implements Troll {
private static final Logger LOGGER = LoggerFactory.getLogger(ClubbedTroll.class); private static final Logger LOGGER = LoggerFactory.getLogger(ClubbedTroll.class);
private Troll decorated; private final Troll decorated;
public ClubbedTroll(Troll decorated) { public ClubbedTroll(Troll decorated) {
this.decorated = decorated; this.decorated = decorated;

View File

@ -68,7 +68,7 @@ public class SimpleTrollTest {
private class InMemoryAppender extends AppenderBase<ILoggingEvent> { private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender(Class clazz) { public InMemoryAppender(Class clazz) {
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this); ((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);

View File

@ -86,7 +86,7 @@ public class DelegateTest {
*/ */
private class InMemoryAppender extends AppenderBase<ILoggingEvent> { private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender() { public InMemoryAppender() {
((Logger) LoggerFactory.getLogger("root")).addAppender(this); ((Logger) LoggerFactory.getLogger("root")).addAppender(this);

View File

@ -62,7 +62,7 @@ public interface Wizard {
public class AdvancedWizard implements Wizard { public class AdvancedWizard implements Wizard {
private Tobacco tobacco; private final Tobacco tobacco;
public AdvancedWizard(Tobacco tobacco) { public AdvancedWizard(Tobacco tobacco) {
this.tobacco = tobacco; this.tobacco = tobacco;

View File

@ -29,7 +29,7 @@ package com.iluwatar.dependency.injection;
*/ */
public class AdvancedWizard implements Wizard { public class AdvancedWizard implements Wizard {
private Tobacco tobacco; private final Tobacco tobacco;
public AdvancedWizard(Tobacco tobacco) { public AdvancedWizard(Tobacco tobacco) {
this.tobacco = tobacco; this.tobacco = tobacco;

View File

@ -31,7 +31,7 @@ import javax.inject.Inject;
*/ */
public class GuiceWizard implements Wizard { public class GuiceWizard implements Wizard {
private Tobacco tobacco; private final Tobacco tobacco;
@Inject @Inject
public GuiceWizard(Tobacco tobacco) { public GuiceWizard(Tobacco tobacco) {

View File

@ -29,7 +29,7 @@ package com.iluwatar.dependency.injection;
*/ */
public class SimpleWizard implements Wizard { public class SimpleWizard implements Wizard {
private OldTobyTobacco tobacco = new OldTobyTobacco(); private final OldTobyTobacco tobacco = new OldTobyTobacco();
public void smoke() { public void smoke() {
tobacco.smoke(this); tobacco.smoke(this);

View File

@ -37,7 +37,7 @@ import java.util.List;
*/ */
public class InMemoryAppender extends AppenderBase<ILoggingEvent> { public class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender(Class clazz) { public InMemoryAppender(Class clazz) {
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this); ((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);

View File

@ -34,7 +34,7 @@ import java.util.List;
public class World { public class World {
private List<String> countries; private List<String> countries;
private DataFetcher df; private final DataFetcher df;
public World() { public World() {
this.countries = new ArrayList<String>(); this.countries = new ArrayList<String>();

View File

@ -33,7 +33,7 @@ public class FrameBuffer implements Buffer {
public static final int WIDTH = 10; public static final int WIDTH = 10;
public static final int HEIGHT = 8; public static final int HEIGHT = 8;
private Pixel[] pixels = new Pixel[WIDTH * HEIGHT]; private final Pixel[] pixels = new Pixel[WIDTH * HEIGHT];
public FrameBuffer() { public FrameBuffer() {
clearAll(); clearAll();

View File

@ -31,7 +31,7 @@ public enum Pixel {
WHITE(0), WHITE(0),
BLACK(1); BLACK(1);
private int color; private final int color;
Pixel(int color) { Pixel(int color) {
this.color = color; this.color = color;

View File

@ -35,7 +35,7 @@ public class Scene {
private static final Logger LOGGER = LoggerFactory.getLogger(Scene.class); private static final Logger LOGGER = LoggerFactory.getLogger(Scene.class);
private Buffer[] frameBuffers; private final Buffer[] frameBuffers;
private int current; private int current;

View File

@ -109,7 +109,7 @@ public class InventoryTest {
private class InMemoryAppender extends AppenderBase<ILoggingEvent> { private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender(Class clazz) { public InMemoryAppender(Class clazz) {
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this); ((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);

View File

@ -28,10 +28,10 @@ package com.iluwatar.doubledispatch;
*/ */
public class Rectangle { public class Rectangle {
private int left; private final int left;
private int top; private final int top;
private int right; private final int right;
private int bottom; private final int bottom;
/** /**
* Constructor. * Constructor.

View File

@ -31,7 +31,7 @@ public enum Event {
STARK_SIGHTED("Stark sighted"), WARSHIPS_APPROACHING("Warships approaching"), TRAITOR_DETECTED( STARK_SIGHTED("Stark sighted"), WARSHIPS_APPROACHING("Warships approaching"), TRAITOR_DETECTED(
"Traitor detected"); "Traitor detected");
private String description; private final String description;
Event(String description) { Event(String description) {
this.description = description; this.description = description;

View File

@ -31,7 +31,7 @@ import java.util.List;
*/ */
public abstract class EventEmitter { public abstract class EventEmitter {
private List<EventObserver> observers; private final List<EventObserver> observers;
public EventEmitter() { public EventEmitter() {
observers = new LinkedList<>(); observers = new LinkedList<>();

View File

@ -36,7 +36,7 @@ public enum Weekday {
SATURDAY("Saturday"), SATURDAY("Saturday"),
SUNDAY("Sunday"); SUNDAY("Sunday");
private String description; private final String description;
Weekday(String description) { Weekday(String description) {
this.description = description; this.description = description;

View File

@ -74,7 +74,7 @@ public class KingJoffreyTest {
} }
private class InMemoryAppender extends AppenderBase<ILoggingEvent> { private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender(Class<?> clazz) { public InMemoryAppender(Class<?> clazz) {
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this); ((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);

View File

@ -33,9 +33,9 @@ public class Event implements IEvent, Runnable {
private static final Logger LOGGER = LoggerFactory.getLogger(Event.class); private static final Logger LOGGER = LoggerFactory.getLogger(Event.class);
private int eventId; private final int eventId;
private int eventTime; private final int eventTime;
private boolean isSynchronous; private final boolean isSynchronous;
private Thread thread; private Thread thread;
private boolean isComplete = false; private boolean isComplete = false;
private ThreadCompleteListener eventListener; private ThreadCompleteListener eventListener;

View File

@ -43,8 +43,8 @@ public class EventManager implements ThreadCompleteListener {
public static final int MAX_ID = MAX_RUNNING_EVENTS; public static final int MAX_ID = MAX_RUNNING_EVENTS;
public static final int MAX_EVENT_TIME = 1800; // in seconds / 30 minutes. public static final int MAX_EVENT_TIME = 1800; // in seconds / 30 minutes.
private int currentlyRunningSyncEvent = -1; private int currentlyRunningSyncEvent = -1;
private Random rand; private final Random rand;
private Map<Integer, Event> eventPool; private final Map<Integer, Event> eventPool;
private static final String DOES_NOT_EXIST = " does not exist."; private static final String DOES_NOT_EXIST = " does not exist.";

View File

@ -32,7 +32,7 @@ import com.iluwatar.eda.model.User;
*/ */
public class UserCreatedEvent extends AbstractEvent { public class UserCreatedEvent extends AbstractEvent {
private User user; private final User user;
public UserCreatedEvent(User user) { public UserCreatedEvent(User user) {
this.user = user; this.user = user;

View File

@ -32,7 +32,7 @@ import com.iluwatar.eda.model.User;
*/ */
public class UserUpdatedEvent extends AbstractEvent { public class UserUpdatedEvent extends AbstractEvent {
private User user; private final User user;
public UserUpdatedEvent(User user) { public UserUpdatedEvent(User user) {
this.user = user; this.user = user;

View File

@ -32,7 +32,7 @@ import java.util.Map;
*/ */
public class EventDispatcher { public class EventDispatcher {
private Map<Class<? extends Event>, Handler<? extends Event>> handlers; private final Map<Class<? extends Event>, Handler<? extends Event>> handlers;
public EventDispatcher() { public EventDispatcher() {
handlers = new HashMap<>(); handlers = new HashMap<>();

View File

@ -32,7 +32,7 @@ import com.iluwatar.eda.event.UserUpdatedEvent;
*/ */
public class User { public class User {
private String username; private final String username;
public User(String username) { public User(String username) {
this.username = username; this.username = username;

View File

@ -49,7 +49,7 @@ public class Audio {
private volatile Thread updateThread = null; private volatile Thread updateThread = null;
private PlayMessage[] pendingAudio = new PlayMessage[MAX_PENDING]; private final PlayMessage[] pendingAudio = new PlayMessage[MAX_PENDING];
// Visible only for testing purposes // Visible only for testing purposes
Audio() { Audio() {

View File

@ -35,7 +35,7 @@ public class Commander implements CommanderExtension {
private static final Logger LOGGER = LoggerFactory.getLogger(Commander.class); private static final Logger LOGGER = LoggerFactory.getLogger(Commander.class);
private CommanderUnit unit; private final CommanderUnit unit;
public Commander(CommanderUnit commanderUnit) { public Commander(CommanderUnit commanderUnit) {
this.unit = commanderUnit; this.unit = commanderUnit;

View File

@ -35,7 +35,7 @@ public class Sergeant implements SergeantExtension {
private static final Logger LOGGER = LoggerFactory.getLogger(Sergeant.class); private static final Logger LOGGER = LoggerFactory.getLogger(Sergeant.class);
private SergeantUnit unit; private final SergeantUnit unit;
public Sergeant(SergeantUnit sergeantUnit) { public Sergeant(SergeantUnit sergeantUnit) {
this.unit = sergeantUnit; this.unit = sergeantUnit;

View File

@ -34,7 +34,7 @@ import units.SoldierUnit;
public class Soldier implements SoldierExtension { public class Soldier implements SoldierExtension {
private static final Logger LOGGER = LoggerFactory.getLogger(Soldier.class); private static final Logger LOGGER = LoggerFactory.getLogger(Soldier.class);
private SoldierUnit unit; private final SoldierUnit unit;
public Soldier(SoldierUnit soldierUnit) { public Soldier(SoldierUnit soldierUnit) {
this.unit = soldierUnit; this.unit = soldierUnit;

View File

@ -83,7 +83,7 @@ public abstract class DwarvenMineWorker {
public abstract String name(); public abstract String name();
static enum Action { enum Action {
GO_TO_SLEEP, WAKE_UP, GO_HOME, GO_TO_MINE, WORK GO_TO_SLEEP, WAKE_UP, GO_HOME, GO_TO_MINE, WORK
} }
} }

View File

@ -110,7 +110,7 @@ public class DwarvenGoldmineFacadeTest {
private class InMemoryAppender extends AppenderBase<ILoggingEvent> { private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender() { public InMemoryAppender() {
((Logger) LoggerFactory.getLogger("root")).addAppender(this); ((Logger) LoggerFactory.getLogger("root")).addAppender(this);

View File

@ -32,7 +32,7 @@ import java.util.Map;
*/ */
public class ElfBlacksmith implements Blacksmith { public class ElfBlacksmith implements Blacksmith {
private static Map<WeaponType, ElfWeapon> ELFARSENAL; private static final Map<WeaponType, ElfWeapon> ELFARSENAL;
static { static {
ELFARSENAL = new HashMap<>(WeaponType.values().length); ELFARSENAL = new HashMap<>(WeaponType.values().length);

View File

@ -28,7 +28,7 @@ package com.iluwatar.factory.method;
*/ */
public class ElfWeapon implements Weapon { public class ElfWeapon implements Weapon {
private WeaponType weaponType; private final WeaponType weaponType;
public ElfWeapon(WeaponType weaponType) { public ElfWeapon(WeaponType weaponType) {
this.weaponType = weaponType; this.weaponType = weaponType;

View File

@ -32,7 +32,7 @@ import java.util.Map;
*/ */
public class OrcBlacksmith implements Blacksmith { public class OrcBlacksmith implements Blacksmith {
private static Map<WeaponType, OrcWeapon> ORCARSENAL; private static final Map<WeaponType, OrcWeapon> ORCARSENAL;
static { static {
ORCARSENAL = new HashMap<>(WeaponType.values().length); ORCARSENAL = new HashMap<>(WeaponType.values().length);

View File

@ -28,7 +28,7 @@ package com.iluwatar.factory.method;
*/ */
public class OrcWeapon implements Weapon { public class OrcWeapon implements Weapon {
private WeaponType weaponType; private final WeaponType weaponType;
public OrcWeapon(WeaponType weaponType) { public OrcWeapon(WeaponType weaponType) {
this.weaponType = weaponType; this.weaponType = weaponType;

View File

@ -30,7 +30,7 @@ public enum WeaponType {
SHORT_SWORD("short sword"), SPEAR("spear"), AXE("axe"), UNDEFINED(""); SHORT_SWORD("short sword"), SPEAR("spear"), AXE("axe"), UNDEFINED("");
private String title; private final String title;
WeaponType(String title) { WeaponType(String title) {
this.title = title; this.title = title;

View File

@ -42,7 +42,7 @@ import java.util.Properties;
*/ */
public class PropertiesFeatureToggleVersion implements Service { public class PropertiesFeatureToggleVersion implements Service {
private boolean isEnhanced; private final boolean isEnhanced;
/** /**
* Creates an instance of {@link PropertiesFeatureToggleVersion} using the passed {@link * Creates an instance of {@link PropertiesFeatureToggleVersion} using the passed {@link

View File

@ -29,7 +29,7 @@ package com.iluwatar.featuretoggle.user;
*/ */
public class User { public class User {
private String name; private final String name;
/** /**
* Default Constructor setting the username. * Default Constructor setting the username.

View File

@ -35,8 +35,8 @@ import java.util.List;
*/ */
public class UserGroup { public class UserGroup {
private static List<User> freeGroup = new ArrayList<>(); private static final List<User> freeGroup = new ArrayList<>();
private static List<User> paidGroup = new ArrayList<>(); private static final List<User> paidGroup = new ArrayList<>();
/** /**

View File

@ -94,7 +94,7 @@ public class App {
.filter(positives()) .filter(positives())
.first(4) .first(4)
.last(2) .last(2)
.map(number -> "String[" + valueOf(number) + "]") .map(number -> "String[" + number + "]")
.asList(); .asList();
prettyPrint("The lazy list contains the last two of the first four positive numbers " prettyPrint("The lazy list contains the last two of the first four positive numbers "
+ "mapped to Strings: ", lastTwoOfFirstFourStringMapped); + "mapped to Strings: ", lastTwoOfFirstFourStringMapped);

View File

@ -198,7 +198,7 @@ public class LazyFluentIterable<E> implements FluentIterable<E> {
@Override @Override
public Iterator<T> iterator() { public Iterator<T> iterator() {
return new DecoratingIterator<T>(null) { return new DecoratingIterator<T>(null) {
Iterator<E> oldTypeIterator = iterable.iterator(); final Iterator<E> oldTypeIterator = iterable.iterator();
@Override @Override
public T computeNext() { public T computeNext() {

View File

@ -28,7 +28,7 @@ package com.iluwatar.flux.action;
*/ */
public abstract class Action { public abstract class Action {
private ActionType type; private final ActionType type;
public Action(ActionType type) { public Action(ActionType type) {
this.type = type; this.type = type;

View File

@ -28,6 +28,6 @@ package com.iluwatar.flux.action;
*/ */
public enum ActionType { public enum ActionType {
MENU_ITEM_SELECTED, CONTENT_CHANGED; MENU_ITEM_SELECTED, CONTENT_CHANGED
} }

View File

@ -31,7 +31,7 @@ public enum Content {
PRODUCTS("Products - This page lists the company's products."), COMPANY( PRODUCTS("Products - This page lists the company's products."), COMPANY(
"Company - This page displays information about the company."); "Company - This page displays information about the company.");
private String title; private final String title;
Content(String title) { Content(String title) {
this.title = title; this.title = title;

View File

@ -28,7 +28,7 @@ package com.iluwatar.flux.action;
*/ */
public class ContentAction extends Action { public class ContentAction extends Action {
private Content content; private final Content content;
public ContentAction(Content content) { public ContentAction(Content content) {
super(ActionType.CONTENT_CHANGED); super(ActionType.CONTENT_CHANGED);

View File

@ -29,7 +29,7 @@ package com.iluwatar.flux.action;
*/ */
public class MenuAction extends Action { public class MenuAction extends Action {
private MenuItem menuItem; private final MenuItem menuItem;
public MenuAction(MenuItem menuItem) { public MenuAction(MenuItem menuItem) {
super(ActionType.MENU_ITEM_SELECTED); super(ActionType.MENU_ITEM_SELECTED);

View File

@ -30,7 +30,7 @@ public enum MenuItem {
HOME("Home"), PRODUCTS("Products"), COMPANY("Company"); HOME("Home"), PRODUCTS("Products"), COMPANY("Company");
private String title; private final String title;
MenuItem(String title) { MenuItem(String title) {
this.title = title; this.title = title;

View File

@ -39,7 +39,7 @@ public final class Dispatcher {
private static Dispatcher instance = new Dispatcher(); private static Dispatcher instance = new Dispatcher();
private List<Store> stores = new LinkedList<>(); private final List<Store> stores = new LinkedList<>();
private Dispatcher() { private Dispatcher() {
} }

View File

@ -33,7 +33,7 @@ import java.util.List;
*/ */
public abstract class Store { public abstract class Store {
private List<View> views = new LinkedList<>(); private final List<View> views = new LinkedList<>();
public abstract void onAction(Action action); public abstract void onAction(Action action);

View File

@ -34,8 +34,8 @@ public class AlchemistShop {
private static final Logger LOGGER = LoggerFactory.getLogger(AlchemistShop.class); private static final Logger LOGGER = LoggerFactory.getLogger(AlchemistShop.class);
private List<Potion> topShelf; private final List<Potion> topShelf;
private List<Potion> bottomShelf; private final List<Potion> bottomShelf;
/** /**
* Constructor. * Constructor.

View File

@ -36,7 +36,7 @@ import java.util.List;
*/ */
public class InMemoryAppender extends AppenderBase<ILoggingEvent> { public class InMemoryAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> log = new LinkedList<>(); private final List<ILoggingEvent> log = new LinkedList<>();
public InMemoryAppender() { public InMemoryAppender() {
((Logger) LoggerFactory.getLogger("root")).addAppender(this); ((Logger) LoggerFactory.getLogger("root")).addAppender(this);

View File

@ -95,7 +95,7 @@ public class App {
* ArithmeticSumTask. * ArithmeticSumTask.
*/ */
static class ArithmeticSumTask implements AsyncTask<Long> { static class ArithmeticSumTask implements AsyncTask<Long> {
private long numberOfElements; private final long numberOfElements;
public ArithmeticSumTask(long numberOfElements) { public ArithmeticSumTask(long numberOfElements) {
this.numberOfElements = numberOfElements; this.numberOfElements = numberOfElements;

View File

@ -48,7 +48,7 @@ public class AsynchronousService {
* tasks should be performed in the background which does not affect the performance of main * tasks should be performed in the background which does not affect the performance of main
* thread. * thread.
*/ */
private ExecutorService service; private final ExecutorService service;
/** /**
* Creates an asynchronous service using {@code workQueue} as communication channel between * Creates an asynchronous service using {@code workQueue} as communication channel between

View File

@ -32,7 +32,7 @@ import java.util.Map;
*/ */
public class InMemoryBank implements WireTransfers { public class InMemoryBank implements WireTransfers {
private static Map<String, Integer> accounts = new HashMap<>(); private static final Map<String, Integer> accounts = new HashMap<>();
static { static {
accounts accounts

View File

@ -34,7 +34,7 @@ import java.util.Optional;
*/ */
public class InMemoryTicketRepository implements LotteryTicketRepository { public class InMemoryTicketRepository implements LotteryTicketRepository {
private static Map<LotteryTicketId, LotteryTicket> tickets = new HashMap<>(); private static final Map<LotteryTicketId, LotteryTicket> tickets = new HashMap<>();
@Override @Override
public Optional<LotteryTicket> findById(LotteryTicketId id) { public Optional<LotteryTicket> findById(LotteryTicketId id) {

View File

@ -116,7 +116,7 @@ public class LotteryNumbers {
*/ */
private static class RandomNumberGenerator { private static class RandomNumberGenerator {
private PrimitiveIterator.OfInt randomIterator; private final PrimitiveIterator.OfInt randomIterator;
/** /**
* Initialize a new random number generator that generates random numbers in the range [min, * Initialize a new random number generator that generates random numbers in the range [min,

View File

@ -30,7 +30,7 @@ import java.util.concurrent.atomic.AtomicInteger;
*/ */
public class LotteryTicketId { public class LotteryTicketId {
private static AtomicInteger numAllocated = new AtomicInteger(0); private static final AtomicInteger numAllocated = new AtomicInteger(0);
private final int id; private final int id;
public LotteryTicketId() { public LotteryTicketId() {

Some files were not shown because too many files have changed in this diff Show More