Mercurial > dive4elements > framework
diff artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java @ 1:11c82d3f125e
Checked in the central interfaces of the artifact system.
artifacts/trunk@6 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 02 Sep 2009 14:03:48 +0000 |
parents | |
children | 13a12b607baf |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java Wed Sep 02 14:03:48 2009 +0000 @@ -0,0 +1,28 @@ +package de.intevation.artifacts; + +/** + * Interface of an artifact managing database. + * + * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) + */ +public interface ArtifactDatabase +{ + /** + * List of artifact factories names accessible through the database. + * @return names of the factories. + */ + String [] getArtifactFactoryNames(); + + /** + * Look up an artifact by its identifier. + * @return the artifact. null if the artifact is not found. + */ + Artifact getArtifact(String identifier); + + /** + * Creates new artifact with a certain factory. + * @param factoryName the name of the factory. Name out of {@see #getArtifactFactoryNames() getArtifactFactoryNames()}. + */ + Artifact createArtifactWithFactory(String factoryName); +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: