X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2Fgenerator%2FDefaultRunnableDataNode.java;fp=org.argeo.slc.core%2Fsrc%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2Fgenerator%2FDefaultRunnableDataNode.java;h=daed350b2e1d6f084473cdf1501683a811b8d6a2;hb=a9b97cc33383ded70277f49aa287f84903334e70;hp=0000000000000000000000000000000000000000;hpb=d1298659fe6f179d1cbbc8c89f108a0bbc5b4edf;p=gpl%2Fargeo-slc.git
diff --git a/org.argeo.slc.core/src/org/argeo/slc/core/execution/generator/DefaultRunnableDataNode.java b/org.argeo.slc.core/src/org/argeo/slc/core/execution/generator/DefaultRunnableDataNode.java
new file mode 100644
index 000000000..daed350b2
--- /dev/null
+++ b/org.argeo.slc.core/src/org/argeo/slc/core/execution/generator/DefaultRunnableDataNode.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2007-2012 Argeo GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.argeo.slc.core.execution.generator;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Default implementation of RunnableDataNode
+ *
+ */
+public class DefaultRunnableDataNode implements RunnableDataNode {
+
+ private List children = new ArrayList();
+
+ private RunnableDataNode parent;
+
+ /**
+ * Data of the RunnableDataNode. Does not contain
+ * parent data.
+ */
+ private Map properData = new HashMap();
+
+ private String path;
+
+ private String beanName;
+
+ public boolean isLeaf() {
+ return children.size() == 0;
+ }
+
+ public List getChildren() {
+ return children;
+ }
+
+ public void addChild(RunnableDataNode child) {
+ child.setParent(this);
+ children.add(child);
+ }
+
+ public Map getData() {
+ Map data = new HashMap();
+ if(parent != null) {
+ Map parentData = parent.getData();
+ if(parentData != null) {
+ data.putAll(parentData);
+ }
+ }
+ // entries defined in parentData can be overridden
+ // in properData
+ if(properData != null) {
+ data.putAll(properData);
+ }
+ return data;
+ }
+
+ public Map getProperData() {
+ return properData;
+ }
+
+ public void setProperData(Map properData) {
+ this.properData = properData;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public String getBeanName() {
+ return beanName;
+ }
+
+ public void setBeanName(String beanName) {
+ this.beanName = beanName;
+ }
+
+ public void setParent(RunnableDataNode parent) {
+ this.parent = parent;
+ }
+
+ public RunnableDataNode getParent() {
+ return parent;
+ }
+
+}