]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - cms/org.argeo.slc.runtime/src/org/argeo/slc/runtime/DefaultExecutionSpec.java
Clarify SLC project structure.
[gpl/argeo-slc.git] / cms / org.argeo.slc.runtime / src / org / argeo / slc / runtime / DefaultExecutionSpec.java
diff --git a/cms/org.argeo.slc.runtime/src/org/argeo/slc/runtime/DefaultExecutionSpec.java b/cms/org.argeo.slc.runtime/src/org/argeo/slc/runtime/DefaultExecutionSpec.java
new file mode 100644 (file)
index 0000000..16790a4
--- /dev/null
@@ -0,0 +1,67 @@
+package org.argeo.slc.runtime;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.argeo.slc.execution.ExecutionSpec;
+import org.argeo.slc.execution.ExecutionSpecAttribute;
+import org.argeo.slc.execution.RefSpecAttribute;
+import org.argeo.slc.execution.RefValueChoice;
+
+/** Spring based implementation of execution specifications. */
+public class DefaultExecutionSpec implements ExecutionSpec, Serializable {
+       private static final long serialVersionUID = 7042162759380893595L;
+       private String description;
+       private Map<String, ExecutionSpecAttribute> attributes = new HashMap<String, ExecutionSpecAttribute>();
+
+       private String name = INTERNAL_NAME;
+
+       public Map<String, ExecutionSpecAttribute> getAttributes() {
+               return attributes;
+       }
+
+       public void setDescription(String description) {
+               this.description = description;
+       }
+
+       public void setAttributes(Map<String, ExecutionSpecAttribute> attributes) {
+               this.attributes = attributes;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       /**
+        * The Spring bean name (only relevant for specs declared has high-level beans)
+        */
+       public String getName() {
+               return name;
+       }
+
+       public boolean equals(Object obj) {
+               return ((ExecutionSpec) obj).getName().equals(name);
+       }
+
+       /**
+        * The Spring bean description (only relevant for specs declared has high-level
+        * beans)
+        */
+       public String getDescription() {
+               return description;
+       }
+
+       /**
+        * Generates a list of ref value choices based on the bean available in the
+        * application ocntext.
+        */
+       protected List<RefValueChoice> buildRefValueChoices(RefSpecAttribute rsa) {
+               List<RefValueChoice> choices = new ArrayList<RefValueChoice>();
+               // FIXME implement something
+               return choices;
+       }
+
+}