|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.xerces.validators.datatype.AbstractDatatypeValidator | +--org.apache.xerces.validators.datatype.AbstractNumericFacetValidator | +--org.apache.xerces.validators.datatype.DateTimeValidator
This is the base class of all date/time datatype validators. It implements common code for parsing, validating and comparing datatypes. Classes that extend this class, must implement parse() method.
Field Summary | |
---|---|
protected static int |
CY
|
protected static int |
D
|
protected static int |
DAY
|
protected static short |
EQUAL
|
protected java.lang.StringBuffer |
fBuffer
|
protected int[] |
fDateValue
|
protected int |
fEnd
|
protected int |
fEnumSize
|
protected int |
fStart
|
protected static short |
GREATER_THAN
|
protected static int |
h
|
protected static int |
hh
|
protected static short |
LESS_THAN
|
protected static int |
m
|
protected static int |
M
|
protected java.lang.StringBuffer |
message
|
protected static int |
mm
|
protected static int |
MONTH
|
protected static int |
MONTH_SIZE
|
protected static int |
ms
|
protected static int |
s
|
protected int[] |
timeZone
|
protected static int |
TOTAL_SIZE
|
protected static int |
utc
|
protected static int |
YEAR
|
Fields inherited from class org.apache.xerces.validators.datatype.AbstractNumericFacetValidator |
---|
fEnumeration, fMaxExclusive, fMaxInclusive, fMinExclusive, fMinInclusive, INDETERMINATE |
Fields inherited from class org.apache.xerces.validators.datatype.AbstractDatatypeValidator |
---|
fBaseValidator, fFacetsDefined, fFlags, fLocale, fMessageProvider, fPattern, fRegex |
Fields inherited from interface org.apache.xerces.validators.datatype.DatatypeValidator |
---|
COLLAPSE, FACET_DURATION, FACET_ENCODING, FACET_ENUMERATION, FACET_FIXED, FACET_FRACTIONDIGITS, FACET_LENGTH, FACET_MAXEXCLUSIVE, FACET_MAXINCLUSIVE, FACET_MAXLENGTH, FACET_MINEXCLUSIVE, FACET_MININCLUSIVE, FACET_MINLENGTH, FACET_PATTERN, FACET_PERIOD, FACET_TOTALDIGITS, FACET_WHITESPACE, PRESERVE, REPLACE |
Constructor Summary | |
---|---|
DateTimeValidator()
|
|
DateTimeValidator(DatatypeValidator base,
java.util.Hashtable facets,
boolean derivedByList)
|
Method Summary | |
---|---|
protected void |
assignAdditionalFacets(java.lang.String key,
java.util.Hashtable facets)
|
protected void |
checkContent(java.lang.String content,
java.lang.Object State,
java.util.Vector enum,
boolean asBase)
|
java.lang.Object |
clone()
|
int |
compare(java.lang.String content1,
java.lang.String content2)
Compares content in the Domain value vs. |
protected short |
compareDates(int[] date1,
int[] date2,
boolean strict)
Compare algorithm described in dateDime (3.2.7). |
protected short |
compareOrder(int[] date1,
int[] date2)
Given normalized values, determines order-relation between give date/time objects. |
protected int |
compareValues(java.lang.Object value1,
java.lang.Object value2)
|
protected java.lang.String |
dateToString(int[] date)
|
protected int |
findUTCSign(int start,
int end)
Return index of UTC char: 'Z', '+', '-' |
protected int |
fQuotient(int a,
int b)
|
protected int |
fQuotient(int temp,
int low,
int high)
|
protected void |
getDate(int start,
int end,
int[] date)
Parses date CCYY-MM-DD |
protected java.lang.String |
getMaxExclusive(boolean isBase)
|
protected java.lang.String |
getMaxInclusive(boolean isBase)
|
protected java.lang.String |
getMinExclusive(boolean isBase)
|
protected java.lang.String |
getMinInclusive(boolean isBase)
|
protected void |
getTime(int start,
int end,
int[] data)
Parses time hh:mm:ss.sss and time zone if any |
protected void |
getTimeZone(int[] data,
int sign)
Parses time zone: 'Z' or {+,-} followed by hh:mm |
protected void |
getYearMonth(int start,
int end,
int[] date)
Parses date CCYY-MM |
protected int |
indexOf(int start,
int end,
char ch)
Computes index of given char within StringBuffer |
protected void |
initializeValues()
|
protected int |
maxDayInMonthFor(int year,
int month)
Given {year,month} computes maximum number of days for given month |
protected int |
mod(int a,
int b,
int quotient)
|
protected int |
modulo(int temp,
int low,
int high)
|
protected void |
normalize(int[] date)
normalize dateTime [E Adding durations to dateTimes] If timezone present - normalize to UTC If hour is 24 - normalize to start of following day |
protected abstract int[] |
parse(java.lang.String content,
int[] date)
Implemented by each subtype, calling appropriate function to parse given date/time |
protected int |
parseInt(int start,
int end)
Given start and end position, parses string value |
protected int |
parseIntYear(int end)
|
protected void |
parseTimeZone(int end,
int[] date)
Shared code from Date and YearMonth datatypes. |
protected void |
reportError(java.lang.String msg,
java.lang.String value)
Use this function to report errors in constructor |
protected void |
resetBuffer(java.lang.String str)
Resets fBuffer to store string representation of date/time |
protected void |
resetDateObj(int[] data)
Resets object representation of date/time |
protected void |
setEnumeration(java.util.Vector enumeration)
|
protected void |
setMaxExclusive(java.lang.String value)
|
protected void |
setMaxInclusive(java.lang.String value)
|
protected void |
setMinExclusive(java.lang.String value)
|
protected void |
setMinInclusive(java.lang.String value)
|
java.lang.Object |
validate(java.lang.String content,
java.lang.Object state)
Validate that a string is a W3C date/time type |
protected void |
validateDate(int[] date,
java.lang.String content)
Validates date object against facet and base datatype |
protected void |
validateDateTime(int[] data)
Validates given date/time object accoring to W3C PR Schema [D.1 ISO 8601 Conventions] |
Methods inherited from class org.apache.xerces.validators.datatype.AbstractNumericFacetValidator |
---|
checkBaseFacetConstraints, checkFacetConstraints, inheritAdditionalFacets |
Methods inherited from class org.apache.xerces.validators.datatype.AbstractDatatypeValidator |
---|
getBaseValidator, getErrorString, getWSFacet, setLocale |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final int CY
protected static final int M
protected static final int D
protected static final int h
protected static final int m
protected static final int s
protected static final int ms
protected static final int utc
protected static final int hh
protected static final int mm
protected static final short LESS_THAN
protected static final short EQUAL
protected static final short GREATER_THAN
protected static final int TOTAL_SIZE
protected static final int MONTH_SIZE
protected static final int YEAR
protected static final int MONTH
protected static final int DAY
protected int[] timeZone
protected int fEnumSize
protected int fEnd
protected int fStart
protected java.lang.StringBuffer fBuffer
protected int[] fDateValue
protected java.lang.StringBuffer message
Constructor Detail |
public DateTimeValidator() throws InvalidDatatypeFacetException
public DateTimeValidator(DatatypeValidator base, java.util.Hashtable facets, boolean derivedByList) throws InvalidDatatypeFacetException
Method Detail |
protected void initializeValues()
initializeValues
in class AbstractNumericFacetValidator
protected void assignAdditionalFacets(java.lang.String key, java.util.Hashtable facets) throws InvalidDatatypeFacetException
assignAdditionalFacets
in class AbstractNumericFacetValidator
protected int compareValues(java.lang.Object value1, java.lang.Object value2)
compareValues
in class AbstractNumericFacetValidator
protected void setMaxInclusive(java.lang.String value)
setMaxInclusive
in class AbstractNumericFacetValidator
protected void setMinInclusive(java.lang.String value)
setMinInclusive
in class AbstractNumericFacetValidator
protected void setMaxExclusive(java.lang.String value)
setMaxExclusive
in class AbstractNumericFacetValidator
protected void setMinExclusive(java.lang.String value)
setMinExclusive
in class AbstractNumericFacetValidator
protected void setEnumeration(java.util.Vector enumeration) throws InvalidDatatypeValueException
setEnumeration
in class AbstractNumericFacetValidator
protected java.lang.String getMaxInclusive(boolean isBase)
getMaxInclusive
in class AbstractNumericFacetValidator
protected java.lang.String getMinInclusive(boolean isBase)
getMinInclusive
in class AbstractNumericFacetValidator
protected java.lang.String getMaxExclusive(boolean isBase)
getMaxExclusive
in class AbstractNumericFacetValidator
protected java.lang.String getMinExclusive(boolean isBase)
getMinExclusive
in class AbstractNumericFacetValidator
protected void checkContent(java.lang.String content, java.lang.Object State, java.util.Vector enum, boolean asBase) throws InvalidDatatypeValueException
protected abstract int[] parse(java.lang.String content, int[] date) throws SchemaDateTimeException
content
- String value of the date/timedate
- Storage to represent date/time object.
If null - new object will be created, otherwise
date will be reset and reusedjava.lang.Exception
- public java.lang.Object validate(java.lang.String content, java.lang.Object state) throws InvalidDatatypeValueException
validate
in class AbstractDatatypeValidator
content
- string value of date/timestate
- InvalidDatatypeValueException
- protected void validateDate(int[] date, java.lang.String content) throws InvalidDatatypeValueException
date
- represents date/time objcontent
- lexical representation of date/time objInvalidDatatypeValueException
- public int compare(java.lang.String content1, java.lang.String content2)
DatatypeValidator
org.apache.xerces.validators.datatype.DatatypeValidator
value1
- valu2
- public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class AbstractDatatypeValidator
protected short compareDates(int[] date1, int[] date2, boolean strict)
date1
- normalized date representation of the first valuedate2
- normalized date representation of the second valuestrict
- protected short compareOrder(int[] date1, int[] date2)
date1
- date/time objectdate2
- date/time objectprotected void getTime(int start, int end, int[] data) throws java.lang.RuntimeException
start
- end
- data
- java.lang.Exception
- protected void getDate(int start, int end, int[] date) throws java.lang.RuntimeException
start
- end
- data
- java.lang.Exception
- protected void getYearMonth(int start, int end, int[] date) throws java.lang.RuntimeException
start
- end
- data
- java.lang.Exception
- protected void parseTimeZone(int end, int[] date) throws java.lang.RuntimeException
end
- date
- java.lang.Exception
- protected void getTimeZone(int[] data, int sign) throws java.lang.RuntimeException
data
- sign
- protected int indexOf(int start, int end, char ch)
start
- end
- ch
- character to look for in StringBufferprotected void validateDateTime(int[] data)
data
- protected int findUTCSign(int start, int end)
start
- end
- protected int parseInt(int start, int end) throws java.lang.NumberFormatException
value
- string to parsestart
- Start positionend
- end positionprotected int parseIntYear(int end)
protected void normalize(int[] date)
date
- CCYY-MM-DDThh:mm:ss+03protected void resetBuffer(java.lang.String str)
str
- Lexical representation of date/timeprotected void resetDateObj(int[] data)
data
- date/time objectprotected int maxDayInMonthFor(int year, int month)
year
- month
- protected int mod(int a, int b, int quotient)
protected int fQuotient(int a, int b)
protected int modulo(int temp, int low, int high)
protected int fQuotient(int temp, int low, int high)
protected java.lang.String dateToString(int[] date)
protected void reportError(java.lang.String msg, java.lang.String value)
msg
- value
-
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |