Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java @ 390:d5db5483b376
Tagged module 'artifacts' as '2.7'.
artifacts/trunk@4528 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Sun, 27 May 2012 10:40:55 +0000 |
parents | 71ff234713a6 |
children |
line wrap: on
line source
package de.intevation.artifactdatabase.state; import java.util.List; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.DataProvider; /** * A bundle of a "native" Facet and its Artifact. */ public class ArtifactAndFacet implements DataProvider { /** The Artifact. */ protected Artifact artifact; /** The (native) facet. */ protected Facet facet; /** An alternative facet description that might be set from outside. */ protected String facetDescription; /** Trivial constructor. */ public ArtifactAndFacet( Artifact a, Facet f ) { this.artifact = a; this.facet = f; } /** Get data (to plot). */ public Object getData(CallContext context) { return facet.getData(artifact, context); } /** Get data (for other facet). */ @Override public Object provideData(Object key, Object param, CallContext context) { return facet.provideBlackboardData(artifact, key, param, context); } /** (Maybe) Register on blackboard (depending on facet). */ @Override public void register(CallContext context) { List keys = facet.getDataProviderKeys(this.artifact, context); if (keys == null) { return; } for (Object key: keys) { context.registerDataProvider(key, this); } } /** Access the artifact. */ public Artifact getArtifact() { return artifact; } /** Access the (native) facet. */ public Facet getFacet() { return facet; } /** Shortcut to facets name. */ public String getFacetName() { return facet.getName(); } /** * Returns the description for a facet. The return value depends on the * internal <i>facetDescription</i> instance variable. If this has been set * by setFacetDescription, this value is returned, otherwise the return * value of facet.getDescription(). */ public String getFacetDescription() { if (facetDescription == null) { return facet.getDescription(); } return facetDescription; } public void setFacetDescription(String facetDescription) { this.facetDescription = facetDescription; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :