mschaefer@9316: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde mschaefer@9316: * Software engineering by Intevation GmbH mschaefer@9316: * mschaefer@9316: * This file is Free Software under the GNU AGPL (>=v3) mschaefer@9316: * and comes with ABSOLUTELY NO WARRANTY! Check out the mschaefer@9316: * documentation coming with Dive4Elements River for details. mschaefer@9316: */ mschaefer@9316: mschaefer@9316: package org.dive4elements.river.artifacts.uinfo.salix; mschaefer@9316: mschaefer@9316: import org.dive4elements.artifactdatabase.state.Facet; gernotbelger@9347: import org.dive4elements.river.artifacts.common.ResultFacet; mschaefer@9316: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; mschaefer@9316: mschaefer@9316: /** mschaefer@9316: * Facet of the U-Info salix scenario curve. mschaefer@9316: */ gernotbelger@9347: public class SalixScenarioResultFacet extends ResultFacet { mschaefer@9316: mschaefer@9316: private static final long serialVersionUID = 1L; mschaefer@9316: gernotbelger@9347: private int dataIndex; mschaefer@9316: mschaefer@9316: public SalixScenarioResultFacet() { mschaefer@9316: // required for clone operation deepCopy() mschaefer@9316: } mschaefer@9316: gernotbelger@9347: public SalixScenarioResultFacet(final int facetIndex, final int resultIndex, final int dataIndex, final String name, final String description, gernotbelger@9347: final String yAxisLabelKey, final String hash, final String id) { gernotbelger@9347: super(facetIndex, resultIndex, name, description, yAxisLabelKey, ComputeType.ADVANCE, id, hash); mschaefer@9316: gernotbelger@9347: this.dataIndex = dataIndex; mschaefer@9316: } mschaefer@9316: mschaefer@9316: /** Copy deeply. */ mschaefer@9316: @Override mschaefer@9316: public Facet deepCopy() { mschaefer@9316: // FIXME: why not simply use the full constructor instead? mschaefer@9316: final SalixScenarioResultFacet copy = new SalixScenarioResultFacet(); mschaefer@9316: // FIXME: why does DataFacet does not override set? Bad access to variables of parent! mschaefer@9316: copy.set(this); mschaefer@9316: copy.type = this.type; mschaefer@9316: copy.hash = this.hash; mschaefer@9316: copy.stateId = this.stateId; gernotbelger@9347: copy.dataIndex = this.dataIndex; mschaefer@9316: return copy; mschaefer@9316: } gernotbelger@9347: gernotbelger@9347: public int getDataIndex() { gernotbelger@9347: return this.dataIndex; gernotbelger@9347: } mschaefer@9316: }