Mercurial > dive4elements > framework
view artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java @ 32:c2d53bd30ab8
Re-factored artifact API for better integration of background processing.
artifacts/trunk@78 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 13 Sep 2009 14:50:53 +0000 |
parents | 13a12b607baf |
children | 41c225c8bd41 |
line wrap: on
line source
package de.intevation.artifacts; import org.w3c.dom.Document; import java.io.OutputStream; import java.io.IOException; /** * Interface of an artifact managing database. * * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) */ public interface ArtifactDatabase { public interface DeferredOutput { void write(OutputStream output) throws IOException; } // interface DeferredOut /** * List of artifact factories names accessible through the database. * @return pairs of names and descriptions of the factories. */ String [][] artifactFactoryNamesAndDescriptions(); Document createArtifactWithFactory(String factory) throws ArtifactDatabaseException; Document describe(String artifact) throws ArtifactDatabaseException; Document advance(String artifact, Document target) throws ArtifactDatabaseException; Document feed(String artifact, Document data) throws ArtifactDatabaseException; DeferredOutput out(String artifact, Document format) throws ArtifactDatabaseException; } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: