001 /**
002 * Copyright 2005-2014 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.rice.edl.impl.extract;
017
018 import javax.persistence.CascadeType;
019 import javax.persistence.Column;
020 import javax.persistence.Entity;
021 import javax.persistence.FetchType;
022 import javax.persistence.GeneratedValue;
023 import javax.persistence.Id;
024 import javax.persistence.JoinColumn;
025 import javax.persistence.ManyToOne;
026 import javax.persistence.Table;
027 import javax.persistence.Version;
028
029 import org.kuali.rice.edl.framework.extract.FieldDTO;
030 import org.kuali.rice.krad.data.jpa.PortableSequenceGenerator;
031
032 import java.io.Serializable;
033
034 /**
035 *
036 *
037 *
038 * @author Kuali Rice Team (rice.collab@kuali.org)
039 *
040 */
041 @Entity
042 @Table(name="KREW_EDL_FLD_DMP_T")
043 public class Fields implements Serializable {
044
045 // private static final long serialVersionUID = -6136544551121011531L;
046
047 @Id
048 @GeneratedValue(generator="KREW_EDL_FLD_DMP_S")
049 @PortableSequenceGenerator(name = "KREW_EDL_FLD_DMP_S")
050 @Column(name="EDL_FIELD_DMP_ID")
051 private Long fieldId;
052
053 @Column(name="DOC_HDR_ID")
054 private String docId;
055
056 @Column(name="FLD_NM")
057 private String fieldName;
058
059 @Column(name="FLD_VAL")
060 private String fieldValue;
061
062 @Version
063 @Column(name="VER_NBR")
064 private Integer lockVerNbr;
065
066 @ManyToOne(fetch=FetchType.EAGER, cascade={CascadeType.PERSIST})
067 @JoinColumn(name="DOC_HDR_ID", insertable=false, updatable=false)
068 private Dump dump;
069
070 /**
071 * Returns the field id.
072 * @return the field id
073 */
074 public Long getFieldId() {
075 return fieldId;
076 }
077
078 /**
079 *
080 * @see #getFieldId()
081 */
082 public void setFieldId(Long fieldId) {
083 this.fieldId = fieldId;
084 }
085
086 /**
087 * Returns the doc id.
088 * @return the doc id
089 */
090 public String getDocId() {
091 return docId;
092 }
093
094 /**
095 *
096 * @see #getDocId()
097 */
098 public void setDocId(final String docId) {
099 this.docId = docId;
100 }
101
102 /**
103 * Returns the field value.
104 * @return the field value
105 */
106 public String getFieldValue() {
107 return fieldValue;
108 }
109
110 /**
111 *
112 * @see #getFieldValue()
113 */
114 public void setFieldValue(final String fieldValue) {
115 this.fieldValue = fieldValue;
116 }
117
118 /**
119 * Returns the field name.
120 * @return the field name
121 */
122 public String getFieldName() {
123 return fieldName;
124 }
125
126 /**
127 *
128 * @see #getFieldName()
129 */
130 public void setFieldName(final String filedName) {
131 this.fieldName = filedName;
132 }
133
134 /**
135 * Returns the lock version number.
136 * @return the lock version number
137 */
138 public Integer getLockVerNbr() {
139 return lockVerNbr;
140 }
141
142 /**
143 *
144 * @see #getLockVerNbr()
145 */
146 public void setLockVerNbr(final Integer lockVerNbr) {
147 this.lockVerNbr = lockVerNbr;
148 }
149
150 /**
151 * Returns a {@link Dump}
152 * @return a {@link Dump}
153 */
154 public Dump getDump() {
155 return dump;
156 }
157
158 /**
159 *
160 * @see #getDump()
161 */
162 public void setDump(final Dump dump) {
163 this.dump = dump;
164 }
165
166 /**
167 * Converts a {@link Fields} to a {@link FieldDTO}.
168 * @param field the {@link Fields} to convert.
169 * @return a {@link Fields}
170 */
171 public static FieldDTO to(Fields field) {
172 if (field == null) {
173 return null;
174 }
175 FieldDTO fieldDTO = new FieldDTO();
176 fieldDTO.setDocId(field.getDocId());
177 fieldDTO.setFieldName(field.getFieldName());
178 fieldDTO.setFieldValue(field.getFieldValue());
179 fieldDTO.setLockVerNbr(field.getLockVerNbr());
180 return fieldDTO;
181 }
182
183 /**
184 * Converts a {@link FieldDTO} to a {@link Fields}
185 * @param fieldDTO the {@link FieldDTO} to convert.
186 * @param dump a {@link Dump}
187 * @return a {@link Fields}
188 */
189 public static Fields from(FieldDTO fieldDTO, Dump dump) {
190 if (fieldDTO == null) {
191 return null;
192 }
193 Fields fields = new Fields();
194 fields.setDump(dump);
195 fields.setDocId(fieldDTO.getDocId());
196 fields.setFieldName(fieldDTO.getFiledName());
197 fields.setFieldValue(fieldDTO.getFieldValue());
198 fields.setLockVerNbr(fieldDTO.getLockVerNbr());
199 return fields;
200 }
201 }
202