]> git.mxchange.org Git - jaddressbook-share-lib.git/blobdiff - src/org/mxchange/addressbook/model/addressbook/UserAddressbook.java
resorted members + added this.
[jaddressbook-share-lib.git] / src / org / mxchange / addressbook / model / addressbook / UserAddressbook.java
index 82dc36d8181a58f70032e98e8252ad8edf66e6c4..80d72641bc8475a1f1dc5a26846a45559caa4806 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
@@ -28,6 +28,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.OneToOne;
@@ -75,6 +76,20 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
        @Column (name = "addressbook_id", length = 20, 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
         */
@@ -101,19 +116,25 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
         * 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) {
+       public UserAddressbook (final String addressbookName, final User addressbookUser, final Calendar addressbookCreated) {
                // Call default constructor
                this();
 
-               // Set name
+               // Set name, user instance and creation timestamp
                this.addressbookName = addressbookName;
+               this.addressbookUser = addressbookUser;
+               this.addressbookCreated = addressbookCreated;
        }
 
        /**
         * Default protected constructor
         */
        protected UserAddressbook () {
+               // Set status to UNLOCKED
+               this.addressbookStatus = AddressbokStatus.UNLOCKED;
        }
 
        @Override
@@ -125,7 +146,7 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
        public boolean equals (final Object object) {
                if (object == null) {
                        return false;
-               } else if (getClass() != object.getClass()) {
+               } else if (this.getClass() != object.getClass()) {
                        return false;
                }
 
@@ -140,6 +161,14 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
                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;
@@ -160,6 +189,26 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
                this.addressbookId = addressbookId;
        }
 
+       @Override
+       public Calendar getAddressbookLastLocked () {
+               return this.addressbookLastLocked;
+       }
+
+       @Override
+       public void setAddressbookLastLocked (final Calendar addressbookLastLocked) {
+               this.addressbookLastLocked = addressbookLastLocked;
+       }
+
+       @Override
+       public String getAddressbookLastLockedReason () {
+               return this.addressbookLastLockedReason;
+       }
+
+       @Override
+       public void setAddressbookLastLockedReason (final String addressbookLastLockedReason) {
+               this.addressbookLastLockedReason = addressbookLastLockedReason;
+       }
+
        @Override
        public String getAddressbookName () {
                return this.addressbookName;
@@ -190,11 +239,4 @@ public class UserAddressbook implements Addressbook, Comparable<Addressbook> {
                this.addressbookUser = addressbookUser;
        }
 
-       @Override
-       public int hashCode () {
-               int hash = 7;
-               hash = 59 * hash + Objects.hashCode(this.getAddressbookName());
-               hash = 59 * hash + Objects.hashCode(this.getAddressbookUser());
-               return hash;
-       }
 }