package org.insightech.er.editor.model.diagram_contents.element.node.view; import org.insightech.er.ResourceString; import org.insightech.er.editor.model.ObjectModel; import org.insightech.er.editor.model.diagram_contents.element.node.table.TableView; import org.insightech.er.editor.model.diagram_contents.element.node.table.column.Column; import org.insightech.er.editor.model.diagram_contents.element.node.table.column.ColumnHolder; import org.insightech.er.editor.model.diagram_contents.element.node.table.column.NormalColumn; import org.insightech.er.editor.model.diagram_contents.element.node.table.properties.TableViewProperties; import org.insightech.er.editor.model.diagram_contents.element.node.view.properties.ViewProperties; public class View extends TableView implements ObjectModel, ColumnHolder { private static final long serialVersionUID = -4492787972500741281L; public static final String NEW_PHYSICAL_NAME = ResourceString .getResourceString("new.view.physical.name"); public static final String NEW_LOGICAL_NAME = ResourceString .getResourceString("new.view.logical.name"); private String sql; public View() { this.tableViewProperties = new ViewProperties(); } public String getSql() { return sql; } public void setSql(String sql) { this.sql = sql; } @Override public void addColumn(Column column) { if (column instanceof NormalColumn) { NormalColumn normalColumn = (NormalColumn) column; normalColumn.setAutoIncrement(false); normalColumn.setPrimaryKey(false); normalColumn.setUniqueKey(false); normalColumn.setNotNull(false); } this.columns.add(column); column.setColumnHolder(this); this.firePropertyChange(PROPERTY_CHANGE_COLUMNS, null, null); } @Override public View copyData() { View to = new View(); to.setSql(this.getSql()); super.copyTableViewData(to); to.tableViewProperties = this.getTableViewProperties().clone(); return to; } @Override public void restructureData(TableView to) { View view = (View) to; view.setSql(this.getSql()); super.restructureData(to); view.tableViewProperties = this.tableViewProperties.clone(); } /** * �r���[�𕡐����܂��B<br> * ����������́A���O��SQL�ƃv���p�e�B�̂݁B<br> * ��͕����ΏۊO�Ƃ��A�ォ�畡������B<br> */ @Override public View clone() { View clone = (View) super.clone(); // �v���p�e�B�𕡐����܂��B TableViewProperties cloneViewProperties = this.tableViewProperties .clone(); clone.tableViewProperties = cloneViewProperties; return clone; } public String getObjectType() { return "view"; } @Override public boolean needsUpdateOtherModel() { return true; } }