Continued...

__________________________________________________
Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day
http://shopping.yahoo.com
package net.sf.jaxme.generator.types.impl;

import javax.xml.namespace.QName;

import net.sf.jaxme.generator.jaxb.impl.JAXBSchemaReader;

/**
 * Implementation of the datatype <code>negativeInteger</code>.
 * 
 * @author <a hrfer="mailto:[EMAIL PROTECTED]>Marty Kube</a>
 * @version $Id: $
 */
public class NegativeIntegerType extends NonPositiveIntegerType {
  
  /** QName of this type. */
  private final static QName qName = 
    new QName(JAXBSchemaReader.XML_SCHEMA_URI, "negativeInteger");

  /** The upper limit on maxInclusive facet, which is -1 for NegativeInteger.*/
  private final Integer MAX_MAX_INCLUSIVE = new Integer(-1);
  
  /** The upper limit on maxExclusive facet, which is 0 for NegativeInteger.*/
  private final Integer MAX_MAX_EXCLUSIVE = new Integer(0);

  public NegativeIntegerType() {}

  public QName getQName() {
    return qName;
  }

  protected Integer getMaxMaxInclusive() {
    return MAX_MAX_INCLUSIVE;
  }

  protected Integer getMaxMaxExclusive() {
    return MAX_MAX_EXCLUSIVE;
  }
}
package net.sf.jaxme.generator.types.impl;

import javax.xml.namespace.QName;

import net.sf.jaxme.generator.jaxb.impl.JAXBSchemaReader;

/**
 * Implementation of the datatype <code>nonPositiveInteger</code>.
 * 
 * @author <a hrfer="mailto:[EMAIL PROTECTED]>Marty Kube</a>
 * @version $Id: $
 */
public class NonPositiveIntegerType extends IntegerType {

  /** QName of this type. */
  private final static QName qName = 
    new QName(JAXBSchemaReader.XML_SCHEMA_URI, "nonPositiveInteger");
    
  /** The upper limit on maxInclusive facet, which is 0 for NonPositiveIntegers.*/
  private final Integer MAX_MAX_INCLUSIVE = new Integer(0);

  /** The upper limit on maxExclusive facet, which is 1 for NonPositiveIntegers.*/
  private final Integer MAX_MAX_EXCLUSIVE = new Integer(1);
    
  public NonPositiveIntegerType() {}

  public QName getQName() {
    return qName;
  }
    
  public void setMaxInclusive(Integer pValue) {
    if (pValue != null && pValue.compareTo(getMaxMaxInclusive()) > 0) {
      String exceptionMsg = "The maxInclusive value of a " + qName.getLocalPart() +
        " must be <= " + getMaxMaxInclusive();
      throw new IllegalArgumentException(exceptionMsg);
    }
    super.setMaxInclusive(pValue);
  }
        
  public Integer getMaxInclusive() {
    Integer result = super.getMaxInclusive();
    if (result == null) {
      result = getMaxMaxInclusive();
    }
    return result;
  }
        
  public void setMaxExclusive(Integer pValue) {
    if (pValue != null && pValue.compareTo(getMaxMaxExclusive()) > 0) {
      String exceptionMsg = "The maxExclusive value of a " + qName.getLocalPart() +
        " must be <= " + getMaxMaxExclusive();
      throw new IllegalArgumentException(exceptionMsg);
    }
    super.setMaxExclusive(pValue);
  }

  public Integer getMaxExclusive() {
    Integer result = super.getMaxExclusive();
    if (result == null) {
      result = getMaxMaxExclusive();
    }
    return result;
  }

  /**
   * Fetch the largest allowed value of the maxInclusive facet.
   * @return {@link #MAX_MAX_INCLUSIVE}.
   */
  protected Integer getMaxMaxInclusive() {
    return MAX_MAX_INCLUSIVE;
  }

  /**
   * Fetch the largest allowed value of the maxExclusive facet.
   * @return {@link #MAX_MAX_EXCLUSIVE}.
   */
  protected Integer getMaxMaxExclusive() {
    return MAX_MAX_EXCLUSIVE;
  }
}
    

Index: MarshallerTest.java
===================================================================
RCS file: /cvsroot/jaxme/JaxMe2/src/net/sf/jaxme/junit/MarshallerTest.java,v
retrieving revision 1.6
diff -d -u -r1.6 MarshallerTest.java
--- MarshallerTest.java 12 Feb 2003 18:55:45 -0000      1.6
+++ MarshallerTest.java 20 Feb 2003 01:15:32 -0000
@@ -105,6 +105,12 @@
     element.setDurationElem(getDuration());
     element.setHexBinaryElem(getHexBytes());
     element.setBase64BinaryElem(getHexBytes());
+    element.setNmTokenElem("these are some nm tokens");
+    element.setDecimalElem(new BigDecimal("6.023e23"));
+    element.setIntegerElem(new BigDecimal("-6023e20"));
+    element.setPositiveIntegerElem(new BigDecimal("+6023e20"));
+    element.setNonPositiveIntegerElem(new BigDecimal("-21714"));
+    element.setNegativeIntegerElem(new BigDecimal("-21714"));
     return element;
   }
 
@@ -135,6 +141,12 @@
       "<ex:DurationElem>P1Y2M3DT4H5M" + NumberFormat.getInstance().format(6.7) + 
"S</ex:DurationElem>" +
       "<ex:HexBinaryElem>0111234E739DBBFF</ex:HexBinaryElem>" +
       "<ex:Base64BinaryElem>AREjTnOdu/8=</ex:Base64BinaryElem>" +
+      "<ex:NmTokenElem>these are some nm tokens</ex:NmTokenElem>" +
+      "<ex:DecimalElem>602300000000000000000000</ex:DecimalElem>" +
+      "<ex:IntegerElem>-602300000000000000000000</ex:IntegerElem>" +
+      "<ex:PositiveIntegerElem>602300000000000000000000</ex:PositiveIntegerElem>" +
+      "<ex:NonPositiveIntegerElem>-21714</ex:NonPositiveIntegerElem>" +
+      "<ex:NegativeIntegerElem>-21714</ex:NegativeIntegerElem>" +
       "</ex:AllSimpleTypesElement>";
   }
 
@@ -154,6 +166,12 @@
       "    <ex:DurationElem>P1Y2M3DT4H5M" + NumberFormat.getInstance().format(6.7) + 
"S</ex:DurationElem>\n" +
       "    <ex:HexBinaryElem>0111234E739DBBFF</ex:HexBinaryElem>\n" +
       "    <ex:Base64BinaryElem>AREjTnOdu/8=</ex:Base64BinaryElem>\n" +
+      "    <ex:NmTokenElem>these are some nm tokens</ex:NmTokenElem>\n" +
+      "    <ex:DecimalElem>602300000000000000000000</ex:DecimalElem>\n" +
+      "    <ex:IntegerElem>-602300000000000000000000</ex:IntegerElem>\n" +
+      "    
+<ex:PositiveIntegerElem>602300000000000000000000</ex:PositiveIntegerElem>\n" +
+      "    <ex:NonPositiveIntegerElem>-21714</ex:NonPositiveIntegerElem>\n" +
+      "    <ex:NegativeIntegerElem>-21714</ex:NegativeIntegerElem>\n" +
       "  </ex:AllSimpleTypesElement>\n" +
       "  <ex:ListTypeElement>7 -3 0</ex:ListTypeElement>\n" +
       "  <ex:UnionTypeElement>" + 
DateFormat.getDateTimeInstance().format(getDateTime().getTime()) + 
"</ex:UnionTypeElement>\n" +

Reply via email to