ingo@1986: package de.intevation.flys.exports; ingo@1986: ingo@1986: ingo@1986: import org.w3c.dom.Document; ingo@1986: import org.w3c.dom.Element; ingo@1986: import org.w3c.dom.Node; ingo@1986: ingo@1986: import de.intevation.artifactdatabase.state.Attribute; ingo@1986: import de.intevation.artifactdatabase.state.DefaultSection; ingo@1986: ingo@1986: ingo@1986: /** ingo@1986: * @author Ingo Weinzierl ingo@1986: */ ingo@1986: public class AxisSection extends DefaultSection { ingo@1986: ingo@1991: public static final String IDENTIFIER_ATTR = "id"; ingo@1991: public static final String LABEL_ATTR = "label"; ingo@1992: public static final String FONTSIZE_ATTR = "font-size"; ingo@1992: public static final String FIXATION_ATTR = "fixation"; ingo@1992: public static final String UPPERRANGE_ATTR = "upper"; ingo@1992: public static final String LOWERRANGE_ATTR = "lower"; ingo@1991: ingo@1991: ingo@1991: public AxisSection() { ingo@1991: super("axis"); ingo@1991: } ingo@1991: ingo@1991: ingo@1991: public void setIdentifier(String identifier) { ingo@1991: if (identifier == null || identifier.length() == 0) { ingo@1991: return; ingo@1991: } ingo@1991: ingo@1991: Attribute attr = getAttribute(IDENTIFIER_ATTR); ingo@1991: if (attr == null) { ingo@1991: attr = new StringAttribute(IDENTIFIER_ATTR, identifier, false); ingo@1991: addAttribute(IDENTIFIER_ATTR, attr); ingo@1991: } ingo@1991: else { ingo@1991: attr.setValue(identifier); ingo@1991: } ingo@1991: } ingo@1991: ingo@1991: ingo@2050: public String getIdentifier() { ingo@2050: StringAttribute attr = (StringAttribute) getAttribute(IDENTIFIER_ATTR); ingo@2050: ingo@2050: return attr != null ? (String) attr.getValue() : null; ingo@2050: } ingo@2050: ingo@2050: ingo@1991: public void setLabel(String label) { ingo@1991: if (label == null) { ingo@1991: return; ingo@1991: } ingo@1991: ingo@1991: Attribute attr = getAttribute(LABEL_ATTR); ingo@1991: if (attr == null) { ingo@1991: attr = new StringAttribute(LABEL_ATTR, label, true); ingo@1991: addAttribute(LABEL_ATTR, attr); ingo@1991: } ingo@1991: else { ingo@1991: attr.setValue(label); ingo@1991: } ingo@1986: } ingo@1986: ingo@1986: ingo@2051: public String getLabel() { ingo@2051: StringAttribute attr = (StringAttribute) getAttribute(LABEL_ATTR); ingo@2051: return attr != null ? (String) attr.getValue() : null; ingo@2051: } ingo@2051: ingo@2051: ingo@1992: public void setFontSize(int fontSize) { ingo@1992: if (fontSize <= 0) { ingo@1992: return; ingo@1992: } ingo@1992: ingo@1992: Attribute attr = getAttribute(FONTSIZE_ATTR); ingo@1992: if (attr == null) { ingo@1992: attr = new IntegerAttribute(FONTSIZE_ATTR, fontSize, true); ingo@1992: addAttribute(FONTSIZE_ATTR, attr); ingo@1992: } ingo@1992: else { ingo@1992: attr.setValue(fontSize); ingo@1992: } ingo@1992: } ingo@1992: ingo@1992: ingo@1992: public void setFixed(boolean fixed) { ingo@1992: Attribute attr = getAttribute(FIXATION_ATTR); ingo@1992: if (attr == null) { ingo@1992: attr = new BooleanAttribute(FIXATION_ATTR, fixed, true); ingo@1992: addAttribute(FIXATION_ATTR, attr); ingo@1992: } ingo@1992: else { ingo@1992: attr.setValue(fixed); ingo@1992: } ingo@1992: } ingo@1992: ingo@1992: ingo@2050: public Boolean isFixed() { ingo@2050: BooleanAttribute attr = (BooleanAttribute) getAttribute(FIXATION_ATTR); ingo@2050: return attr != null ? (Boolean) attr.getValue() : null; ingo@2050: } ingo@2050: ingo@2050: ingo@1992: public void setUpperRange(double upperRange) { ingo@1992: Attribute attr = getAttribute(UPPERRANGE_ATTR); ingo@1992: if (attr == null) { ingo@1992: attr = new DoubleAttribute(UPPERRANGE_ATTR, upperRange, true); ingo@1992: addAttribute(UPPERRANGE_ATTR, attr); ingo@1992: } ingo@1992: else { ingo@1992: attr.setValue(upperRange); ingo@1992: } ingo@1992: } ingo@1992: ingo@1992: ingo@2050: public Double getUpperRange() { ingo@2050: DoubleAttribute attr = (DoubleAttribute) getAttribute(UPPERRANGE_ATTR); ingo@2050: ingo@2050: return attr != null ? (Double) attr.getValue() : null; ingo@2050: } ingo@2050: ingo@2050: ingo@1992: public void setLowerRange(double lowerRange) { ingo@1992: Attribute attr = getAttribute(LOWERRANGE_ATTR); ingo@1992: if (attr == null) { ingo@1992: attr = new DoubleAttribute(LOWERRANGE_ATTR, lowerRange, true); ingo@1992: addAttribute(LOWERRANGE_ATTR, attr); ingo@1992: } ingo@1992: else { ingo@1992: attr.setValue(lowerRange); ingo@1992: } ingo@1992: } ingo@1992: ingo@1992: ingo@2050: public Double getLowerRange() { ingo@2050: DoubleAttribute attr = (DoubleAttribute) getAttribute(LOWERRANGE_ATTR); ingo@2050: ingo@2050: return attr != null ? (Double) attr.getValue() : null; ingo@2050: } ingo@2050: ingo@2050: ingo@1986: @Override ingo@1986: public void toXML(Node parent) { ingo@1986: Document owner = parent.getOwnerDocument(); ingo@1986: Element axis = owner.createElement("axis"); ingo@1986: ingo@1986: parent.appendChild(axis); ingo@1986: ingo@1986: for (String key: getKeys()) { ingo@1986: Attribute attr = getAttribute(key); ingo@1986: attr.toXML(axis); ingo@1986: } ingo@1986: } ingo@1986: } ingo@1986: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :