org.apache.xerces.impl.dv.xs

Class DurationDV


public class DurationDV
extends AbstractDateTimeDV

Validator for <duration> datatype (W3C Schema Datatypes)
Version:
$Id: DurationDV.java 320310 2005-05-06 15:31:15Z ankitp $
Authors:
Elena Litani
Gopal Sharma, SUN Microsystem Inc.

Field Summary

static int
DAYTIMEDURATION_TYPE
static int
DURATION_TYPE
static int
YEARMONTHDURATION_TYPE

Fields inherited from class org.apache.xerces.impl.dv.xs.AbstractDateTimeDV

DAY, MONTH, YEAR, factory

Fields inherited from class org.apache.xerces.impl.dv.xs.TypeValidator

EQUAL, GREATER_THAN, INDETERMINATE, LESS_THAN

Method Summary

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 String
dateToString(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
Object
getActualValue(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(String str, int durationType)
Parses, validates and computes normalized version of duration object
protected double
parseSecond(String buffer, int start, int end)

Methods inherited from class org.apache.xerces.impl.dv.xs.AbstractDateTimeDV

append, append, compare, compareDates, compareOrder, dateToString, fQuotient, fQuotient, findUTCSign, getAllowedFacets, getDate, getDuration, getTime, getTimeZone, getXMLGregorianCalendar, getYearMonth, indexOf, isIdentical, isNextCharUTCSign, maxDayInMonthFor, mod, modulo, normalize, parseInt, parseIntYear, parseSecond, parseTimeZone, resetDateObj, saveUnnormalized, validateDateTime

Methods inherited from class org.apache.xerces.impl.dv.xs.TypeValidator

checkExtraRules, compare, getActualValue, getAllowedFacets, getDataLength, getDigit, getFractionDigits, getTotalDigits, isDigit, isIdentical

Field Details

DAYTIMEDURATION_TYPE

public static final int DAYTIMEDURATION_TYPE
Field Value:
2

DURATION_TYPE

public static final int DURATION_TYPE
Field Value:
0

YEARMONTHDURATION_TYPE

public static final int YEARMONTHDURATION_TYPE
Field Value:
1

Method Details

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 interface AbstractDateTimeDV
Parameters:
date1 - Unnormalized duration
date2 - Unnormalized duration
strict - (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

dateToString

protected String dateToString(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
Overrides:
dateToString in interface AbstractDateTimeDV

getActualValue

public Object getActualValue(String content,
                             ValidationContext context)
            throws InvalidDatatypeValueException
Overrides:
getActualValue in interface TypeValidator

getDuration

protected javax.xml.datatype.Duration getDuration(org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData date)
Overrides:
getDuration in interface AbstractDateTimeDV

parse

protected org.apache.xerces.impl.dv.xs.AbstractDateTimeDV.DateTimeData parse(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 nMnS
durationType -
Returns:
normalized date representation
Throws:
SchemaDateTimeException - Invalid lexical representation

parseSecond

protected double parseSecond(String buffer,
                             int start,
                             int end)
            throws NumberFormatException
Overrides:
parseSecond in interface AbstractDateTimeDV

Copyright B) 1999-2006 The Apache Software Foundation. All Rights Reserved.