/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package kr.co.kihyun.beans.entity.ecross; import java.util.Date; import javax.jdo.JDOObjectNotFoundException; import javax.jdo.PersistenceManager; import javax.jdo.annotations.IdentityType; import javax.jdo.annotations.Inheritance; import javax.jdo.annotations.InheritanceStrategy; import javax.jdo.annotations.NullValue; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import kr.co.kihyun.beans.entity.MDept; import kr.co.kihyun.beans.entity.MUser; import kr.co.kihyun.beans.entity.Memo; import kr.co.kihyun.beans.entity.TotDoc; import kr.co.kihyun.beans.entity.TotReport; import kr.co.kihyun.beans.entity.util.MPersistenceManager; /** * * @author bhs */ @PersistenceCapable(identityType = IdentityType.APPLICATION) @Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE) public abstract class ECrossMemo extends ECross { @Persistent private String contents; @Persistent private String groupId; @Persistent private Long id; @Persistent private String requestDept; @Persistent private String requestUser; @Persistent private String responseDept; @Persistent private String responseUser; @Persistent private Long totDoc; @Persistent private Long totReport; @Persistent(customValueStrategy = "timestamp", nullValue = NullValue.EXCEPTION) private Date writeDate; public ECrossMemo(Memo memo) { super(memo); this.setContents(memo.getContents()); this.setGroupId(memo.getGroupId()); this.setId(memo.getId()); this.setRequestDept(memo.getRequestDept()); this.setRequestUser(null); this.setResponseDept(memo.getResponseDept()); this.setResponseUser(null); this.setTotDoc(memo.getTotDoc()); this.setTotReport(memo.getTotReport()); this.setWriteDate(memo.getWriteDate()); } @Override protected Memo setFieldValues(MPersistenceManager pm, Memo memo) { memo.setContents(contents); memo.setGroupId(groupId); memo.setRequestDept(requestDept == null ? null : pm.getObjectById(MDept.class, requestDept)); memo.setRequestUser(null); memo.setResponseDept(responseDept == null ? null : pm.getObjectById(MDept.class, responseDept)); memo.setResponseUser(null); memo.setTotDoc(totDoc == null ? null : pm.getObjectById(TotDoc.class, totDoc)); memo.setTotReport(totReport == null ? null : pm.getObjectById(TotReport.class, totReport)); memo.setWriteDate(writeDate); return memo; } public String getContents() { return this.contents; } public String getGroupId() { return this.groupId; } /** * @return the id */ public Long getId() { return id; } public MDept getRequestDept(PersistenceManager pm) { try { return pm.getObjectById(MDept.class, this.requestDept); } catch (JDOObjectNotFoundException jonfe) { return null; } } public MUser getRequestUser(PersistenceManager pm) { try { return pm.getObjectById(MUser.class, this.requestUser); } catch (JDOObjectNotFoundException jonfe) { return null; } } public MDept getResponseDept(PersistenceManager pm) { try { return pm.getObjectById(MDept.class, this.responseDept); } catch (JDOObjectNotFoundException jonfe) { return null; } } public MUser getResponseUser(PersistenceManager pm) { try { return pm.getObjectById(MUser.class, this.responseUser); } catch (JDOObjectNotFoundException jonfe) { return null; } } public Date getWriteDate() { return this.writeDate; } public void setContents(String contents) { this.contents = contents; } public void setGroupId(String gid) { this.groupId = gid; } /** * @param id * the id to set */ public void setId(Long id) { this.id = id; } public void setRequestDept(String requestDept) { this.requestDept = requestDept; } public void setRequestUser(MUser mUser) { if (requestUser == null) { this.requestUser = null; } else { this.requestUser = mUser.getId(); } } public void setResponseDept(String responseDept) { this.responseDept = responseDept; } public void setResponseUser(MUser mUser) { if (responseUser == null) { this.responseUser = null; } else { this.responseUser = mUser.getId(); } } public void setTotDoc(TotDoc doc) { this.totDoc = doc == null ? null : doc.getId(); } public void setTotReport(TotReport totReport) { this.totReport = totReport == null ? null : totReport.getId(); } public void setWriteDate(Date writeDate) { this.writeDate = writeDate; } }