You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ne...@apache.org on 2003/01/21 17:47:11 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/dv/xs DecimalDV.java ListDV.java XSSimpleTypeDecl.java
neilg 2003/01/21 08:47:11
Modified: java/src/org/apache/xerces/impl/dv/xs DecimalDV.java
ListDV.java XSSimpleTypeDecl.java
Log:
fix some warnings issued when compiling under JDK 1.2.2
Revision Changes Path
1.7 +211 -211 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DecimalDV.java
Index: DecimalDV.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DecimalDV.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DecimalDV.java 18 Nov 2002 23:10:10 -0000 1.6
+++ DecimalDV.java 21 Jan 2003 16:47:11 -0000 1.7
@@ -96,230 +96,230 @@
return ((XDecimal)value).fracDigits;
}
-} // class DecimalDV
-
-// Avoid using the heavy-weight java.math.BigDecimal
-class XDecimal {
- // sign: 0 for vlaue 0; 1 for positive values; -1 for negative values
- int sign = 1;
- // total digits. >= 1
- int totalDigits = 0;
- // integer digits when sign != 0
- int intDigits = 0;
- // fraction digits when sign != 0
- int fracDigits = 0;
- // the string representing the integer part
- String ivalue = "";
- // the string representing the fraction part
- String fvalue = "";
- // whether the canonical form contains decimal point
- boolean integer = false;
-
- XDecimal(String content) throws NumberFormatException {
- initD(content);
- }
- XDecimal(String content, boolean integer) throws NumberFormatException {
- if (integer)
- initI(content);
- else
- initD(content);
- }
- void initD(String content) throws NumberFormatException {
- int len = content.length();
- if (len == 0)
- throw new NumberFormatException();
-
- // these 4 variables are used to indicate where the integre/fraction
- // parts start/end.
- int intStart = 0, intEnd = 0, fracStart = 0, fracEnd = 0;
+ // Avoid using the heavy-weight java.math.BigDecimal
+ static class XDecimal {
+ // sign: 0 for vlaue 0; 1 for positive values; -1 for negative values
+ int sign = 1;
+ // total digits. >= 1
+ int totalDigits = 0;
+ // integer digits when sign != 0
+ int intDigits = 0;
+ // fraction digits when sign != 0
+ int fracDigits = 0;
+ // the string representing the integer part
+ String ivalue = "";
+ // the string representing the fraction part
+ String fvalue = "";
+ // whether the canonical form contains decimal point
+ boolean integer = false;
- // Deal with leading sign symbol if present
- if (content.charAt(0) == '+') {
- // skip '+', so intStart should be 1
- intStart = 1;
- }
- else if (content.charAt(0) == '-') {
- // keep '-', so intStart is stil 0
- intStart = 1;
- sign = -1;
+ XDecimal(String content) throws NumberFormatException {
+ initD(content);
}
-
- // skip leading zeroes in integer part
- int actualIntStart = intStart;
- while (actualIntStart < len && content.charAt(actualIntStart) == '0') {
- actualIntStart++;
+ XDecimal(String content, boolean integer) throws NumberFormatException {
+ if (integer)
+ initI(content);
+ else
+ initD(content);
}
-
- // Find the ending position of the integer part
- for (intEnd = actualIntStart;
- intEnd < len && TypeValidator.isDigit(content.charAt(intEnd));
- intEnd++);
-
- // Not reached the end yet
- if (intEnd < len) {
- // the remaining part is not ".DDD", error
- if (content.charAt(intEnd) != '.')
+ void initD(String content) throws NumberFormatException {
+ int len = content.length();
+ if (len == 0)
throw new NumberFormatException();
-
- // fraction part starts after '.', and ends at the end of the input
- fracStart = intEnd + 1;
- fracEnd = len;
- }
-
- // no integer part, no fraction part, error.
- if (intStart == intEnd && fracStart == fracEnd)
- throw new NumberFormatException();
-
- // ignore trailing zeroes in fraction part
- while (fracEnd > fracStart && content.charAt(fracEnd-1) == '0') {
- fracEnd--;
- }
-
- // check whether there is non-digit characters in the fraction part
- for (int fracPos = fracStart; fracPos < fracEnd; fracPos++) {
- if (!TypeValidator.isDigit(content.charAt(fracPos)))
+
+ // these 4 variables are used to indicate where the integre/fraction
+ // parts start/end.
+ int intStart = 0, intEnd = 0, fracStart = 0, fracEnd = 0;
+
+ // Deal with leading sign symbol if present
+ if (content.charAt(0) == '+') {
+ // skip '+', so intStart should be 1
+ intStart = 1;
+ }
+ else if (content.charAt(0) == '-') {
+ // keep '-', so intStart is stil 0
+ intStart = 1;
+ sign = -1;
+ }
+
+ // skip leading zeroes in integer part
+ int actualIntStart = intStart;
+ while (actualIntStart < len && content.charAt(actualIntStart) == '0') {
+ actualIntStart++;
+ }
+
+ // Find the ending position of the integer part
+ for (intEnd = actualIntStart;
+ intEnd < len && TypeValidator.isDigit(content.charAt(intEnd));
+ intEnd++);
+
+ // Not reached the end yet
+ if (intEnd < len) {
+ // the remaining part is not ".DDD", error
+ if (content.charAt(intEnd) != '.')
+ throw new NumberFormatException();
+
+ // fraction part starts after '.', and ends at the end of the input
+ fracStart = intEnd + 1;
+ fracEnd = len;
+ }
+
+ // no integer part, no fraction part, error.
+ if (intStart == intEnd && fracStart == fracEnd)
throw new NumberFormatException();
+
+ // ignore trailing zeroes in fraction part
+ while (fracEnd > fracStart && content.charAt(fracEnd-1) == '0') {
+ fracEnd--;
+ }
+
+ // check whether there is non-digit characters in the fraction part
+ for (int fracPos = fracStart; fracPos < fracEnd; fracPos++) {
+ if (!TypeValidator.isDigit(content.charAt(fracPos)))
+ throw new NumberFormatException();
+ }
+
+ intDigits = intEnd - actualIntStart;
+ fracDigits = fracEnd - fracStart;
+ totalDigits = (intDigits == 0 ? 1 : intDigits) + fracDigits;
+
+ if (intDigits > 0) {
+ ivalue = content.substring(actualIntStart, intEnd);
+ if (fracDigits > 0)
+ fvalue = content.substring(fracStart, fracEnd);
+ }
+ else {
+ if (fracDigits > 0) {
+ fvalue = content.substring(fracStart, fracEnd);
+ }
+ else {
+ // ".00", treat it as "0"
+ sign = 0;
+ }
+ }
}
-
- intDigits = intEnd - actualIntStart;
- fracDigits = fracEnd - fracStart;
- totalDigits = (intDigits == 0 ? 1 : intDigits) + fracDigits;
-
- if (intDigits > 0) {
- ivalue = content.substring(actualIntStart, intEnd);
- if (fracDigits > 0)
- fvalue = content.substring(fracStart, fracEnd);
- }
- else {
- if (fracDigits > 0) {
- fvalue = content.substring(fracStart, fracEnd);
+ void initI(String content) throws NumberFormatException {
+ int len = content.length();
+ if (len == 0)
+ throw new NumberFormatException();
+
+ // these 2 variables are used to indicate where the integre start/end.
+ int intStart = 0, intEnd = 0;
+
+ // Deal with leading sign symbol if present
+ if (content.charAt(0) == '+') {
+ // skip '+', so intStart should be 1
+ intStart = 1;
+ }
+ else if (content.charAt(0) == '-') {
+ // keep '-', so intStart is stil 0
+ intStart = 1;
+ sign = -1;
+ }
+
+ // skip leading zeroes in integer part
+ int actualIntStart = intStart;
+ while (actualIntStart < len && content.charAt(actualIntStart) == '0') {
+ actualIntStart++;
+ }
+
+ // Find the ending position of the integer part
+ for (intEnd = actualIntStart;
+ intEnd < len && TypeValidator.isDigit(content.charAt(intEnd));
+ intEnd++);
+
+ // Not reached the end yet, error
+ if (intEnd < len)
+ throw new NumberFormatException();
+
+ // no integer part, error.
+ if (intStart == intEnd)
+ throw new NumberFormatException();
+
+ intDigits = intEnd - actualIntStart;
+ fracDigits = 0;
+ totalDigits = intDigits == 0 ? 1 : intDigits;
+
+ if (intDigits > 0) {
+ ivalue = content.substring(actualIntStart, intEnd);
}
else {
- // ".00", treat it as "0"
+ // "00", treat it as "0"
sign = 0;
}
+
+ integer = true;
}
- }
- void initI(String content) throws NumberFormatException {
- int len = content.length();
- if (len == 0)
- throw new NumberFormatException();
-
- // these 2 variables are used to indicate where the integre start/end.
- int intStart = 0, intEnd = 0;
-
- // Deal with leading sign symbol if present
- if (content.charAt(0) == '+') {
- // skip '+', so intStart should be 1
- intStart = 1;
- }
- else if (content.charAt(0) == '-') {
- // keep '-', so intStart is stil 0
- intStart = 1;
- sign = -1;
- }
-
- // skip leading zeroes in integer part
- int actualIntStart = intStart;
- while (actualIntStart < len && content.charAt(actualIntStart) == '0') {
- actualIntStart++;
- }
-
- // Find the ending position of the integer part
- for (intEnd = actualIntStart;
- intEnd < len && TypeValidator.isDigit(content.charAt(intEnd));
- intEnd++);
-
- // Not reached the end yet, error
- if (intEnd < len)
- throw new NumberFormatException();
-
- // no integer part, error.
- if (intStart == intEnd)
- throw new NumberFormatException();
-
- intDigits = intEnd - actualIntStart;
- fracDigits = 0;
- totalDigits = intDigits == 0 ? 1 : intDigits;
-
- if (intDigits > 0) {
- ivalue = content.substring(actualIntStart, intEnd);
- }
- else {
- // "00", treat it as "0"
- sign = 0;
- }
-
- integer = true;
- }
- public boolean equals(Object val) {
- if (val == this)
- return true;
-
- if (!(val instanceof XDecimal))
- return false;
- XDecimal oval = (XDecimal)val;
-
- if (sign != oval.sign)
- return false;
- if (sign == 0)
- return true;
-
- return intDigits == oval.intDigits && fracDigits == oval.fracDigits &&
- ivalue.equals(oval.ivalue) && fvalue.equals(oval.fvalue);
- }
- public int compareTo(XDecimal val) {
- if (sign != val.sign)
- return sign > val.sign ? 1 : -1;
- if (sign == 0)
- return 0;
- return sign * intComp(val);
- }
- private int intComp(XDecimal val) {
- if (intDigits != val.intDigits)
- return intDigits > val.intDigits ? 1 : -1;
- int ret = ivalue.compareTo(val.ivalue);
- if (ret != 0)
- return ret > 0 ? 1 : -1;;
- ret = fvalue.compareTo(val.fvalue);
- return ret == 0 ? 0 : (ret > 0 ? 1 : -1);
- }
- private String canonical;
- public synchronized String toString() {
- if (canonical == null) {
- makeCanonical();
- }
- return canonical;
- }
+ public boolean equals(Object val) {
+ if (val == this)
+ return true;
- private void makeCanonical() {
- if (sign == 0) {
- if (integer)
- canonical = "0";
- else
- canonical = "0.0";
- return;
+ if (!(val instanceof XDecimal))
+ return false;
+ XDecimal oval = (XDecimal)val;
+
+ if (sign != oval.sign)
+ return false;
+ if (sign == 0)
+ return true;
+
+ return intDigits == oval.intDigits && fracDigits == oval.fracDigits &&
+ ivalue.equals(oval.ivalue) && fvalue.equals(oval.fvalue);
+ }
+ public int compareTo(XDecimal val) {
+ if (sign != val.sign)
+ return sign > val.sign ? 1 : -1;
+ if (sign == 0)
+ return 0;
+ return sign * intComp(val);
+ }
+ private int intComp(XDecimal val) {
+ if (intDigits != val.intDigits)
+ return intDigits > val.intDigits ? 1 : -1;
+ int ret = ivalue.compareTo(val.ivalue);
+ if (ret != 0)
+ return ret > 0 ? 1 : -1;;
+ ret = fvalue.compareTo(val.fvalue);
+ return ret == 0 ? 0 : (ret > 0 ? 1 : -1);
+ }
+ private String canonical;
+ public synchronized String toString() {
+ if (canonical == null) {
+ makeCanonical();
+ }
+ return canonical;
}
- if (integer && sign > 0) {
- canonical = ivalue;
- return;
- }
- StringBuffer buffer = new StringBuffer(totalDigits+2);
- if (sign == -1)
- buffer.append('-');
- if (intDigits != 0)
- buffer.append(ivalue);
- else
- buffer.append('0');
- if (!integer) {
- buffer.append('.');
- if (fracDigits != 0) {
- buffer.append(fvalue);
+
+ private void makeCanonical() {
+ if (sign == 0) {
+ if (integer)
+ canonical = "0";
+ else
+ canonical = "0.0";
+ return;
}
- else {
+ if (integer && sign > 0) {
+ canonical = ivalue;
+ return;
+ }
+ StringBuffer buffer = new StringBuffer(totalDigits+2);
+ if (sign == -1)
+ buffer.append('-');
+ if (intDigits != 0)
+ buffer.append(ivalue);
+ else
buffer.append('0');
+ if (!integer) {
+ buffer.append('.');
+ if (fracDigits != 0) {
+ buffer.append(fvalue);
+ }
+ else {
+ buffer.append('0');
+ }
}
+ canonical = buffer.toString();
}
- canonical = buffer.toString();
}
-}
+} // class DecimalDV
+
1.5 +44 -43 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/ListDV.java
Index: ListDV.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/ListDV.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ListDV.java 18 Nov 2002 23:10:10 -0000 1.4
+++ ListDV.java 21 Jan 2003 16:47:11 -0000 1.5
@@ -84,50 +84,51 @@
public int getDataLength(Object value) {
return ((ListData)value).length();
}
-} // class ListDV
-final class ListData {
- final Object[] data;
- private String canonical;
- public ListData(Object[] data) {
- this.data = data;
- }
- public synchronized String toString() {
- if (canonical == null) {
- int len = data.length;
- StringBuffer buf = new StringBuffer();
- if (len > 0) {
- buf.append(data[0].toString());
- }
- for (int i = 1; i < len; i++) {
- buf.append(' ');
- buf.append(data[i].toString());
+ final static class ListData {
+ final Object[] data;
+ private String canonical;
+ public ListData(Object[] data) {
+ this.data = data;
+ }
+ public synchronized String toString() {
+ if (canonical == null) {
+ int len = data.length;
+ StringBuffer buf = new StringBuffer();
+ if (len > 0) {
+ buf.append(data[0].toString());
+ }
+ for (int i = 1; i < len; i++) {
+ buf.append(' ');
+ buf.append(data[i].toString());
+ }
+ canonical = buf.toString();
}
- canonical = buf.toString();
+ return canonical;
}
- return canonical;
- }
- public int length() {
- return data.length;
- }
- public Object item(int index) {
- return data[index];
- }
- public boolean equals(Object obj) {
- if (!(obj instanceof ListData))
- return false;
- Object[] odata = ((ListData)obj).data;
-
- int count = data.length;
- if (count != odata.length)
- return false;
-
- for (int i = 0 ; i < count ; i++) {
- if (!data[i].equals(odata[i]))
+ public int length() {
+ return data.length;
+ }
+ public Object item(int index) {
+ return data[index];
+ }
+ public boolean equals(Object obj) {
+ if (!(obj instanceof ListData))
return false;
- }//end of loop
-
- //everything went fine.
- return true;
+ Object[] odata = ((ListData)obj).data;
+
+ int count = data.length;
+ if (count != odata.length)
+ return false;
+
+ for (int i = 0 ; i < count ; i++) {
+ if (!data[i].equals(odata[i]))
+ return false;
+ }//end of loop
+
+ //everything went fine.
+ return true;
+ }
}
-}
+} // class ListDV
+
1.29 +3 -3 xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
Index: XSSimpleTypeDecl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- XSSimpleTypeDecl.java 16 Jan 2003 22:53:45 -0000 1.28
+++ XSSimpleTypeDecl.java 21 Jan 2003 16:47:11 -0000 1.29
@@ -1464,7 +1464,7 @@
} else if (fVariety == VARIETY_LIST) {
- ListData values = (ListData)ob;
+ ListDV.ListData values = (ListDV.ListData)ob;
int len = values.length();
if (fItemType.fVariety == VARIETY_UNION) {
XSSimpleTypeDecl[] memberTypes = (XSSimpleTypeDecl[])validatedInfo.memberTypes;
@@ -1566,7 +1566,7 @@
memberTypes[i] = (XSSimpleTypeDecl)validatedInfo.memberType;
}
- ListData v = new ListData(avalue);
+ ListDV.ListData v = new ListDV.ListData(avalue);
validatedInfo.actualValue = v;
validatedInfo.memberType = null;
validatedInfo.memberTypes = memberTypes;
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org