package open.dolphin.converter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import open.dolphin.infomodel.*;
/**
*
* @author Kazushi Minagawa, Digital Globe, Inc.
*/
public final class DocumentModelConverter implements IInfoModelConverter {
private DocumentModel model;
public DocumentModelConverter() {
}
//----------------------------------------------------
public long getId() {
return model.getId();
}
public Date getConfirmed() {
return model.getConfirmed();
}
public Date getStarted() {
return model.getStarted();
}
public Date getEnded() {
return model.getEnded();
}
public Date getRecorded() {
return model.getRecorded();
}
public long getLinkId() {
return model.getLinkId();
}
public String getLinkRelation() {
return model.getLinkRelation();
}
public String getStatus() {
return model.getStatus();
}
// // @ManyToOne 外部制約
// public UserModel getUserModel() {
// return model.getUserModel();
// }
//
// // @ManyToOne 外部制約
// public KarteBean getKarteBean() {
// return model.getKarteBean();
// }
public UserModelConverter getUserModel() {
if (model.getUserModel()!=null) {
UserModelConverter con = new UserModelConverter();
con.setModel(model.getUserModel());
return con;
}
return null;
}
public KarteBeanConverter getKarteBean() {
if (model.getKarteBean()!=null) {
KarteBeanConverter con = new KarteBeanConverter();
con.setModel(model.getKarteBean());
return con;
}
return null;
}
//-----------------------------------------------------------
public DocInfoModelConverter getDocInfoModel() {
if (model.getDocInfoModel()!=null) {
DocInfoModelConverter con = new DocInfoModelConverter();
con.setModel(model.getDocInfoModel());
return con;
}
return null;
}
public List<ModuleModelConverter> getModules() {
List<ModuleModel> list = model.getModules();
if (list==null || list.isEmpty()) {
return null;
}
List<ModuleModelConverter> ret = new ArrayList<ModuleModelConverter>();
for (ModuleModel m : list) {
ModuleModelConverter con = new ModuleModelConverter();
con.setModel(m);
ret.add(con);
}
return ret;
}
public List<SchemaModelConverter> getSchema() {
List<SchemaModel> list = model.getSchema();
if (list==null || list.isEmpty()) {
return null;
}
List<SchemaModelConverter> ret = new ArrayList<SchemaModelConverter>();
for (SchemaModel m : list) {
SchemaModelConverter con = new SchemaModelConverter();
con.setModel(m);
ret.add(con);
}
return ret;
}
public List<AttachmentModelConverter> getAttachment() {
List<AttachmentModel> list = model.getAttachment();
if (list==null || list.isEmpty()) {
return null;
}
List<AttachmentModelConverter> ret = new ArrayList<AttachmentModelConverter>();
for (AttachmentModel m : list) {
AttachmentModelConverter con = new AttachmentModelConverter();
con.setModel(m);
ret.add(con);
}
return ret;
}
@Override
public void setModel(IInfoModel m) {
this.model = (DocumentModel)m;
// 外部制約先の全ての情報は必要ないためPK以外の属性はnullにしたダミーモデルを設定する
KarteBean dummyKarteBean = PlistConverter.createDuumyKarteBean(model.getKarteBean().getId());
UserModel dummyUser = PlistConverter.createDummyUserModel(model.getUserModel().getId());
dummyUser.setCommonName(model.getUserModel().getCommonName());
model.setKarteBean(dummyKarteBean);
model.setUserModel(dummyUser);
}
}