annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationFacet.java @ 9215:0fc9c82e744e

work on collison, flood_duration
author gernotbelger
date Tue, 03 Jul 2018 17:00:48 +0200
parents
children 08f46ccd37ba
rev   line source
9215
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
2 * Software engineering by
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
5 *
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
9 */
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.sinfo.flood_duration;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
11
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
12 import org.dive4elements.artifactdatabase.state.Facet;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
13 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultFacet;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
15
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
16 /**
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
17 * @author Domenico Nardi Tironi
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
18 */
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
19 final class FloodDurationFacet extends SInfoResultFacet {
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
20
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
21 private static final long serialVersionUID = 1L;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
22
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
23 protected int waterlevelIndex = -1; // for custom result
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
24
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
25 private FloodDurationFacet() {
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
26 // required for clone operation deepCopy()
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
27 }
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
28
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
29 public FloodDurationFacet(final int facetIndex, final int resultIndex, final int waterlevelIndex, final String name, final String description,
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
30 final ComputeType type, final String yAxisLabelKey, final String hash, final String stateId) {
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
31 super(facetIndex, resultIndex, name, description, yAxisLabelKey, type, stateId, hash);
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
32
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
33 this.waterlevelIndex = waterlevelIndex;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
34 }
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
35
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
36 public int getWaterlevelIndex() {
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
37 return this.waterlevelIndex;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
38 }
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
39
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
40 /** Copy deeply. */
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
41 @Override
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
42 public Facet deepCopy() {
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
43 // FIXME: why not simply use the full constructor instead?
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
44 final FloodDurationFacet copy = new FloodDurationFacet();
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
45 // FIXME: why does DataFacet does not override set? Bad access to variables of parent!
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
46 copy.set(this);
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
47 copy.type = this.type;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
48 copy.hash = this.hash;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
49 copy.stateId = this.stateId;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
50 copy.waterlevelIndex = this.waterlevelIndex;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
51 return copy;
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
52 }
0fc9c82e744e work on collison, flood_duration
gernotbelger
parents:
diff changeset
53 }

http://dive4elements.wald.intevation.org