mschaefer@9157: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde mschaefer@9157: * Software engineering by mschaefer@9157: * Björnsen Beratende Ingenieure GmbH mschaefer@9157: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt mschaefer@9157: * mschaefer@9157: * This file is Free Software under the GNU AGPL (>=v3) mschaefer@9157: * and comes with ABSOLUTELY NO WARRANTY! Check out the mschaefer@9157: * documentation coming with Dive4Elements River for details. mschaefer@9157: */ mschaefer@9157: mschaefer@9157: package org.dive4elements.river.artifacts.sinfo.collision; mschaefer@9157: mschaefer@9157: import org.dive4elements.artifactdatabase.state.Facet; gernotbelger@9215: import org.dive4elements.river.artifacts.sinfo.common.SInfoResultFacet; mschaefer@9157: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; mschaefer@9157: mschaefer@9157: /** mschaefer@9157: * Facet for calculated river bed collision counts mschaefer@9157: * mschaefer@9157: * @author Matthias Schäfer mschaefer@9157: */ gernotbelger@9215: public class CollisionCalcFacet extends SInfoResultFacet { mschaefer@9157: mschaefer@9157: private static final long serialVersionUID = 1; gernotbelger@9215: private int year; mschaefer@9157: gernotbelger@9215: private CollisionCalcFacet() { gernotbelger@9215: super(); mschaefer@9157: // required for clone operation deepCopy() mschaefer@9157: } mschaefer@9157: gernotbelger@9215: public CollisionCalcFacet(final int facetIndex, final int resultIndex, final int year, final String name, final String description, gernotbelger@9215: final String yAxisLabelKey, final ComputeType type, final String hash, final String stateId) { gernotbelger@9215: super(facetIndex, resultIndex, name, description, yAxisLabelKey, type, stateId, hash); gernotbelger@9215: gernotbelger@9215: this.year = year; mschaefer@9157: } mschaefer@9157: gernotbelger@9215: public int getYear() { gernotbelger@9215: return this.year; mschaefer@9157: } mschaefer@9157: mschaefer@9157: /** Copy deeply. */ mschaefer@9157: @Override mschaefer@9157: public Facet deepCopy() { mschaefer@9157: // FIXME: why not simply use the full constructor instead? mschaefer@9157: final CollisionCalcFacet copy = new CollisionCalcFacet(); mschaefer@9157: // FIXME: why does DataFacet does not override set? Bad access to variables of parent! mschaefer@9157: copy.set(this); mschaefer@9157: copy.type = this.type; mschaefer@9157: copy.hash = this.hash; mschaefer@9157: copy.stateId = this.stateId; gernotbelger@9215: copy.year = this.year; mschaefer@9157: return copy; mschaefer@9157: } mschaefer@9157: }