package open.dolphin.project; import java.util.HashMap; import java.util.Map; import java.util.ResourceBundle; import open.dolphin.client.ClientContext; import open.dolphin.infomodel.IInfoModel; /** * CodeHelperSettingBean * * @author Kazushi Minagawa */ public final class CodeHelperSettingBean extends AbstractSettingBean { private String modifierKey; private String text; private String path; private String general; private String other; private String treatment; private String surgery; private String radiology; private String labo; private String physiology; private String bacteria; private String injection; private String rp; private String baseCharge; private String instraction; private String orca; private final Map<String, String[]> tagMap = new HashMap<>(5, 0.75f); public CodeHelperSettingBean() { ResourceBundle bundle = ClientContext.getMyBundle(this.getClass()); String controle = bundle.getString("ctrl"); String meta = bundle.getString("meta"); tagMap.put("modifierKey", new String[]{controle, meta}); } @Override public String[] propertyOrder() { return new String[]{ "modifierKey", "text", "path", "general", "other", "treatment", "surgery", "radiology", "labo", "physiology", "bacteria", "injection", "rp", "baseCharge", "instraction", "orca" }; } @Override public boolean isTagProperty(String property) { return tagMap.get(property)!=null; } @Override public String[] getTags(String property) { String[] ret = tagMap.get(property); return ret; } @Override public boolean isValidBean() { boolean ok = notEmpty(this.getText()); ok = ok && notEmpty(this.getPath()); ok = ok && notEmpty(this.getGeneral()); ok = ok && notEmpty(this.getOther()); ok = ok && notEmpty(this.getTreatment()); ok = ok && notEmpty(this.getSurgery()); ok = ok && notEmpty(this.getRadiology()); ok = ok && notEmpty(this.getLabo()); ok = ok && notEmpty(this.getPhysiology()); ok = ok && notEmpty(this.getBacteria()); ok = ok && notEmpty(this.getInjection()); ok = ok && notEmpty(this.getRp()); ok = ok && notEmpty(this.getBaseCharge()); ok = ok && notEmpty(this.getInstraction()); ok = ok && notEmpty(this.getOrca()); return ok; } /** * 設定した値をプレファレンスに保存する。 */ @Override public void store() { String test = getModifierKey().trim(); String value = test.equals(getTags("modifierKey")[1]) ? "meta" : "ctrl"; Project.setString("modifier", value); Project.setString(IInfoModel.ENTITY_TEXT, getText().trim()); Project.setString(IInfoModel.ENTITY_PATH, getPath().trim()); Project.setString(IInfoModel.ENTITY_GENERAL_ORDER, getGeneral().trim()); Project.setString(IInfoModel.ENTITY_OTHER_ORDER, getOther().trim()); Project.setString(IInfoModel.ENTITY_TREATMENT, getTreatment().trim()); Project.setString(IInfoModel.ENTITY_SURGERY_ORDER, getSurgery().trim()); Project.setString(IInfoModel.ENTITY_RADIOLOGY_ORDER, getRadiology().trim()); Project.setString(IInfoModel.ENTITY_LABO_TEST, getLabo().trim()); Project.setString(IInfoModel.ENTITY_PHYSIOLOGY_ORDER, getPhysiology().trim()); Project.setString(IInfoModel.ENTITY_BACTERIA_ORDER, getBacteria().trim()); Project.setString(IInfoModel.ENTITY_INJECTION_ORDER, getInjection().trim()); Project.setString(IInfoModel.ENTITY_MED_ORDER, getRp().trim()); Project.setString(IInfoModel.ENTITY_BASE_CHARGE_ORDER, getBaseCharge().trim()); Project.setString(IInfoModel.ENTITY_INSTRACTION_CHARGE_ORDER, getInstraction().trim()); Project.setString(IInfoModel.ENTITY_ORCA, getOrca().trim()); } /** * プレファレンスから値をGUIにセットする。 */ @Override public void populate() { String mask = ClientContext.isMac() ? "meta" : "ctrl"; String test = Project.getString("modifier", mask); String value = test.equals("meta") ? getTags("modifierKey")[1] : getTags("modifierKey")[0]; setModifierKey(value); setText(Project.getString(IInfoModel.ENTITY_TEXT, "tx").trim()); setPath(Project.getString(IInfoModel.ENTITY_PATH, "pat").trim()); setGeneral(Project.getString(IInfoModel.ENTITY_GENERAL_ORDER, "gen").trim()); setOther(Project.getString(IInfoModel.ENTITY_OTHER_ORDER, "oth").trim()); setTreatment(Project.getString(IInfoModel.ENTITY_TREATMENT, "tr").trim()); setSurgery(Project.getString(IInfoModel.ENTITY_SURGERY_ORDER, "sur").trim()); setRadiology(Project.getString(IInfoModel.ENTITY_RADIOLOGY_ORDER, "rad").trim()); setLabo(Project.getString(IInfoModel.ENTITY_LABO_TEST, "lab").trim()); setPhysiology(Project.getString(IInfoModel.ENTITY_PHYSIOLOGY_ORDER, "phy").trim()); setBacteria(Project.getString(IInfoModel.ENTITY_BACTERIA_ORDER, "bac").trim()); setInjection(Project.getString(IInfoModel.ENTITY_INJECTION_ORDER, "inj").trim()); setRp(Project.getString(IInfoModel.ENTITY_MED_ORDER, "rp").trim()); setBaseCharge(Project.getString(IInfoModel.ENTITY_BASE_CHARGE_ORDER, "base").trim()); setInstraction(Project.getString(IInfoModel.ENTITY_INSTRACTION_CHARGE_ORDER, "ins").trim()); setOrca(Project.getString(IInfoModel.ENTITY_ORCA, "orca").trim()); } public String getModifierKey() { return modifierKey; } public void setModifierKey(String modifierKey) { this.modifierKey = modifierKey; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getGeneral() { return general; } public void setGeneral(String general) { this.general = general; } public String getOther() { return other; } public void setOther(String other) { this.other = other; } public String getTreatment() { return treatment; } public void setTreatment(String treatment) { this.treatment = treatment; } public String getSurgery() { return surgery; } public void setSurgery(String surgery) { this.surgery = surgery; } public String getRadiology() { return radiology; } public void setRadiology(String radiology) { this.radiology = radiology; } public String getLabo() { return labo; } public void setLabo(String labo) { this.labo = labo; } public String getPhysiology() { return physiology; } public void setPhysiology(String physiology) { this.physiology = physiology; } public String getBacteria() { return bacteria; } public void setBacteria(String bacteria) { this.bacteria = bacteria; } public String getInjection() { return injection; } public void setInjection(String injection) { this.injection = injection; } public String getRp() { return rp; } public void setRp(String rp) { this.rp = rp; } public String getBaseCharge() { return baseCharge; } public void setBaseCharge(String baseCharge) { this.baseCharge = baseCharge; } public String getInstraction() { return instraction; } public void setInstraction(String instraction) { this.instraction = instraction; } public String getOrca() { return orca; } public void setOrca(String orca) { this.orca = orca; } }