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)
  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

    Fields
    Modifier and Type | Field and 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 and Description
    `DurationDV()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 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-2022 The Apache Software Foundation. All Rights Reserved.