-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.browsing.ui.common;\r
-\r
-import org.simantics.browsing.ui.BuiltinKeys;\r
-import org.simantics.browsing.ui.NodeContext;\r
-import org.simantics.browsing.ui.NodeContext.ConstantKey;\r
-import org.simantics.browsing.ui.NodeQueryManager;\r
-import org.simantics.browsing.ui.Tester;\r
-import org.simantics.browsing.ui.common.node.StandardNodes;\r
-\r
-public final class Testers {\r
-\r
- /**\r
- * Simple pass all tester.\r
- */\r
- public static final Tester PASS = new Tester() {\r
- @Override\r
- public boolean test(NodeQueryManager manager, NodeContext context) {\r
- return true;\r
- }\r
- @Override\r
- public String toString() {\r
- return "PASS test";\r
- }\r
- };\r
-\r
- /**\r
- * Simple fail all tester.\r
- */\r
- public static final Tester FAIL = new Tester() {\r
- @Override\r
- public boolean test(NodeQueryManager manager, NodeContext context) {\r
- return false;\r
- }\r
- @Override\r
- public String toString() {\r
- return "FAIL test";\r
- }\r
- };\r
-\r
- /**\r
- * @param clazz\r
- * @return tester for checking whether node context input is an instance of\r
- * the specified class\r
- */\r
- public static Tester instanceOfTester(final Class<?> clazz) {\r
- return new Tester() {\r
- @Override\r
- public boolean test(NodeQueryManager manager, NodeContext context) {\r
- return clazz.isInstance(context.getConstant(BuiltinKeys.INPUT));\r
- }\r
- @Override\r
- public String toString() {\r
- return "class " + clazz.getName() + " test";\r
- }\r
- };\r
- }\r
-\r
- public static Tester standardFunctionTester(final Object object) {\r
- return new Tester() {\r
- \r
- @Override\r
- public boolean test(NodeQueryManager manager, NodeContext context) {\r
- Object function = context.getConstant(StandardNodes.FUNCTION);\r
- return object.equals(function);\r
- }\r
- \r
- };\r
- }\r
- \r
- public static <T> Tester exists(final ConstantKey<T> key) {\r
- return new Tester() {\r
- \r
- @Override\r
- public boolean test(NodeQueryManager manager, NodeContext context) {\r
- return context.getConstant(key) != null;\r
- }\r
- \r
- };\r
- }\r
-\r
- public static Tester and(final Tester ... testers) {\r
- return new Tester() {\r
- \r
- @Override\r
- public boolean test(NodeQueryManager manager, NodeContext context) {\r
- for(Tester tester : testers) if(!tester.test(manager, context)) return false;\r
- return true;\r
- }\r
- \r
- };\r
- }\r
- \r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * 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:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.browsing.ui.common;
+
+import org.simantics.browsing.ui.BuiltinKeys;
+import org.simantics.browsing.ui.NodeContext;
+import org.simantics.browsing.ui.NodeContext.ConstantKey;
+import org.simantics.browsing.ui.NodeQueryManager;
+import org.simantics.browsing.ui.Tester;
+import org.simantics.browsing.ui.common.node.StandardNodes;
+
+public final class Testers {
+
+ /**
+ * Simple pass all tester.
+ */
+ public static final Tester PASS = new Tester() {
+ @Override
+ public boolean test(NodeQueryManager manager, NodeContext context) {
+ return true;
+ }
+ @Override
+ public String toString() {
+ return "PASS test";
+ }
+ };
+
+ /**
+ * Simple fail all tester.
+ */
+ public static final Tester FAIL = new Tester() {
+ @Override
+ public boolean test(NodeQueryManager manager, NodeContext context) {
+ return false;
+ }
+ @Override
+ public String toString() {
+ return "FAIL test";
+ }
+ };
+
+ /**
+ * @param clazz
+ * @return tester for checking whether node context input is an instance of
+ * the specified class
+ */
+ public static Tester instanceOfTester(final Class<?> clazz) {
+ return new Tester() {
+ @Override
+ public boolean test(NodeQueryManager manager, NodeContext context) {
+ return clazz.isInstance(context.getConstant(BuiltinKeys.INPUT));
+ }
+ @Override
+ public String toString() {
+ return "class " + clazz.getName() + " test";
+ }
+ };
+ }
+
+ public static Tester standardFunctionTester(final Object object) {
+ return new Tester() {
+
+ @Override
+ public boolean test(NodeQueryManager manager, NodeContext context) {
+ Object function = context.getConstant(StandardNodes.FUNCTION);
+ return object.equals(function);
+ }
+
+ };
+ }
+
+ public static <T> Tester exists(final ConstantKey<T> key) {
+ return new Tester() {
+
+ @Override
+ public boolean test(NodeQueryManager manager, NodeContext context) {
+ return context.getConstant(key) != null;
+ }
+
+ };
+ }
+
+ public static Tester and(final Tester ... testers) {
+ return new Tester() {
+
+ @Override
+ public boolean test(NodeQueryManager manager, NodeContext context) {
+ for(Tester tester : testers) if(!tester.test(manager, context)) return false;
+ return true;
+ }
+
+ };
+ }
+
+}