ingo@209: package de.intevation.artifactdatabase.state;
ingo@209: 
ingo@226: import java.util.List;
ingo@226: 
ingo@209: 
ingo@209: /**
ingo@209:  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
ingo@209:  */
ingo@209: public interface Output {
ingo@209: 
ingo@209:     /**
ingo@209:      * Retrieve the name of this output mode.
ingo@209:      *
ingo@209:      * @return the name of this output mode.
ingo@209:      */
ingo@209:     public String getName();
ingo@209: 
ingo@209:     /**
ingo@209:      * Retrieve the description of an output.
ingo@209:      *
ingo@209:      * @return the description.
ingo@209:      */
ingo@209:     public String getDescription();
ingo@209: 
ingo@209:     /**
ingo@209:      * Retrieve the mimetype used for the output.
ingo@209:      *
ingo@209:      * @return the mimetype.
ingo@209:      */
ingo@209:     public String getMimeType();
ingo@226: 
ingo@290: 
ingo@290:     /**
ingo@290:      * Returns the type of this output.
ingo@290:      *
ingo@290:      * @return the type.
ingo@290:      */
ingo@290:     public String getType();
ingo@290: 
ingo@226:     /**
ingo@226:      * Retrieve the facets of this output.
ingo@226:      *
ingo@226:      * @return the facets of this output.
ingo@226:      */
ingo@226:     public List<Facet> getFacets();
ingo@251: 
ingo@251:     /**
ingo@251:      * Add a new facet to this output.
ingo@251:      *
ingo@251:      * @param facet The new facet.
ingo@251:      */
ingo@251:     public void addFacet(Facet facet);
ingo@296: 
ingo@296:     /**
ingo@296:      * Add a list of facet to this output.
ingo@296:      *
ingo@296:      * @param facets A list of facets.
ingo@296:      */
ingo@296:     public void addFacets(List<Facet> facets);
ingo@358: 
ingo@358:     /**
ingo@358:      * Returns a Settings object for this Output.
ingo@358:      */
ingo@358:     public Settings getSettings();
ingo@358: 
ingo@358:     /**
ingo@358:      * Sets the Settings for this Output.
ingo@358:      *
ingo@358:      * @param settings the Settings for this Output.
ingo@358:      */
ingo@358:     public void setSettings(Settings settings);
ingo@209: }
ingo@209: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :