Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java223
1 files changed, 0 insertions, 223 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java
deleted file mode 100644
index 34d0a15ff..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class DefaultPositionValidator implements IPositionMediator {
- private List _rules = new ArrayList();
-
- ActionData _actionData;
-
- /**
- * @return Returns the _actionData.
- */
- public ActionData getActionData() {
- return _actionData;
- }
-
- /**
- *
- */
- protected DefaultPositionValidator(ActionData actionData) {
- _actionData = actionData;
- initRules();
- }
-
- protected void initRules() {
- _rules.clear();
- _rules.add(new BasicPositionRule(this, _actionData));
- _rules.add(new IETablePositionRule(this, _actionData));
- _rules.add(new RootContainerPositionRule(this, _actionData));
- _rules.add(new JSFRootContainerPositionRule(this, _actionData));
- _rules.add(new WhitespacePositionMoveRule(this, _actionData));
- }
-
- /**
- * @return Returns the _rules.
- */
- public List getRules() {
- return _rules;
- }
-
- /**
- * @param _rules
- * The _rules to set.
- */
- protected void setRules(List rules) {
- _rules = rules;
- }
-
- protected void addRule(IValidationRule rule) {
- _rules.add(rule);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#hasEditableArea(org.w3c.dom.Node)
- */
- public boolean hasEditableArea(Target target) {
- boolean result = true;
- List _rules = getRules();
- for (int i = 0, n = _rules.size(); i < n; i++) {
- Object rule = _rules.get(i);
- if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).hasEditableArea(target);
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#isEditable(org.w3c.dom.Node)
- */
- public boolean isEditable(Target target) {
- Node node = target.getNode();
- boolean result = true;
- List _rules = getRules();
- for (int i = 0, n = _rules.size(); i < n; i++) {
- Object rule = _rules.get(i);
- if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).isEditable(new Target(node));
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#isValidPosition(org.eclipse.jst.pagedesigner.viewer.DesignPosition)
- */
- public boolean isValidPosition(DesignPosition position) {
- return isValidPosition(DOMPositionHelper.toDOMPosition(position));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#isValidPosition(org.eclipse.jst.pagedesigner.dom.IDOMPosition)
- */
- public boolean isValidPosition(IDOMPosition position) {
- position = EditHelper.ensureDOMPosition(position);
- boolean refLeft = true, refRight = true, result = true;
- if (position == null) {
- return false;
- }
- List _rules = getRules();
- for (int i = 0, n = _rules.size(); i < n; i++) {
- Object rule = _rules.get(i);
- if (rule instanceof IPositionRule) {
- // editable?
- result &= ((IPositionRule) rule).isEditable(new Target(position
- .getContainerNode()));
- if (result) {
- if (!position.isText()) {
-
- // ref1?
- Node node = EditModelQuery.getInstance().getSibling(
- position, true);
- if (node != null & refLeft) {
- refLeft &= ((IPositionRule) rule).canReference(
- new Target(node), false);
- }
- // ref2?
- node = EditModelQuery.getInstance().getSibling(
- position, false);
- if (node != null & refRight) {
- refRight = ((IPositionRule) rule).canReference(
- new Target(node), true);
- }
- if (!(refLeft | refRight)) {
- result = false;
- break;
- }
- }
- } else {
- break;
- }
- // }
- }
- }
- return (result & (refLeft | refRight));
- }
-
- /**
- * Adjust the position to an editable area.
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#getEditableContainer(org.eclipse.gef.EditPart)
- */
- public EditPart getEditableContainer(Target target) {
- EditPart part = target.getPart();
- if (hasEditableArea(target)) {
- return target.getPart();
- }
- while (part != null && !(part instanceof DocumentEditPart)) {
- if (hasEditableArea(target)) {
- break;
- }
- part = part.getParent();
- target = new Target(part);
- }
- if (part instanceof DocumentEditPart
- && RootContainerPositionRule.hasBasicContainers((Document) part
- .getModel())) {
- Node node = RootContainerPositionRule
- .getBasicContainer((Document) part.getModel());
- part = Target.resolvePart(node);
- }
- return part;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#canReference(org.w3c.dom.Node)
- */
- public boolean canReference(Target target, boolean atRight) {
- boolean result = true;
- List _rules = getRules();
- for (int i = 0, n = _rules.size(); i < n; i++) {
- Object rule = _rules.get(i);
- if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).canReference(target, atRight);
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-}

Back to the top