X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fprimitive%2FPrimitiveSpecAttribute.java;fp=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fprimitive%2FPrimitiveSpecAttribute.java;h=404b5f86f931a410be452217c8bddf5a7d23c298;hb=09c9e5093fe1353aaac344ac8a8caf2e1dcc0778;hp=0000000000000000000000000000000000000000;hpb=8ff996a3380166be2ae9cf0ef0fa22c58e11746a;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.api.slc/src/org/argeo/api/slc/primitive/PrimitiveSpecAttribute.java b/org.argeo.api.slc/src/org/argeo/api/slc/primitive/PrimitiveSpecAttribute.java new file mode 100644 index 000000000..404b5f86f --- /dev/null +++ b/org.argeo.api.slc/src/org/argeo/api/slc/primitive/PrimitiveSpecAttribute.java @@ -0,0 +1,51 @@ +package org.argeo.api.slc.primitive; + +import org.argeo.api.slc.SlcException; +import org.argeo.api.slc.execution.AbstractSpecAttribute; + +/** + * A spec attribute wrapping a primitive value. + * + * @see PrimitiveAccessor + */ +public class PrimitiveSpecAttribute extends AbstractSpecAttribute implements + PrimitiveAccessor { + private static final long serialVersionUID = -566676381839825483L; + private String type = "string"; + private Object value = null; + + public PrimitiveSpecAttribute() { + } + + public PrimitiveSpecAttribute(String type, Object value) { + this.type = type; + this.value = value; + } + + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } + + public String getType() { + return type; + } + + public void setType(String type) { + // check whether type is recognized. + if (PrimitiveUtils.typeAsClass(type) == null) + throw new SlcException("Unrecognized type " + type); + this.type = type; + + } + + @Override + public String toString() { + return "Primitive spec attribute [" + type + "]" + + (value != null ? "=" + value : ""); + } + +}