Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java @ 1061:b1b0a0b61845
Made facets cloneable with the right type.
flys-artifacts/trunk@2533 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 23 Aug 2011 13:17:21 +0000 |
parents | 3fd891d5228d |
children | b1ed0ec0236f |
comparison
equal
deleted
inserted
replaced
1060:2d60a875e28c | 1061:b1b0a0b61845 |
---|---|
2 | 2 |
3 import de.intevation.artifacts.Artifact; | 3 import de.intevation.artifacts.Artifact; |
4 import de.intevation.artifacts.CallContext; | 4 import de.intevation.artifacts.CallContext; |
5 | 5 |
6 import de.intevation.artifactdatabase.state.DefaultFacet; | 6 import de.intevation.artifactdatabase.state.DefaultFacet; |
7 import de.intevation.artifactdatabase.state.Facet; | |
7 | 8 |
8 import de.intevation.flys.artifacts.FLYSArtifact; | 9 import de.intevation.flys.artifacts.FLYSArtifact; |
9 | 10 |
10 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; | 11 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; |
11 | 12 |
13 extends DefaultFacet | 14 extends DefaultFacet |
14 { | 15 { |
15 protected ComputeType type; | 16 protected ComputeType type; |
16 protected String hash; | 17 protected String hash; |
17 protected String stateId; | 18 protected String stateId; |
19 | |
20 public DataFacet() { | |
21 } | |
18 | 22 |
19 public DataFacet(String name, String description) { | 23 public DataFacet(String name, String description) { |
20 this(name, description, ComputeType.ADVANCE); | 24 this(name, description, ComputeType.ADVANCE); |
21 } | 25 } |
22 | 26 |
47 this.type = type; | 51 this.type = type; |
48 this.hash = hash; | 52 this.hash = hash; |
49 this.stateId = stateId; | 53 this.stateId = stateId; |
50 } | 54 } |
51 | 55 |
56 @Override | |
52 public Object getData(Artifact artifact, CallContext context) { | 57 public Object getData(Artifact artifact, CallContext context) { |
53 FLYSArtifact flys = (FLYSArtifact)artifact; | 58 FLYSArtifact flys = (FLYSArtifact)artifact; |
54 String theHash = hash != null ? hash : flys.hash(); | 59 String theHash = hash != null ? hash : flys.hash(); |
55 | 60 |
56 return stateId != null && stateId.length() > 0 | 61 return stateId != null && stateId.length() > 0 |
57 ? flys.compute(context, stateId, theHash, type, false) | 62 ? flys.compute(context, stateId, theHash, type, false) |
58 : flys.compute(context, theHash, type, false); | 63 : flys.compute(context, theHash, type, false); |
59 } | 64 } |
65 | |
66 @Override | |
67 public Facet deepCopy() { | |
68 DataFacet copy = new DataFacet(); | |
69 copy.set(this); | |
70 copy.type = type; | |
71 copy.hash = hash; | |
72 copy.stateId = stateId; | |
73 return copy; | |
74 } | |
60 } | 75 } |
61 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 76 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |