view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManagedFacetAdapter.java @ 3806:881fcd01e056

merged flys-artifacts/pre2.6-2011-11-04
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:50 +0200
parents a70e0cbc5e02
children 9144e5a5027b
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import de.intevation.artifacts.ArtifactNamespaceContext;

import de.intevation.artifactdatabase.state.DefaultFacet;
import de.intevation.artifactdatabase.state.Facet;

import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;


public class ManagedFacetAdapter extends ManagedFacet {

    protected Facet facet;

    public ManagedFacetAdapter() {
    }

    public ManagedFacetAdapter(
        Facet   facet,
        String  uuid,
        int     pos,
        int     active,
        int     visible
    ) {
        super(
            facet.getName(),
            facet.getIndex(),
            facet.getDescription(),
            uuid,
            pos,
            active,
            visible);

        this.facet = facet;
    }


    @Override
    public Node toXML(Document doc) {
        ElementCreator ec = new ElementCreator(
            doc,
            ArtifactNamespaceContext.NAMESPACE_URI,
            ArtifactNamespaceContext.NAMESPACE_PREFIX);

        Element e = (Element) facet.toXML(doc);
        ec.addAttr(e, "artifact", getArtifact(), true);
        ec.addAttr(e, "facet", getName(), true);
        ec.addAttr(e, "pos", String.valueOf(getPosition()), true);
        ec.addAttr(e, "active", String.valueOf(getActive()), true);
        ec.addAttr(e, "visible", String.valueOf(getVisible()), true);

        return e;
    }

    @Override
    public Facet deepCopy() {
        ManagedFacetAdapter copy = new ManagedFacetAdapter();
        copy.set((DefaultFacet)this);
        copy.set((ManagedFacet)this);
        copy.facet = facet.deepCopy();
        return facet;
    }
}

http://dive4elements.wald.intevation.org