summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/data/TopDownTransformResult.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/data/TopDownTransformResult.java')
-rw-r--r--base/src/main/java/bjc/utils/data/TopDownTransformResult.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/data/TopDownTransformResult.java b/base/src/main/java/bjc/utils/data/TopDownTransformResult.java
new file mode 100644
index 0000000..ed41eae
--- /dev/null
+++ b/base/src/main/java/bjc/utils/data/TopDownTransformResult.java
@@ -0,0 +1,34 @@
+package bjc.utils.data;
+
+/**
+ * Represents the results for doing a top-down transform of a tree
+ *
+ * @author ben
+ *
+ */
+public enum TopDownTransformResult {
+ /**
+ * Do not do anything to this node, and ignore its children
+ */
+ SKIP,
+ /**
+ * Transform this node, and don't touch its children
+ */
+ TRANSFORM,
+ /**
+ * Transform this node, then do a top-down transform on the result
+ */
+ RTRANSFORM,
+ /**
+ * Ignore this node, and traverse its children
+ */
+ PASSTHROUGH,
+ /**
+ * Traverse the nodes of this children, then transform it
+ */
+ PUSHDOWN,
+ /**
+ * Transform this node, then traverse its children
+ */
+ PULLUP;
+}