package org.insightech.er.editor.model.dbexport.ddl.validator.rule.view; import java.util.ArrayList; import java.util.List; import org.insightech.er.db.DBManager; import org.insightech.er.db.DBManagerFactory; import org.insightech.er.editor.model.ERDiagram; import org.insightech.er.editor.model.dbexport.ddl.validator.ValidateResult; import org.insightech.er.editor.model.dbexport.ddl.validator.rule.BaseRule; import org.insightech.er.editor.model.diagram_contents.element.node.view.View; public abstract class ViewRule extends BaseRule { private List<ValidateResult> errorList; private String database; public ViewRule() { this.errorList = new ArrayList<ValidateResult>(); } /** * {@inheritDoc} */ @Override protected void addError(ValidateResult errorMessage) { this.errorList.add(errorMessage); } /** * {@inheritDoc} */ @Override public List<ValidateResult> getErrorList() { return this.errorList; } /** * {@inheritDoc} */ @Override public void clear() { this.errorList.clear(); } public boolean validate(ERDiagram diagram) { this.database = diagram.getDatabase(); for (View view : diagram.getDiagramContents().getContents() .getViewSet()) { if (!this.validate(view)) { return false; } } return true; } protected DBManager getDBManager() { return DBManagerFactory.getDBManager(this.database); } abstract public boolean validate(View view); }