ingo@945: package de.intevation.flys.artifacts.model; ingo@945: ingo@945: import org.w3c.dom.Document; ingo@945: import org.w3c.dom.Element; ingo@945: import org.w3c.dom.Node; ingo@945: ingo@945: import de.intevation.artifacts.ArtifactNamespaceContext; ingo@945: ingo@945: ingo@945: public class ManagedDomFacet extends ManagedFacet { ingo@945: ingo@945: protected Element facet; ingo@945: ingo@945: ingo@945: public ManagedDomFacet(Element facet) { ingo@945: super(null, -1, null, null, -1, -1); ingo@945: ingo@945: this.facet = facet; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public int getIndex() { ingo@945: if (this.index < 0) { ingo@945: String index = facet.getAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, "index"); ingo@945: ingo@945: if (index != null && index.length() > 0) { ingo@945: this.index = Integer.parseInt(index); ingo@945: } ingo@945: } ingo@945: ingo@945: return this.index; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public String getName() { ingo@945: if (this.name == null || this.name.length() == 0) { ingo@945: String name = facet.getAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, "facet"); ingo@945: ingo@945: this.name = name; ingo@945: } ingo@945: ingo@945: return this.name; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public String getDescription() { ingo@945: if (this.description == null || this.description.length() == 0) { ingo@945: String description = facet.getAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, "description"); ingo@945: ingo@945: this.description = description; ingo@945: } ingo@945: ingo@945: return this.description; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public int getPosition() { ingo@945: if (this.position < 0) { ingo@945: String position = facet.getAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, "pos"); ingo@945: ingo@945: if (position != null && position.length() > 0) { ingo@945: this.position = Integer.parseInt(position); ingo@945: } ingo@945: } ingo@945: ingo@945: return this.position; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public void setPosition(int position) { ingo@945: this.position = position; ingo@945: ingo@945: facet.setAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, ingo@945: "pos", ingo@945: String.valueOf(position)); ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public int getActive() { ingo@945: if (this.active < 0) { ingo@945: String active = facet.getAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, "active"); ingo@945: ingo@945: if (active != null && active.length() > 0) { ingo@945: this.active = Integer.parseInt(active); ingo@945: } ingo@945: } ingo@945: ingo@945: return this.active; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public void setActive(int active) { ingo@945: this.active = active; ingo@945: ingo@945: facet.setAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, ingo@945: "active", ingo@945: String.valueOf(active)); ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public String getArtifact() { ingo@945: if (this.uuid == null || this.uuid.length() == 0) { ingo@945: String uuid = facet.getAttributeNS( ingo@945: ArtifactNamespaceContext.NAMESPACE_URI, "artifact"); ingo@945: ingo@945: this.uuid = uuid; ingo@945: } ingo@945: ingo@945: return this.uuid; ingo@945: } ingo@945: ingo@945: ingo@945: @Override ingo@945: public Node toXML(Document doc) { ingo@945: return doc.importNode(facet, true); ingo@945: } ingo@945: } ingo@945: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :