Mercurial > dive4elements > framework
view artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java @ 68:541814404822
Added interfaces for XML processing services. TODO: Implement them!
artifacts/trunk@593 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 22 Jan 2010 09:48:18 +0000 |
parents | 89e3de0ee05f |
children | ce488c1d3fc4 |
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(); ArtifactFactory getInternalArtifactFactory(String factoryName); Document createArtifactWithFactory(String factory, CallMeta callMeta) throws ArtifactDatabaseException; Document describe(String artifact, Document data, CallMeta callMeta) throws ArtifactDatabaseException; Document advance(String artifact, Document target, CallMeta callMeta) throws ArtifactDatabaseException; Document feed(String artifact, Document data, CallMeta callMeta) throws ArtifactDatabaseException; DeferredOutput out(String artifact, Document format, CallMeta callMeta) throws ArtifactDatabaseException; String [][] serviceNamesAndDescriptions(); Document process(String service, Document input, CallMeta callMeta); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: