View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.entity.feedback;
5   
6   import java.util.Date;
7   import java.util.HashMap;
8   import java.util.Map;
9   
10  import javax.persistence.CollectionTable;
11  import javax.persistence.Column;
12  import javax.persistence.ElementCollection;
13  import javax.persistence.Entity;
14  import javax.persistence.FetchType;
15  import javax.persistence.Id;
16  import javax.persistence.JoinColumn;
17  import javax.persistence.MapKeyColumn;
18  import javax.persistence.Temporal;
19  
20  import org.hibernate.search.annotations.DocumentId;
21  
22  /**
23   * @author Marc Michele
24   *
25   */
26  @Entity
27  public class Feedback {
28  
29      /**
30       * UUID des Objektes der Klasse Feedback, diese ID ist einmalig über alle
31       * Objekte hinweg und sollte der bevorzugte weg sein auf bestimmte Objekte
32       * zuzugreifen.
33       */
34      @Id
35      @DocumentId
36      @Column(name="uuid", unique=true, length=42)
37      private String uuid;
38  
39      /**
40       * Nummer der Kasse zu der das Feedback abgegeben wird.
41       */
42      private String cashpoint;
43  
44      /**
45       * Nummer des Kassenbons des Einkaufs zu der das Feedback abgegeben wird.
46       */
47      private String voucher;
48  
49      /**
50       * Map aus UUIDs von FeebackOption-Objekten und der Bewertung als Integer.
51       */
52      @ElementCollection(fetch = FetchType.EAGER)
53      @MapKeyColumn(name="name", length = 64)
54      @Column(name="value")
55      @CollectionTable(name="Feedback_Answers", joinColumns=@JoinColumn(name="feedback_uuid"))
56      private Map<String, Integer> answers = new HashMap<String, Integer>();
57  
58      /**
59       * Kommentar
60       */
61      private String comment;
62  
63      /**
64       * Zeitpunkt an dem das Feedback abgegeben wurde.
65       */
66      @Temporal(javax.persistence.TemporalType.TIMESTAMP)
67      private Date created;
68  
69      /**
70       * IP-Adresse von der aus das Feedback abgegeben wurde.
71       */
72      private String createdAddress;
73  
74      public Feedback() {
75          super();
76      }
77  
78      public String getUuid() {
79          return uuid;
80      }
81  
82      public void setUuid(String uuid) {
83          this.uuid = uuid;
84      }
85  
86      public String getCashpoint() {
87          return cashpoint;
88      }
89  
90      public void setCashpoint(String cashpoint) {
91          this.cashpoint = cashpoint;
92      }
93  
94      public String getVoucher() {
95          return voucher;
96      }
97  
98      public void setVoucher(String voucher) {
99          this.voucher = voucher;
100     }
101 
102     public Map<String, Integer> getAnswers() {
103         return answers;
104     }
105 
106     public void setAnswers(Map<String, Integer> answers) {
107         this.answers = answers;
108     }
109 
110     public String getComment() {
111         return comment;
112     }
113 
114     public void setComment(String comment) {
115         this.comment = comment;
116     }
117 
118     public Date getCreated() {
119         return created;
120     }
121 
122     public void setCreated(Date created) {
123         this.created = created;
124     }
125 
126     public String getCreatedAddress() {
127         return createdAddress;
128     }
129 
130     public void setCreatedAddress(String createdAddress) {
131         this.createdAddress = createdAddress;
132     }
133 
134 }// Ende class