comparison src/main/java/edu/harvard/iq/dataverse/MetadataBlock.java @ 10:a50cf11e5178

Rewrite LGDataverse completely upgrading to dataverse4.0
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Tue, 08 Sep 2015 17:00:21 +0200
parents
children
comparison
equal deleted inserted replaced
9:5926d6419569 10:a50cf11e5178
1 package edu.harvard.iq.dataverse;
2
3 import java.io.Serializable;
4 import java.util.List;
5 import java.util.Objects;
6 import javax.persistence.CascadeType;
7 import javax.persistence.Column;
8 import javax.persistence.Entity;
9 import javax.persistence.GeneratedValue;
10 import javax.persistence.GenerationType;
11 import javax.persistence.Id;
12 import javax.persistence.JoinColumn;
13 import javax.persistence.NamedQueries;
14 import javax.persistence.NamedQuery;
15 import javax.persistence.OneToMany;
16 import javax.persistence.OneToOne;
17 import javax.persistence.OrderBy;
18 import javax.persistence.Transient;
19
20 /**
21 *
22 * @author skraffmiller
23 */
24 @NamedQueries({
25 @NamedQuery( name="MetadataBlock.listAll", query = "SELECT mdb FROM MetadataBlock mdb"),
26 @NamedQuery( name="MetadataBlock.findByName", query = "SELECT mdb FROM MetadataBlock mdb WHERE mdb.name=:name")
27 })
28 @Entity
29 public class MetadataBlock implements Serializable {
30
31 private static final long serialVersionUID = 1L;
32
33 @Id
34 @GeneratedValue(strategy = GenerationType.IDENTITY)
35 private Long id;
36
37 @Column( nullable = false )
38 private String name;
39 @Column( nullable = false )
40 private String displayName;
41
42 public Long getId() {
43 return id;
44 }
45 public void setId(Long id) {
46 this.id = id;
47 }
48
49 public String getName() {
50 return name;
51 }
52 public void setName(String name) {
53 this.name = name;
54 }
55
56 @OneToMany(mappedBy = "metadataBlock", cascade = {CascadeType.REMOVE, CascadeType.MERGE, CascadeType.PERSIST})
57 @OrderBy("displayOrder")
58 private List<DatasetFieldType> datasetFieldTypes;
59 public List<DatasetFieldType> getDatasetFieldTypes() {
60 return datasetFieldTypes;
61 }
62
63 public void setDatasetFieldTypes(List<DatasetFieldType> datasetFieldTypes) {
64 this.datasetFieldTypes = datasetFieldTypes;
65 }
66
67 public boolean isDisplayOnCreate() {
68 for (DatasetFieldType dsfType : datasetFieldTypes) {
69 if (dsfType.isDisplayOnCreate()) {
70 return true;
71 }
72 }
73 return false;
74 }
75
76 public String getDisplayName() {
77 return displayName;
78 }
79 public void setDisplayName(String displayName) {
80 this.displayName = displayName;
81 }
82
83 public boolean isRequired() {
84 // eventually this will be dynamic, for now only citation is required
85 return "citation".equals(name);
86 }
87
88 @OneToOne
89 @JoinColumn(name="owner_id", unique=false, nullable=true, insertable=true, updatable=true)
90 private Dataverse owner;
91
92 public Dataverse getOwner() {
93 return owner;
94 }
95
96 public void setOwner(Dataverse owner) {
97 this.owner = owner;
98 }
99
100 @Transient
101 private boolean empty;
102
103 public boolean isEmpty() {
104 return empty;
105 }
106
107 public void setEmpty(boolean empty) {
108 this.empty = empty;
109 }
110
111 @Transient
112 private boolean selected;
113
114 public void setSelected(boolean selected) {
115 this.selected = selected;
116 }
117
118 public boolean isSelected() {
119 return selected;
120 }
121
122 @Transient
123 private boolean hasRequired;
124
125 public void setHasRequired(boolean hasRequired) {
126 this.hasRequired = hasRequired;
127 }
128
129 public boolean isHasRequired() {
130 return hasRequired;
131 }
132
133 public String getIdString(){
134 return id.toString();
135 }
136
137 @Transient
138 private boolean showDatasetFieldTypes;
139
140 public void setShowDatasetFieldTypes(boolean showDatasetFieldTypes) {
141 this.showDatasetFieldTypes = showDatasetFieldTypes;
142 }
143
144 public boolean isShowDatasetFieldTypes() {
145 return showDatasetFieldTypes;
146 }
147
148 @Override
149 public int hashCode() {
150 int hash = 0;
151 hash += (this.id != null ? this.id.hashCode() : 0);
152 return hash;
153 }
154
155 @Override
156 public boolean equals(Object object) {
157 if (!(object instanceof MetadataBlock)) {
158 return false;
159 }
160 MetadataBlock other = (MetadataBlock) object;
161 return !(!Objects.equals(this.id, other.id) && (this.id == null || !this.id.equals(other.id)));
162 }
163
164 @Override
165 public String toString() {
166 return "edu.harvard.iq.dataverse.MetadataBlock[ id=" + id + " ]";
167 }
168
169 }