Mercurial > dive4elements > framework
view artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java @ 77:48d1a9a082c2 0.5
Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
to make the sources to be able to be formatted with jalopy (http://jalopy.sourceforge.net).
artifacts/trunk@695 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 21 Feb 2010 23:05:32 +0000 |
parents | d4c4c23847f5 |
children | 55eefe63a777 |
line wrap: on
line source
package de.intevation.artifacts; import java.io.Serializable; import org.w3c.dom.Document; import org.w3c.dom.Node; /** * Interface of an artifact producing factory. * * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public interface ArtifactFactory extends Serializable { /** * The short name of this factory. * @return the name of this factory. */ String getName(); /** * Description of this factory. * @return description of the factory. */ String getDescription(); /** * Create a new artifact of certain type, given a general purpose context and * an identifier. * @param context a context from the ArtifactDatabase. * @param identifier unique identifer for the new artifact * @param data the data containing more details for the setup of an Artifact. * @return a new {@linkplain de.intevation.artifacts.Artifact Artifact} */ Artifact createArtifact(String identifier, Object context, Document data); /** * Setup the factory with a given configuration * @param config the configuration * @param factoryNode the ConfigurationNode of this Factory */ void setup(Document config, Node factoryNode); /** * Tells how long an artifact should survive if it is * not touched. This is put in the factory because * life time is nothing a artifact should handle it self. * This method is only called once directly after the * artifact is created. * @param artifact The artifact to be rated. * @param context The global context. * return time to live in ms. null means eternal. */ Long timeToLiveUntouched(Artifact artifact, Object context); ArtifactSerializer getSerializer(); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: