]> git.mxchange.org Git - jcontacts-core.git/blobdiff - src/org/mxchange/jcontacts/contact/UserContact.java
Email address should be optional
[jcontacts-core.git] / src / org / mxchange / jcontacts / contact / UserContact.java
index 8aeda22442d514c8002a5b05394bc16e1cdf6823..7d65e3b0ca2b79b2a0b35ca32fbd0437abeb5597 100644 (file)
@@ -31,6 +31,8 @@ import javax.persistence.Id;
 import javax.persistence.Index;
 import javax.persistence.JoinColumn;
 import javax.persistence.Lob;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
@@ -66,6 +68,15 @@ import org.mxchange.jphone.phonenumbers.landline.LandLineNumber;
                        )
                }
 )
+@NamedQueries (
+               {
+                       @NamedQuery( name = "AllContacts", query = "SELECT c FROM contacts AS c ORDER BY c.contactId ASC"),
+                       @NamedQuery( name = "AllContactEmailAddresses", query = "SELECT c.contactEmailAddress FROM contacts AS c ORDER BY c.contactId ASC"),
+                       @NamedQuery (name = "AllContactsByCellphone", query = "SELECT c FROM contacts AS c WHERE c.contactCellphoneNumber = :cellPhone ORDER BY c.contactId ASC"),
+                       @NamedQuery (name = "SearchContactById", query = "SELECT c FROM contacts AS c WHERE c.contactId = :contactId")
+               }
+)
+@SuppressWarnings ("PersistenceUnitPresent")
 public class UserContact implements Contact {
 
        /**
@@ -119,8 +130,7 @@ public class UserContact implements Contact {
        /**
         * Email address
         */
-       @Basic (optional = false)
-       @Column (name = "contact_email_address", length = 100, nullable = false)
+       @Column (name = "contact_email_address", length = 100)
        private String contactEmailAddress;
 
        /**
@@ -238,6 +248,12 @@ public class UserContact implements Contact {
 
        @Override
        public void copyAll (final Contact contact) {
+               // Contact should be valid
+               if (null == contact) {
+                       // Throw NPE
+                       throw new NullPointerException("contact is null"); //NOI18N
+               }
+
                // Copy all:
                // - base data
                this.setContactFirstName(contact.getContactFirstName());