use INodeVisitorWithResult where ever possible
Signed-off-by: Florian Thienel <florian@thienel.org>
diff --git a/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/layout/LayoutTestSuite.java b/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/layout/LayoutTestSuite.java
index c3a9e79..59cf6f5 100644
--- a/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/layout/LayoutTestSuite.java
+++ b/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/layout/LayoutTestSuite.java
@@ -27,7 +27,7 @@
import org.eclipse.vex.core.internal.css.StyleSheet;
import org.eclipse.vex.core.internal.css.StyleSheetReader;
-import org.eclipse.vex.core.internal.dom.BaseNodeVisitor;
+import org.eclipse.vex.core.internal.dom.BaseNodeVisitorWithResult;
import org.eclipse.vex.core.internal.dom.Document;
import org.eclipse.vex.core.internal.dom.DocumentContentModel;
import org.eclipse.vex.core.internal.dom.DocumentReader;
@@ -168,15 +168,12 @@
}
private static String getPrefixedNameOfElement(final Node node) {
- final String[] result = new String[1];
- result[0] = "";
- node.accept(new BaseNodeVisitor() {
+ return node.accept(new BaseNodeVisitorWithResult<String>("") {
@Override
- public void visit(final Element element) {
- result[0] = element.getPrefixedName();
+ public String visit(final Element element) {
+ return element.getPrefixedName();
}
});
- return result[0];
}
private static class TestCaseBuilder extends DefaultHandler {
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/BackgroundImageProperty.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/BackgroundImageProperty.java
index 11c2a13..c88aaa2 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/BackgroundImageProperty.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/BackgroundImageProperty.java
@@ -15,7 +15,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.vex.core.internal.VEXCorePlugin;
-import org.eclipse.vex.core.internal.dom.BaseNodeVisitor;
+import org.eclipse.vex.core.internal.dom.BaseNodeVisitorWithResult;
import org.eclipse.vex.core.internal.dom.Element;
import org.eclipse.vex.core.internal.dom.Node;
import org.w3c.css.sac.LexicalUnit;
@@ -39,18 +39,16 @@
case LexicalUnit.SAC_STRING_VALUE:
return lexicalUnit.getStringValue();
case LexicalUnit.SAC_ATTR:
- final Object[] result = new Object[1];
- result[0] = DEFAULT;
- node.accept(new BaseNodeVisitor() {
+ return node.accept(new BaseNodeVisitorWithResult<Object>(DEFAULT) {
@Override
- public void visit(final Element element) {
+ public Object visit(final Element element) {
final String attributeValue = element.getAttributeValue(lexicalUnit.getStringValue());
if (attributeValue != null) {
- result[0] = attributeValue;
+ return attributeValue;
}
+ return DEFAULT;
}
});
- return result[0];
default:
VEXCorePlugin
.getInstance()
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/LengthProperty.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/LengthProperty.java
index 8838526..e910769 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/LengthProperty.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/LengthProperty.java
@@ -17,7 +17,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.vex.core.internal.VEXCorePlugin;
import org.eclipse.vex.core.internal.core.DisplayDevice;
-import org.eclipse.vex.core.internal.dom.BaseNodeVisitor;
+import org.eclipse.vex.core.internal.dom.BaseNodeVisitorWithResult;
import org.eclipse.vex.core.internal.dom.Element;
import org.eclipse.vex.core.internal.dom.Node;
import org.w3c.css.sac.CSSException;
@@ -40,12 +40,10 @@
public Object calculate(final LexicalUnit lu, final Styles parentStyles, final Styles styles, final Node node) {
final int ppi = getPpi();
if (isAttr(lu)) {
- final Object[] result = new Object[0];
- result[0] = RelativeLength.createAbsolute(0);
- node.accept(new BaseNodeVisitor() {
+ return node.accept(new BaseNodeVisitorWithResult<Object>(RelativeLength.createAbsolute(0)) {
@Override
- public void visit(final Element element) {
- result[0] = calculate(parseAttribute(lu, element), parentStyles, styles, element);
+ public Object visit(final Element element) {
+ return calculate(parseAttribute(lu, element), parentStyles, styles, element);
}
});
}
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/Rule.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/Rule.java
index e4a7637..0fc348a 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/Rule.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/css/Rule.java
@@ -19,7 +19,7 @@
import java.util.List;
import java.util.StringTokenizer;
-import org.eclipse.vex.core.internal.dom.BaseNodeVisitor;
+import org.eclipse.vex.core.internal.dom.BaseNodeVisitorWithResult;
import org.eclipse.vex.core.internal.dom.Comment;
import org.eclipse.vex.core.internal.dom.Document;
import org.eclipse.vex.core.internal.dom.Element;
@@ -224,15 +224,12 @@
}
private static String getLocalNameOfElement(final Node node) {
- final String[] result = new String[1];
- result[0] = "";
- node.accept(new BaseNodeVisitor() {
+ return node.accept(new BaseNodeVisitorWithResult<String>("") {
@Override
- public void visit(final Element element) {
- result[0] = element.getLocalName();
+ public String visit(final Element element) {
+ return element.getLocalName();
}
});
- return result[0];
}
/**
@@ -303,14 +300,12 @@
}
private static String getAttributeValue(final Node node, final String localName) {
- final String[] result = new String[1];
- node.accept(new BaseNodeVisitor() {
+ return node.accept(new BaseNodeVisitorWithResult<String>() {
@Override
- public void visit(final Element element) {
- result[0] = element.getAttributeValue(localName);
+ public String visit(final Element element) {
+ return element.getAttributeValue(localName);
}
});
- return result[0];
}
/**
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/layout/AbstractBlockBox.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/layout/AbstractBlockBox.java
index 634c48e..357acf9 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/layout/AbstractBlockBox.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/layout/AbstractBlockBox.java
@@ -26,7 +26,7 @@
import org.eclipse.vex.core.internal.css.CSS;
import org.eclipse.vex.core.internal.css.StyleSheet;
import org.eclipse.vex.core.internal.css.Styles;
-import org.eclipse.vex.core.internal.dom.BaseNodeVisitor;
+import org.eclipse.vex.core.internal.dom.BaseNodeVisitorWithResult;
import org.eclipse.vex.core.internal.dom.Comment;
import org.eclipse.vex.core.internal.dom.Document;
import org.eclipse.vex.core.internal.dom.Element;
@@ -533,19 +533,17 @@
}
protected String getSelectionFrameName(final Node node) {
- final String[] result = new String[1];
- node.accept(new BaseNodeVisitor() {
+ return node.accept(new BaseNodeVisitorWithResult<String>() {
@Override
- public void visit(final Element element) {
- result[0] = element.getPrefixedName();
+ public String visit(final Element element) {
+ return element.getPrefixedName();
}
@Override
- public void visit(final Comment comment) {
- result[0] = "Comment";
+ public String visit(final Comment comment) {
+ return "Comment";
}
});
- return result[0];
}
/** Layout is OK */