diff --git a/04/lib/annotations-java8.jar b/04/lib/annotations-java8.jar new file mode 100644 index 0000000..8216021 Binary files /dev/null and b/04/lib/annotations-java8.jar differ diff --git a/04/src/PersistenceManager.java b/04/src/PersistenceManager.java index 80a2f37..6164cd1 100644 --- a/04/src/PersistenceManager.java +++ b/04/src/PersistenceManager.java @@ -1,20 +1,28 @@ +import org.jetbrains.annotations.Contract; + /** * Persistence manager using the Singleton pattern. */ public class PersistenceManager { - private static PersistenceManager instance = null; + private final static PersistenceManager instance; + + static { + try { + instance = new PersistenceManager(); + } + catch (Throwable e) { + throw new RuntimeException(e.getMessage()); + } + } /** * Returns an instance of the persistence manager. * @return instance */ + @Contract(pure = true) public static PersistenceManager getInstance() { - if (instance == null) { - instance = new PersistenceManager(); - } - return instance; }