c02dea6fcecf5153ca43bf539b79766c19615c15
[jpa-converters] / EierlegendeWollmilchSau.java
1 package de.juplo.jpa.converters;
2
3 import java.time.OffsetDateTime;
4 import java.time.ZonedDateTime;
5 import javax.persistence.Access;
6 import javax.persistence.AccessType;
7 import javax.persistence.Convert;
8 import javax.persistence.Entity;
9 import javax.persistence.GeneratedValue;
10 import javax.persistence.Id;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14
15 /**
16  *
17  * @author Kai Moritz
18  */
19 @Entity
20 @Access(AccessType.PROPERTY)
21 public class EierlegendeWollmilchSau
22 {
23   Logger log = LoggerFactory.getLogger(EierlegendeWollmilchSau.class);
24
25
26   Long id;
27
28   OffsetDateTime odt;
29   ZonedDateTime zdt;
30
31
32   @Id
33   @GeneratedValue
34   public Long getId()
35   {
36     return id;
37   }
38
39   public void setId(Long id)
40   {
41     this.id = id;
42   }
43
44
45   @Convert(converter = OffsetDateTimeConverter.class)
46   public OffsetDateTime getOdt()
47   {
48     log.trace("get OffsetDateTime: {}", odt);
49     return odt;
50   }
51
52   public void setOdt(OffsetDateTime odt)
53   {
54     log.trace("set OffsetDateTime: {}", odt);
55     this.odt = odt;
56   }
57
58   @Convert(converter = ZonedDateTimeConverter.class)
59   public ZonedDateTime getZdt()
60   {
61     log.trace("get ZonedDateTime: {}", zdt);
62     return zdt;
63   }
64
65   public void setZdt(ZonedDateTime zdt)
66   {
67     log.trace("set ZonedDateTime: {}", zdt);
68     this.zdt = zdt;
69   }
70
71
72   @Override
73   public String toString()
74   {
75     boolean first = true;
76     StringBuilder builder = new StringBuilder();
77     if (odt != null)
78     {
79       builder.append("OffsetDateTime: ");
80       builder.append(odt);
81       first = false;
82     }
83     if (zdt != null)
84     {
85       if (!first)
86         builder.append(", ");
87       builder.append("ZonedDateTime: ");
88       builder.append(zdt);
89       first = false;
90     }
91     return builder.toString();
92   }
93 }