rrenkert@7821: package org.dive4elements.river.client.shared.model; rrenkert@7821: teichmann@8071: import java.util.Map; teichmann@8071: rrenkert@7821: rrenkert@7821: public class MultiAttributeData rrenkert@7821: implements Data rrenkert@7821: { rrenkert@7821: rrenkert@7821: public static final String TYPE = "multiattribute"; rrenkert@7821: rrenkert@7821: protected String label; rrenkert@7821: protected String description; rrenkert@7821: teichmann@8071: protected Map> meta; teichmann@8071: rrenkert@7821: public DataItem[] opts; rrenkert@7821: rrenkert@7821: rrenkert@7821: public MultiAttributeData() { rrenkert@7821: } rrenkert@7821: rrenkert@7821: teichmann@8071: public MultiAttributeData( teichmann@8071: String label, teichmann@8071: String desc, teichmann@8071: DataItem[] opts, teichmann@8071: Map> meta teichmann@8071: ) { rrenkert@7821: this.label = label; rrenkert@7821: this.description = desc; rrenkert@7821: this.opts = opts; rrenkert@7821: } rrenkert@7821: teichmann@8071: public Map> getMeta() { teichmann@8071: return meta; teichmann@8071: } rrenkert@7821: rrenkert@7821: /** rrenkert@7821: * Returns the label of the item. rrenkert@7821: * rrenkert@7821: * @return the label. rrenkert@7821: */ rrenkert@7821: public String getLabel() { rrenkert@7821: return label; rrenkert@7821: } rrenkert@7821: rrenkert@7821: rrenkert@7821: /** rrenkert@7821: * Returns the description of the item. rrenkert@7821: * rrenkert@7821: * @return the description. rrenkert@7821: */ rrenkert@7821: public String getDescription() { rrenkert@7821: return description; rrenkert@7821: } rrenkert@7821: rrenkert@7821: rrenkert@7821: /** rrenkert@7821: * Returns the type of the item. rrenkert@7821: * rrenkert@7821: * @return the type. rrenkert@7821: */ rrenkert@7821: public String getType() { rrenkert@7821: return TYPE; rrenkert@7821: } rrenkert@7821: rrenkert@7821: rrenkert@7821: /** rrenkert@7821: * Returns the data items which represent the allowed options for this Data. rrenkert@7821: * rrenkert@7821: * @return the allowed options as DataItem array. rrenkert@7821: */ rrenkert@7821: public DataItem[] getItems() { rrenkert@7821: return opts; rrenkert@7821: } rrenkert@7821: rrenkert@7821: rrenkert@7821: /** rrenkert@7821: * @return always null. rrenkert@7821: */ rrenkert@7821: public DataItem getDefault() { rrenkert@7821: return null; rrenkert@7821: } rrenkert@7821: rrenkert@7821: rrenkert@7821: /** rrenkert@7821: * Returns the values as colon separated string. rrenkert@7821: * rrenkert@7821: * @return colon separated string. rrenkert@7821: */ rrenkert@7821: public String getStringValue() { rrenkert@7821: String data = ""; rrenkert@7821: boolean first = true; rrenkert@7821: for (int i = 0; i < opts.length; i++) { rrenkert@7821: if (!first) { rrenkert@7821: data += ";"; rrenkert@7821: } rrenkert@7821: data += opts[i].getStringValue(); rrenkert@7821: first = false; rrenkert@7821: } rrenkert@7821: return data; rrenkert@7821: } rrenkert@7821: }