org.apache.xerces.impl.dv.xs
Class DurationDV

java.lang.Object
  extended by org.apache.xerces.impl.dv.xs.TypeValidator
      extended by org.apache.xerces.impl.dv.xs.AbstractDateTimeDV
          extended by org.apache.xerces.impl.dv.xs.DurationDV

public class DurationDV
extends AbstractDateTimeDV

Validator for <duration> datatype (W3C Schema Datatypes)

Version:
$Id: DurationDV.java 937741 2010-04-25 04:25:46Z mrglavas $
Author:
Elena Litani, Gopal Sharma, SUN Microsystem Inc.

INTERNAL:

Usage of this class is not supported. It may be altered or removed at any time.

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
datatypeFactory, DAY, MONTH, YEAR
 
Fields inherited from class org.apache.xerces.impl.dv.xs.TypeValidator
EQUAL, GREATER_THAN, INDETERMINATE, LESS_THAN
 
Constructor Summary
DurationDV()
           
 
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  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 object
protected  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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

DurationDV

public DurationDV()
Method Detail

getActualValue

public java.lang.Object getActualValue(java.lang.String content,
                                       ValidationContext context)
                                throws InvalidDatatypeValueException
Specified by:
getActualValue in class TypeValidator
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 nMnS
durationType -
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 class 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

parseSecond

protected double parseSecond(java.lang.String buffer,
                             int start,
                             int end)
                      throws java.lang.NumberFormatException
Overrides:
parseSecond in class AbstractDateTimeDV
Throws:
java.lang.NumberFormatException

dateToString

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

getDuration

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


Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.