]> git.mxchange.org Git - addressbook-lib.git/blobdiff - src/org/mxchange/addressbook/model/addressbook/UserAddressbook.java
Fixed getter calls, the new ones are more descriptive.
[addressbook-lib.git] / src / org / mxchange / addressbook / model / addressbook / UserAddressbook.java
index fe9a5c34b6f0f1fdd5006c8c1813bd0142e5ac2a..ce02a368e7baab00b213bc10d385d10e3fe3cefa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Roland Haeder
+ * Copyright (C) 2016 Roland Haeder
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -42,7 +42,7 @@ import org.mxchange.jusercore.model.user.User;
 /**
  * A POJO for user addressbooks
  * <p>
- * @author Roland Haeder
+ * @author Roland Haeder<roland@mxchange.org>
  */
 @Entity (name = "addressbooks")
 @Table (name = "addressbooks")
@@ -53,7 +53,7 @@ import org.mxchange.jusercore.model.user.User;
                        @NamedQuery (name = "SearchAddressbookById", query = "SELECT a FROM addressbooks AS a WHERE a.addressbookId = :id")
                }
 )
-public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
+public class UserAddressbook implements Addressbook {
 
        /**
         * Serial number
@@ -73,9 +73,23 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
         */
        @Id
        @GeneratedValue (strategy = GenerationType.IDENTITY)
-       @Column (name = "addressbook_id", length = 20, nullable = false, updatable = false)
+       @Column (name = "addressbook_id", nullable = false, updatable = false)
        private Long addressbookId;
 
+       /**
+        * Last locked timestamp
+        */
+       @Temporal (TemporalType.TIMESTAMP)
+       @Column (name = "addressbook_last_locked")
+       private Calendar addressbookLastLocked;
+
+       /**
+        * Last locked timestamp
+        */
+       @Lob
+       @Column (name = "addressbook_last_locked_reason")
+       private String addressbookLastLockedReason;
+
        /**
         * Name for this address book
         */
@@ -95,48 +109,61 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
         * Connection to "users" table
         */
        @JoinColumn (name = "addressbook_user_id", nullable = false)
-       @OneToOne (targetEntity = LoginUser.class, optional = false, cascade = CascadeType.MERGE)
+       @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH, optional = false)
        private User addressbookUser;
 
-       /**
-        * Last locked timestamp
-        */
-       @Temporal (TemporalType.TIMESTAMP)
-       @Column (name = "addressbook_last_locked")
-       private Calendar addressbookLastLocked;
-
-       /**
-        * Last locked timestamp
-        */
-       @Lob
-       @Column (name = "addressbook_last_locked_reason")
-       private String addressbookLastLockedReason;
-
        /**
         * Public constructor with address book name
         * <p>
         * @param addressbookName Address book name
         * @param addressbookUser User instance
-        * @param addressbookCreated When this entry has been created
         */
-       public UserAddressbook (final String addressbookName, final User addressbookUser, final Calendar addressbookCreated) {
+       public UserAddressbook (final String addressbookName, final User addressbookUser) {
                // Call default constructor
                this();
 
-               // Set name, user instance and creation timestamp
+               // Set name, user instance
                this.addressbookName = addressbookName;
                this.addressbookUser = addressbookUser;
-               this.addressbookCreated = addressbookCreated;
        }
 
        /**
-        * Default protected constructor
+        * Default constructor
         */
-       protected UserAddressbook () {
+       public UserAddressbook () {
                // Set status to UNLOCKED
                this.addressbookStatus = AddressbokStatus.UNLOCKED;
        }
 
+       @Override
+       public boolean equals (final Object object) {
+               if (this == object) {
+                       return true;
+               } else if (null == object) {
+                       return false;
+               } else if (this.getClass() != object.getClass()) {
+                       return false;
+               }
+
+               final Addressbook other = (Addressbook) object;
+
+               if (!Objects.equals(this.getAddressbookName(), other.getAddressbookName())) {
+                       return false;
+               } else if (!Objects.equals(this.getAddressbookUser(), other.getAddressbookUser())) {
+                       return false;
+               }
+
+               return true;
+       }
+
+       @Override
+       public int hashCode () {
+               int hash = 7;
+               hash = 59 * hash + Objects.hashCode(this.getAddressbookName());
+               hash = 59 * hash + Objects.hashCode(this.getAddressbookUser());
+               return hash;
+       }
+
        @Override
        public Calendar getAddressbookCreated () {
                return this.addressbookCreated;
@@ -207,35 +234,4 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
                this.addressbookUser = addressbookUser;
        }
 
-       @Override
-       public int compareTo (final Addressbook addressbook) {
-               throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
-       }
-
-       @Override
-       public boolean equals (final Object object) {
-               if (object == null) {
-                       return false;
-               } else if (getClass() != object.getClass()) {
-                       return false;
-               }
-
-               final Addressbook other = (Addressbook) object;
-
-               if (!Objects.equals(this.getAddressbookName(), other.getAddressbookName())) {
-                       return false;
-               } else if (!Objects.equals(this.getAddressbookUser(), other.getAddressbookUser())) {
-                       return false;
-               }
-
-               return true;
-       }
-
-       @Override
-       public int hashCode () {
-               int hash = 7;
-               hash = 59 * hash + Objects.hashCode(this.getAddressbookName());
-               hash = 59 * hash + Objects.hashCode(this.getAddressbookUser());
-               return hash;
-       }
 }