ingo@8: package de.intevation.flys.client.shared.model;
ingo@8:
ingo@12: import java.io.Serializable;
ingo@22: import de.intevation.flys.client.client.ui.UIProvider;
ingo@12:
ingo@8:
ingo@8: /**
ingo@8: * A Data object represents the necessary data of a single state of the
ingo@8: * artifact. It might provide several DataItems or just a single DataItem. The
ingo@8: * type
makes it possible to validate the input in the client.
ingo@8: *
ingo@8: * @author Ingo Weinzierl
ingo@8: */
ingo@12: public interface Data extends Serializable {
ingo@8:
ingo@8: /**
ingo@8: * Returns the label of the item.
ingo@8: *
ingo@8: * @return the label.
ingo@8: */
ingo@8: public String getLabel();
ingo@8:
ingo@8:
ingo@8: /**
ingo@8: * Returns the description of the item.
ingo@8: *
ingo@8: * @return the description.
ingo@8: */
ingo@8: public String getDescription();
ingo@8:
ingo@8:
ingo@8: /**
ingo@8: * Returns the type of the item.
ingo@8: *
ingo@8: * @return the type.
ingo@8: */
ingo@8: public String getType();
ingo@8:
ingo@8:
ingo@8: /**
ingo@8: * Returns the DataItems provided by this Data object.
ingo@8: *
ingo@8: * @return the DataItems.
ingo@8: */
ingo@8: public DataItem[] getItems();
ingo@22:
ingo@22:
ingo@22: /**
ingo@22: * Returns the UIProvider that should be used to create UIs.
ingo@22: *
ingo@22: * @return the UIProvider.
ingo@22: */
ingo@22: public String getUIProvider();
ingo@8: }
ingo@8: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :