felix@1026: package de.intevation.flys.artifacts.model; felix@1026: ingo@1677: import java.util.List; ingo@1677: felix@1026: import org.apache.log4j.Logger; felix@1026: felix@1026: import de.intevation.artifacts.Artifact; felix@1026: import de.intevation.artifacts.CallContext; felix@1026: felix@1026: import de.intevation.flys.artifacts.AnnotationArtifact; ingo@1677: import de.intevation.flys.jfree.FLYSAnnotation; ingo@1677: ingo@1677: import de.intevation.flys.model.Annotation; felix@1026: felix@1026: import de.intevation.artifactdatabase.state.DefaultFacet; sascha@1061: import de.intevation.artifactdatabase.state.Facet; felix@1026: felix@1026: /** felix@1077: * Facet to access Annotations (landmarks, POIs) of a river. felix@1026: */ felix@1026: public class AnnotationFacet felix@1026: extends DefaultFacet felix@1026: { felix@1026: /** Logger for this class. */ felix@1026: private static final Logger logger = Logger.getLogger(AnnotationFacet.class); felix@1026: felix@1077: felix@1077: /** felix@1077: * Trivial Constructor. felix@1077: */ sascha@1061: public AnnotationFacet() { sascha@1061: } sascha@1061: felix@1026: felix@1026: /** felix@1026: * Trivial Constructor for a AnnotationFacet. felix@1026: * felix@1026: * @param index Database-Index to use. felix@1026: * @param name Name (~type) of Facet. felix@1026: * @param description Description of Facet. felix@1026: */ felix@1026: public AnnotationFacet(int index, String name, String description) { felix@1026: super(index, name, description); felix@1026: } felix@1026: felix@1026: felix@1026: /** felix@1026: * Get List of Annotations for river from Artifact. felix@1026: * felix@1026: * @param artifact (Annotation-)Artifact to query for list of Annotations. felix@1026: * @param context Ignored. felix@1026: */ felix@1026: @Override felix@1026: public Object getData(Artifact artifact, CallContext context) { felix@1077: AnnotationArtifact annotationArtifact = (AnnotationArtifact) artifact; ingo@1677: List annotations = annotationArtifact.getAnnotations(); ingo@1677: ingo@1677: return new FLYSAnnotation(description, annotations); felix@1026: } sascha@1061: felix@1077: sascha@1061: @Override sascha@1061: public Facet deepCopy() { sascha@1061: AnnotationFacet copy = new AnnotationFacet(); sascha@1061: copy.set(this); sascha@1061: return copy; sascha@1061: } felix@1026: }