Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java @ 3468:f37e7e8907cb
merged flys-artifacts/2.8.1
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:39 +0200 |
parents | 5642a83420f2 |
children | 8e66293c5369 |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; /** * Facet with user-supplied theme-control-information (pos in list, * active/disabled etc) attached. */ public class ManagedFacet extends DefaultFacet { /** The uuid of the owner artifact. */ protected String uuid; /** A property that determines the position of this facet. */ protected int position; /** A property that determines if this facet is active or not. */ protected int active; /** The logger that is used in this class. */ private static Logger logger = Logger.getLogger(ManagedFacet.class); /** A property that determines if this facet is visible or not. */ protected int visible; public ManagedFacet() { } public ManagedFacet( String name, int index, String desc, String uuid, int pos, int active, int visible) { super(index, name, desc); this.uuid = uuid; this.position = pos; this.active = active; this.visible = visible; } /** * Sets position (will be merged to position in ThemeList). */ public void setPosition(int pos) { this.position = pos; } public int getPosition() { return position; } public void setActive(int active) { this.active = active; } public int getActive() { return active; } public void setVisible(int visible) { this.visible = visible; } public int getVisible() { return visible; } /** * Get uuid of related artifact. * @return uuid of related artifact. */ public String getArtifact() { return uuid; } public Node toXML(Document doc) { ElementCreator ec = new ElementCreator( doc, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX); Element facet = ec.create("theme"); ec.addAttr(facet, "artifact", getArtifact(), true); ec.addAttr(facet, "facet", getName(), true); ec.addAttr(facet, "pos", String.valueOf(getPosition()), true); ec.addAttr(facet, "active", String.valueOf(getActive()), true); ec.addAttr(facet, "index", String.valueOf(getIndex()), true); ec.addAttr(facet, "description", getDescription(), true); ec.addAttr(facet, "visible", String.valueOf(getVisible()), true); return facet; } public void set(ManagedFacet other) { uuid = other.uuid; position = other.position; active = other.active; } @Override public Facet deepCopy() { ManagedFacet copy = new ManagedFacet(); copy.set((DefaultFacet)this); copy.set((ManagedFacet)this); return copy; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :