ingo@67: package de.intevation.flys.client.shared.model;
ingo@67:
ingo@67: import java.io.Serializable;
ingo@67: import java.util.List;
felix@1435: import java.util.Map;
ingo@67:
ingo@67:
ingo@67: /**
ingo@67: * The CollectionItem interface that provides methods to get information about
ingo@67: * artifacts and its output modes.
ingo@67: *
ingo@67: * @author Ingo Weinzierl
ingo@67: */
ingo@67: public interface CollectionItem extends Serializable {
ingo@67:
ingo@67: /**
ingo@67: * Returns the identifier of the wrapped artifact.
ingo@67: *
ingo@67: * @return the identifier of the wrapped artifact.
ingo@67: */
ingo@67: String identifier();
ingo@67:
ingo@67:
ingo@67: /**
ingo@87: * Returns the hash of the wrapped artifact.
ingo@87: *
ingo@87: * @return the hash of the wrapped artifact.
ingo@87: */
ingo@87: String hash();
ingo@87:
ingo@87:
ingo@87: /**
ingo@67: * Returns the output modes of the wrapped artifact.
ingo@67: *
ingo@67: * @return the output modes of the wrapped artifact.
ingo@67: */
ingo@67: List getOutputModes();
ingo@67:
ingo@67:
ingo@67: /**
ingo@67: * Returns the facets of the wrapped artifact for a specific output mode.
ingo@67: *
ingo@67: * @param outputmode The name of an output mode that is supported by this
ingo@67: * item.
ingo@67: *
ingo@67: * @return the facets of the wrapped artifact for a specific output mode.
ingo@67: */
ingo@67: List getFacets(String outputmode);
felix@1435:
felix@1435:
felix@1435: /**
felix@1435: * Returns data key/value map.
felix@1435: * @return key/value data map
felix@1435: */
felix@1435: Map getData();
ingo@67: }
ingo@67: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :