sascha@1: package de.intevation.artifacts; sascha@1: sascha@1: /** sascha@1: * Interface of an artifact producing factory. sascha@1: * sascha@1: * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) sascha@1: */ sascha@1: public interface ArtifactFactory sascha@1: { sascha@1: /** sascha@1: * The short name of this factory. sascha@1: * @return the name of this factory. sascha@1: */ sascha@1: String getName(); sascha@1: sascha@1: /** sascha@1: * Description of this factory. sascha@1: * @return description of the factory. sascha@1: */ sascha@1: String getDescription(); sascha@1: sascha@1: /** sascha@1: * Create a new artifact of certain type, given a general purpose context and sascha@1: * an identifier. sascha@1: * @param context a context from the ArtifactDatabase. sascha@1: * @param identifier unique identifer for the new artifact sascha@1: * @return a new {@linkplain de.intevation.artifacts.Artifact Artifact} sascha@1: */ sascha@1: Artifact createArtifact(Object context, String identifier); sascha@1: } sascha@1: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: