Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java @ 3061:49baebb39305
FixA: Add interpolation of parameters that better suits the instantiation real functions.
flys-artifacts/trunk@4641 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 12 Jun 2012 08:11:36 +0000 |
parents | 79a94c4171cb |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.states.DefaultState.ComputeType; public class DataFacet extends BlackboardDataFacet { protected ComputeType type; protected String hash; protected String stateId; /** Trivial constructor. */ public DataFacet() { } /** * Defaults to ADVANCE Compute type. * @param name Name of the facet. * @param description maybe localized description of the facet. */ public DataFacet(String name, String description) { this(name, description, ComputeType.ADVANCE); } public DataFacet(String name, String description, ComputeType type) { this(name, description, type, null); } public DataFacet( String name, String description, ComputeType type, String hash ) { super(name, description); this.type = type; this.hash = hash; } public DataFacet( String name, String description, ComputeType type, String hash, String stateId ) { super(name, description); this.type = type; this.hash = hash; this.stateId = stateId; } public DataFacet( int index, String name, String description, ComputeType type, String hash, String stateId ) { super(index, name, description); this.type = type; this.hash = hash; this.stateId = stateId; } /** * Return computation result. */ @Override public Object getData(Artifact artifact, CallContext context) { FLYSArtifact flys = (FLYSArtifact)artifact; String theHash = (hash != null) ? hash : flys.hash(); return (stateId != null && stateId.length() > 0) ? flys.compute(context, theHash, stateId, type, false) : flys.compute(context, theHash, type, false); } /** * Return a deep copy. */ @Override public Facet deepCopy() { DataFacet copy = new DataFacet(); copy.set(this); copy.type = type; copy.hash = hash; copy.stateId = stateId; return copy; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :