View Javadoc

1   package de.tivsource.page.entity.contentitem;
2   
3   import java.util.Map;
4   
5   import javax.persistence.CascadeType;
6   import javax.persistence.Entity;
7   import javax.persistence.FetchType;
8   import javax.persistence.Inheritance;
9   import javax.persistence.InheritanceType;
10  import javax.persistence.MapKey;
11  import javax.persistence.OneToMany;
12  
13  import org.hibernate.envers.Audited;
14  
15  import de.tivsource.page.entity.enumeration.Language;
16  import de.tivsource.page.entity.pictureitem.PictureItem;
17  
18  /**
19   * 
20   * @author Marc Michele
21   *
22   */
23  @Audited
24  @Entity
25  @Inheritance(strategy = InheritanceType.JOINED)
26  public abstract class ContentItem extends PictureItem implements Comparable<ContentItem> {
27  
28      /**
29       * Die Map mit dem Inhalt des Objektes, die Angabe ist Lokalisiert.
30       */
31      @OneToMany(mappedBy = "contentItem", cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
32      @MapKey(name = "language")
33      private Map<Language, Content> contentMap;
34  
35      public Map<Language, Content> getContentMap() {
36          return contentMap;
37      }
38  
39      public void setContentMap(Map<Language, Content> contentMap) {
40          this.contentMap = contentMap;
41      }
42  
43      public String getContent(String language) {
44          String result = contentMap.get(Language.DE).getContent();
45          String tmpResult = contentMap.get(Language.DE).getContent();
46          try {
47              tmpResult = contentMap
48                      .get(Language.valueOf(language.toUpperCase())).getContent();
49          } catch (IllegalArgumentException e) {
50              return result;
51          } catch (NullPointerException e) {
52              return result;
53          }
54          return tmpResult;
55      }
56  
57      public String getContent(Language language) {
58          String result = contentMap.get(Language.DE).getContent();
59          String tmpResult = contentMap.get(Language.DE).getContent();
60  
61          try {
62              tmpResult = contentMap.get(language).getContent();
63          } catch (IllegalArgumentException e) {
64              return result;
65          } catch (NullPointerException e) {
66              return result;
67          }
68          return tmpResult;
69      }
70  
71      public Content getContentObject(Language language) {
72          Content result = contentMap.get(Language.DE);
73          Content tmpResult = contentMap.get(Language.DE);
74          try {
75              tmpResult = contentMap.get(language);
76          } catch (IllegalArgumentException e) {
77              return result;
78          } catch (NullPointerException e) {
79              return result;
80          }
81          return tmpResult;
82      }
83  
84      public abstract String getUrl();
85  
86  }// Ende class