]> git.mxchange.org Git - jcontacts-business-core.git/blobdiff - src/org/mxchange/jcontactsbusiness/opening_times/BusinessOpeningTimes.java
let's make sure that serial numbers of objects are never persisted (being ignored...
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / opening_times / BusinessOpeningTimes.java
index bffed5dac462926ecd42a01808077cb70fa14129..d297db2637a00614cb7f1658a9f45d4b7cab4c93 100644 (file)
@@ -30,6 +30,7 @@ import javax.persistence.Id;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
+import javax.persistence.Transient;
 
 /**
  * A POJO for business opening hours
@@ -38,11 +39,13 @@ import javax.persistence.TemporalType;
  */
 @Entity (name = "company_opening_times")
 @Table (name = "company_opening_times")
+@SuppressWarnings ("PersistenceUnitPresent")
 public class BusinessOpeningTimes implements OpeningTimes {
 
        /**
         * Serial number
         */
+       @Transient
        private static final long serialVersionUID = 19_578_871_756_871L;
 
        /**
@@ -56,7 +59,7 @@ public class BusinessOpeningTimes implements OpeningTimes {
         * Ending time (hh:mm)
         */
        @Basic (optional = false)
-       @Column (name = "opening_times_end_time")
+       @Column (name = "opening_times_end_time", nullable = false)
        @Temporal (TemporalType.TIME)
        private Calendar endTime;
 
@@ -80,10 +83,49 @@ public class BusinessOpeningTimes implements OpeningTimes {
         * Starting time (hh:mm)
         */
        @Basic (optional = false)
-       @Column (name = "opening_times_start_time")
+       @Column (name = "opening_times_start_time", nullable = false)
        @Temporal (TemporalType.TIME)
        private Calendar startTime;
 
+       /**
+        * Default constructor
+        */
+       public BusinessOpeningTimes () {
+       }
+
+       /**
+        * Constructor with all field
+        * <p>
+        * @param endDay    End day
+        * @param endTime   End time
+        * @param id        Id number
+        * @param startDay  Start day
+        * @param startTime Start time
+        */
+       public BusinessOpeningTimes (final DayOfWeek endDay, final Calendar endTime, final Long id, final DayOfWeek startDay, final Calendar startTime) {
+               // Call other constructor
+               this(endDay, endTime, startDay, startTime);
+
+               // Set id number
+               this.id = id;
+       }
+
+       /**
+        * Constructor with all fields except id number
+        * <p>
+        * @param endDay    End day
+        * @param endTime   End time
+        * @param startDay  Start day
+        * @param startTime Start time
+        */
+       public BusinessOpeningTimes (final DayOfWeek endDay, final Calendar endTime, final DayOfWeek startDay, final Calendar startTime) {
+               // Set all fields
+               this.endDay = endDay;
+               this.endTime = endTime;
+               this.startDay = startDay;
+               this.startTime = startTime;
+       }
+
        @Override
        public boolean equals (final Object obj) {
                if (this == obj) {
@@ -135,11 +177,13 @@ public class BusinessOpeningTimes implements OpeningTimes {
        }
 
        @Override
+       @SuppressWarnings ("ReturnOfDateField")
        public Calendar getEndTime () {
                return this.endTime;
        }
 
        @Override
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
        public void setEndTime (final Calendar endTime) {
                this.endTime = endTime;
        }
@@ -165,11 +209,13 @@ public class BusinessOpeningTimes implements OpeningTimes {
        }
 
        @Override
+       @SuppressWarnings ("ReturnOfDateField")
        public Calendar getStartTime () {
                return this.startTime;
        }
 
        @Override
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
        public void setStartTime (final Calendar startTime) {
                this.startTime = startTime;
        }