/** * @version $Id: AbstractFlucDic.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2011/08/03 * @author shingo-takahashi * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.io.model.dic.abstraction; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; import com.tida_okinawa.corona.io.model.dic.IDicItem; import com.tida_okinawa.corona.io.model.dic.IFlucDic; /** * @author shingo-takahashi * */ public abstract class AbstractFlucDic extends AbstractDic implements IFlucDic { protected List<IDicItem> items = null; protected List<IDicItem> delItems = new ArrayList<IDicItem>(); private int projectId; public AbstractFlucDic(int id, String name, Date lasted) { super(id, name, lasted); } /** * @param id * @param name * @param lasted * @param parentId */ public AbstractFlucDic(int id, String name, Date lasted, Set<Integer> parentId) { super(id, name, lasted, parentId); } public void setProjectId(int projectId) { this.projectId = projectId; } public int getProjectId() { return projectId; } public void setItems(List<IDicItem> items) { this.items = items; } @Override public List<IDicItem> getItems() { if (items == null) { updateRecords(); } return items; } @Override public void addItem(IDicItem item) { // TODO superに作りたい if (items.add(item)) { ((DicItem) item).setInActive(false); ((DicItem) item).setDicId(getId()); delItems.remove(item); setDirty(true); } } @Override public void removeItem(IDicItem item) { // TODO superに作りたい if (item == null) return; if (items.remove(item)) { ((DicItem) item).setInActive(true); ((DicItem) item).setDicId(UNSAVED_ID); delItems.add(item); setDirty(true); } } /** * 外部辞書インポート * * @param path * */ @Override public void importDic(String path) { importDicDam(path); } abstract protected void importDicDam(String path); }