diff 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
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java	Tue Aug 23 13:05:54 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DataFacet.java	Tue Aug 23 13:17:21 2011 +0000
@@ -4,6 +4,7 @@
 import de.intevation.artifacts.CallContext;
 
 import de.intevation.artifactdatabase.state.DefaultFacet;
+import de.intevation.artifactdatabase.state.Facet;
 
 import de.intevation.flys.artifacts.FLYSArtifact;
 
@@ -16,6 +17,9 @@
     protected String      hash;
     protected String      stateId;
 
+    public DataFacet() {
+    }
+
     public DataFacet(String name, String description) {
         this(name, description, ComputeType.ADVANCE);
     }
@@ -49,6 +53,7 @@
         this.stateId = stateId;
     }
 
+    @Override
     public Object getData(Artifact artifact, CallContext context) {
         FLYSArtifact flys = (FLYSArtifact)artifact;
         String    theHash = hash != null ? hash : flys.hash();
@@ -57,5 +62,15 @@
             ? flys.compute(context, stateId, theHash, type, false)
             : flys.compute(context, theHash, type, false);
     }
+
+    @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 :

http://dive4elements.wald.intevation.org