package org.insightech.er.db.impl.mysql.tablespace; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import org.insightech.er.editor.model.diagram_contents.not_element.tablespace.TablespaceProperties; import org.insightech.er.util.Check; public class MySQLTablespaceProperties implements TablespaceProperties { private static final long serialVersionUID = 7900101196638704362L; private String dataFile; private String logFileGroup; private String extentSize; private String initialSize; private String engine; /** * dataFile を取得します. * * @return dataFile */ public String getDataFile() { return dataFile; } /** * dataFile を設定します. * * @param dataFile * dataFile */ public void setDataFile(String dataFile) { this.dataFile = dataFile; } /** * logFileGroup を取得します. * * @return logFileGroup */ public String getLogFileGroup() { return logFileGroup; } /** * logFileGroup を設定します. * * @param logFileGroup * logFileGroup */ public void setLogFileGroup(String logFileGroup) { this.logFileGroup = logFileGroup; } /** * extentSize を取得します. * * @return extentSize */ public String getExtentSize() { return extentSize; } /** * extentSize を設定します. * * @param extentSize * extentSize */ public void setExtentSize(String extentSize) { this.extentSize = extentSize; } /** * initialSize を取得します. * * @return initialSize */ public String getInitialSize() { return initialSize; } /** * initialSize を設定します. * * @param initialSize * initialSize */ public void setInitialSize(String initialSize) { this.initialSize = initialSize; } /** * engine を取得します. * * @return engine */ public String getEngine() { return engine; } /** * engine を設定します. * * @param engine * engine */ public void setEngine(String engine) { this.engine = engine; } /** * {@inheritDoc} */ @Override public TablespaceProperties clone() { MySQLTablespaceProperties properties = new MySQLTablespaceProperties(); properties.dataFile = this.dataFile; properties.engine = this.engine; properties.extentSize = this.extentSize; properties.initialSize = this.initialSize; properties.logFileGroup = this.logFileGroup; return properties; } public LinkedHashMap<String, String> getPropertiesMap() { LinkedHashMap<String, String> map = new LinkedHashMap<String, String>(); map.put("label.tablespace.data.file", this.getDataFile()); map.put("label.tablespace.log.file.group", this.getLogFileGroup()); map.put("label.tablespace.extent.size", this.getExtentSize()); map.put("label.tablespace.initial.size", this.getInitialSize()); map.put("label.storage.engine", this.getEngine()); return map; } public List<String> validate() { List<String> errorMessage = new ArrayList<String>(); if (Check.isEmptyTrim(this.getDataFile())) { errorMessage.add("error.tablespace.data.file.empty"); } if (Check.isEmptyTrim(this.getLogFileGroup())) { errorMessage.add("error.tablespace.log.file.group.empty"); } if (Check.isEmptyTrim(this.getEngine())) { errorMessage.add("error.tablespace.storage.engine.empty"); } return errorMessage; } }