simpleType derived from xsd:decimal with constraints

1 schema

    <simpleType name="Number1">
        <restriction base="xsd:decimal">
            <maxExclusive value="99"/>
            <minExclusive value="-99"/>
        </restriction>
    </simpleType>

2 Number1 Bean

// Generated from simple.xsd
// On Mon Dec 08 11:11:31 EST 2003
                                                                           
package simple;
                                                                           
public class Number1
 implements java.io.Serializable
{
    public Number1(java.lang.String value) {
    |   if (value == null) throw new IllegalArgumentException("can not instantiate simple type with null value");
    |   java.math.BigDecimal cVal = parse(value);
    |   setValue(cVal);
    }
                                                                           
    public Number1(java.math.BigDecimal value) {
    |   if (value == null) throw new IllegalArgumentException("can not instantiate simple type with null value");
    |   setValue(value);
    }
                                                                           
    private java.math.BigDecimal _value;
                                                                           
    public java.math.BigDecimal getValue() {
    |   return _value;
    }
                                                                           
    public void setValue(java.math.BigDecimal val) {
    |   if (val == null) throw new IllegalArgumentException("can not set null value for simple content");
    |   validate(val);
    |   _value = val;
    }
                                                                           
    private void validate(java.lang.String val) {
    }
                                                                           
    private static final java.math.BigDecimal _maxExclusiveVal = new java.math.BigDecimal("99");;
    private static final java.math.BigDecimal _minExclusiveVal = new java.math.BigDecimal("-99");;
                                                                           
    private void validate(java.math.BigDecimal val) {
    |   if (val.compareTo(_maxExclusiveVal) >= 0) throw new IllegalArgumentException("invalid content as per maxExclusive constraint: "+val);
    |                                                                      
    |   if (val.compareTo(_minExclusiveVal) <= 0) throw new IllegalArgumentException("invalid content as per minExclusive constraint: "+val);
    |                                                                      
    }
                                                                           
    private java.math.BigDecimal parse(java.lang.String val) {
    |   return new java.math.BigDecimal(val);
    }
                                                                           
    public java.lang.String toString() { return getContent(_value); }
                                                                           
    protected static java.lang.String getContent(java.math.BigDecimal val) { return java.lang.String.valueOf(val); }
                                                                           
    public boolean equals(java.lang.Object object) {
    |   if (object == null) return false;
    |   if (!(simple.Number1.class.isAssignableFrom(object.getClass()))) return false;
    |   simple.Number1 obj = (simple.Number1) object;
    |                                                                      
    |   return obj._value.equals(_value);
    }
                                                                           
    public int hashCode() { return toString().hashCode(); }
                                                                           
    /**@deprecated since jBroker Web 2.0 use getValue*/
    public java.lang.String getContent() { return toString(); }
                                                                           
    /**@deprecated since jBroker Web 2.0, use setValue*/
    public void setContent(java.lang.String val) { setValue(new simple.Number1(val).getValue()); }
                                                                           
}

3 Number1 Marshaler

// Generated from simple.xsd
// On Mon Dec 08 11:11:31 EST 2003
                                                                           
package simple;
                                                                           
public class Number1Marshaler
 implements com.sssw.jbroker.web.encoding.Marshaler
{
    public void serialize(com.sssw.jbroker.web.portable.OutputStream os, java.lang.Object object) throws java.io.IOException
    {
    |   simple.Number1 obj = (simple.Number1) object;
    |   os.writeContent(obj.toString());
    }
                                                                           
    public java.lang.Object deserialize(com.sssw.jbroker.web.portable.InputStream is, java.lang.Class javaType) throws java.io.IOException
    {
    |   if (!simple.Number1.class.isAssignableFrom(javaType))
    |       throw new
    |           com.sssw.jbroker.web.ServiceException("can not deserialize " + javaType.getName());
    |                                                                      
    |   simple.Number1 obj = new simple.Number1(is.readContent());
    |                                                                      
    |   return obj;
    }
    public com.sssw.jbroker.web.encoding.Attribute[] getAttributes(java.lang.Object object)
    {
    |   javax.xml.namespace.QName qname = null;
    |   java.lang.String attVal = null;
    |   java.util.ArrayList attribs = new java.util.ArrayList();
    |   com.sssw.jbroker.web.encoding.Attribute[] attrs = null;
    |   com.sssw.jbroker.web.encoding.Attribute attr = null;
    |   simple.Number1 obj = (simple.Number1) object;
    |   return null;
    }
                                                                           
                                                                           
    public java.lang.String getMechanismType() { return null; }
}
Copyright © 2000-2003, Novell, Inc. All rights reserved.