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" +