sascha@702: package de.intevation.flys.artifacts.model; sascha@702: sascha@702: import de.intevation.artifacts.Artifact; sascha@702: import de.intevation.artifacts.CallContext; sascha@702: sascha@702: import de.intevation.artifactdatabase.state.DefaultFacet; sascha@702: sascha@702: import de.intevation.flys.artifacts.FLYSArtifact; sascha@702: sascha@702: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; sascha@702: sascha@702: public class DataFacet sascha@702: extends DefaultFacet sascha@702: { sascha@702: protected ComputeType type; sascha@702: protected String hash; sascha@702: sascha@702: public DataFacet(String name, String description) { sascha@702: this(name, description, ComputeType.ADVANCE); sascha@702: } sascha@702: sascha@702: public DataFacet(String name, String description, ComputeType type) { sascha@702: this(name, description, type, null); sascha@702: } sascha@702: sascha@702: public DataFacet( sascha@702: String name, sascha@702: String description, sascha@702: ComputeType type, sascha@702: String hash sascha@702: ) { sascha@702: super(name, description); sascha@702: this.type = type; sascha@702: this.hash = hash; sascha@702: } sascha@702: sascha@702: public Object getData(Artifact artifact, CallContext context) { sascha@702: FLYSArtifact flys = (FLYSArtifact)artifact; sascha@702: return flys.compute( sascha@702: context, hash != null ? hash : flys.hash(), type); sascha@702: } sascha@702: } sascha@702: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :