Package org.apache.xerces.impl.dv.xs
Class DurationDV
- java.lang.Object
-
- org.apache.xerces.impl.dv.xs.TypeValidator
-
- org.apache.xerces.impl.dv.xs.AbstractDateTimeDV
-
- org.apache.xerces.impl.dv.xs.DurationDV
-
public class DurationDV extends AbstractDateTimeDV
Validator for <duration> datatype (W3C Schema Datatypes)INTERNAL:
- Usage of this class is not supported. It may be altered or removed at any time.
- Version:
- $Id: DurationDV.java 937741 2010-04-25 04:25:46Z mrglavas $
- Author:
- Elena Litani, Gopal Sharma, SUN Microsystem Inc.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DAYTIMEDURATION_TYPE
static int
DURATION_TYPE
static int
YEARMONTHDURATION_TYPE
-
Fields inherited from class org.apache.xerces.impl.dv.xs.AbstractDateTimeDV
datatypeFactory, DAY, MONTH, YEAR
-
Fields inherited from class org.apache.xerces.impl.dv.xs.TypeValidator
EQUAL, GREATER_THAN, INDETERMINATE, LESS_THAN
-
-
Constructor Summary
Constructors Constructor Description DurationDV()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected short
compareDates(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date1, org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date2, boolean strict)
Compares 2 given durations.protected java.lang.String
dateToString(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
java.lang.Object
getActualValue(java.lang.String content, ValidationContext context)
protected javax.xml.datatype.Duration
getDuration(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
protected org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData
parse(java.lang.String str, int durationType)
Parses, validates and computes normalized version of duration objectprotected double
parseSecond(java.lang.String buffer, int start, int end)
-
Methods inherited from class org.apache.xerces.impl.dv.xs.AbstractDateTimeDV
append, append, append2, compare, compareOrder, findUTCSign, fQuotient, fQuotient, getAllowedFacets, getDate, getFractionalSecondsAsBigDecimal, getTime, getTimeZone, getXMLGregorianCalendar, getYearMonth, indexOf, isIdentical, isNextCharUTCSign, maxDayInMonthFor, mod, modulo, normalize, parseInt, parseIntYear, parseTimeZone, resetDateObj, saveUnnormalized, validateDateTime
-
Methods inherited from class org.apache.xerces.impl.dv.xs.TypeValidator
checkExtraRules, getDataLength, getDigit, getFractionDigits, getTotalDigits, isDigit
-
-
-
-
Field Detail
-
DURATION_TYPE
public static final int DURATION_TYPE
- See Also:
- Constant Field Values
-
YEARMONTHDURATION_TYPE
public static final int YEARMONTHDURATION_TYPE
- See Also:
- Constant Field Values
-
DAYTIMEDURATION_TYPE
public static final int DAYTIMEDURATION_TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getActualValue
public java.lang.Object getActualValue(java.lang.String content, ValidationContext context) throws InvalidDatatypeValueException
- Specified by:
getActualValue
in classTypeValidator
- Throws:
InvalidDatatypeValueException
-
parse
protected org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData parse(java.lang.String str, int durationType) throws SchemaDateTimeException
Parses, validates and computes normalized version of duration object- Parameters:
str
- The lexical representation of duration object PnYn MnDTnH nMnSdurationType
-- Returns:
- normalized date representation
- Throws:
SchemaDateTimeException
- Invalid lexical representation
-
compareDates
protected short compareDates(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date1, org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date2, boolean strict)
Compares 2 given durations. (refer to W3C Schema Datatypes "3.2.6 duration")- Overrides:
compareDates
in classAbstractDateTimeDV
- Parameters:
date1
- Unnormalized durationdate2
- Unnormalized durationstrict
- (min/max)Exclusive strict == true ( LESS_THAN ) or ( GREATER_THAN ) (min/max)Inclusive strict == false (LESS_EQUAL) or (GREATER_EQUAL)- Returns:
- INDETERMINATE if the order relationship between date1 and date2 is indeterminate. EQUAL if the order relation between date1 and date2 is EQUAL. If the strict parameter is true, return LESS_THAN if date1 is less than date2 and return GREATER_THAN if date1 is greater than date2. If the strict parameter is false, return LESS_THAN if date1 is less than OR equal to date2 and return GREATER_THAN if date1 is greater than OR equal to date2
-
parseSecond
protected double parseSecond(java.lang.String buffer, int start, int end) throws java.lang.NumberFormatException
- Overrides:
parseSecond
in classAbstractDateTimeDV
- Throws:
java.lang.NumberFormatException
-
dateToString
protected java.lang.String dateToString(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
- Overrides:
dateToString
in classAbstractDateTimeDV
-
getDuration
protected javax.xml.datatype.Duration getDuration(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
- Overrides:
getDuration
in classAbstractDateTimeDV
-
-