+package dol.datamodel.mapping;
+
+import dol.visitor.MapVisitor;
+
+/**
+ * This class represents a binding element in the mapping.
+ */
+abstract public class Binding extends MapResource {
+
+ /**
+ * Constructor to create a Binding with a name.
+ */
+ public Binding(String name) {
+ super(name);
+ }
+
+ /**
+ * Accept a Visitor
+ * @param x A Visitor Object.
+ */
+ public void accept(MapVisitor x) {
+ x.visitComponent(this);
+ }
+
+ /**
+ * Clone this Binding
+ *
+ * @return a new instance of the Binding.
+ */
+ public Object clone() {
+ Binding newObj = (Binding) super.clone();
+ return (newObj);
+ }
+
+ /**
+ * Get the range of this binding.
+ *
+ * @return range
+ */
+ public String getRange() {
+ return _range;
+ }
+
+ /**
+ * Set the range of this binding.
+ *
+ * @param range new range value
+ */
+ public void setRange(String range) {
+ _range= range;
+ }
+
+ /**
+ * Get the type of this binding.
+ *
+ * @return type
+ */
+ public String getType() {
+ return _type;
+ }
+
+ /**
+ * Return a description of the binding.
+ *
+ * @return a description of the binding.
+ */
+ public String toString() {
+ return "Binding: " + getName() ;
+ }
+
+ /**
+ * Range of the iterator when the instance belongs to an iterated
+ * series of bindings.
+ */
+ protected String _range;
+ protected String _type;
+
+ /**
+ * Type specifier for communication bindings.
+ */
+ public static final String COMMUNICATION = "communication";
+
+ /**
+ * Type specifier for computation bindings.
+ */
+ public static final String COMPUTATION = "computation";
+}