Mercurial > dive4elements > framework
view artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/Facet.java @ 485:5b088ff1a696 3.0.5
Added tag 3.0.4 for changeset 64557fa4d432
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 14 May 2013 18:56:49 +0200 |
parents | 415df0fc4fa1 |
children | 83ee2c6a53b6 |
line wrap: on
line source
package org.dive4elements.artifactdatabase.state; import java.util.List; import java.io.Serializable; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.dive4elements.artifacts.Artifact; import org.dive4elements.artifacts.CallContext; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public interface Facet extends Serializable { /** * Returns the index of this facet. * * @return the index of this facet. */ int getIndex(); /** * Returns the name of this facet. * * @return the name of this facet. */ String getName(); /** * Returns the description of this facet. * * @return the description of this facet. */ String getDescription(); /** * Returns the data this facet requires. * * @param artifact The owner artifact. * @param context The CallContext. * * @return the data. */ Object getData(Artifact artifact, CallContext context); /** * Get keys for which this Facet can provide data (for other facets, not * for plot). * @param artifact Artifact that this facet belongs to. * @return list of keys */ List getDataProviderKeys(Artifact artifact, CallContext context); /** * Provide data to other facet. * * @param art The artifact that this facet belongs to. * @param key the key of the requested service. * @param prm optional parameters. * @param ctxt the callcontext. * * @return the data */ Object provideBlackboardData( Artifact art, Object key, Object prm, CallContext ctxt); /** * Write the internal representation of a facet to a node. * * @param doc A Document. * * @return the representation as Node. */ Node toXML(Document doc); Facet deepCopy(); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :