Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java @ 4378:8eb1d6dc96a9
Add chart generation for fixings in bed differences generators
If matching fixanalysis data is loaded via the datacage the bed difference
generators are now able to display graphs for the additonal data.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 02 Nov 2012 15:50:35 +0100 |
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 :