Package org.apache.slide.projector.descriptor

Source Code of org.apache.slide.projector.descriptor.NumberValueFactory

package org.apache.slide.projector.descriptor;

import java.math.BigDecimal;
import java.util.Iterator;
import java.util.List;

import org.apache.slide.projector.value.NumberValue;
import org.apache.slide.projector.value.Value;
import org.jdom.Element;

import de.zeigermann.xml.XMLEncode;
import de.zeigermann.xml.XMLStringWriter;
import de.zeigermann.xml.XMLWriter;
import de.zeigermann.xml.simpleImporter.ConversionHelpers;

public class NumberValueFactory implements ValueFactory {
  public Class getValueClass() {
    return NumberValue.class;
  }
 
  public String getElementName() {
      return "number";
    }

    public Value load(Element element) {
    return new NumberValue(new BigDecimal(element.getText()));
  }

    public void save(Value value, XMLStringWriter writer) {
        writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(String.valueOf(((NumberValue)value).getNumber())), XMLWriter.createEndTag(getElementName()));
    }
   
    public ValueDescriptor loadDescriptor(Element element) {
      NumberValueDescriptor valueDescriptor = new NumberValueDescriptor();
        String mininum = element.getAttributeValue("minimum");
        String maximum = element.getAttributeValue("maximum");
        if ( mininum != null ) valueDescriptor.setMinimum(new BigDecimal(mininum));
        if ( maximum != null ) valueDescriptor.setMaximum(new BigDecimal(maximum));
      List allowedValueElements = element.getChildren("allowed-value");
      for ( Iterator i = allowedValueElements.iterator(); i.hasNext(); ) {
        Element allowedValueElement = (Element)i.next();
            boolean isDefault = ConversionHelpers.getBoolean(allowedValueElement.getAttributeValue("default"), false);
            Number allowedValue = new BigDecimal(allowedValueElement.getTextTrim());
            valueDescriptor.addAllowedValue(allowedValue);
      }
      return valueDescriptor;
    }
}
TOP

Related Classes of org.apache.slide.projector.descriptor.NumberValueFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.