Package net.sf.saxon.value

## Class GDayValue

- java.lang.Object
- - net.sf.saxon.value.AtomicValue
  - - net.sf.saxon.value.CalendarValue
    - - net.sf.saxon.value.GDateValue
      - - net.sf.saxon.value.GDayValue

- All Implemented Interfaces:
    `java.lang.Iterable<AtomicValue>`, `AtomicMatchKey`, `AtomicSequence`, `GroundedValue`, `IdentityComparable`, `Item`, `Sequence`, `ConversionResult`

      public class GDayValue
      extends GDateValue

  Implementation of the xs:gDay data type

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.value.GDateValue

      `day, daysPerMonth, hasNoYearZero, month, monthData, year`

    - ### Fields inherited from class net.sf.saxon.value.CalendarValue

      `MISSING_TIMEZONE, NO_TIMEZONE`

    - ### Fields inherited from class net.sf.saxon.value.AtomicValue

      `typeLabel`

    - ### Fields inherited from interface net.sf.saxon.expr.sort.AtomicMatchKey

      `NaN_MATCH_KEY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GDayValue​(byte day, int tz)` |
    `GDayValue​(byte day, int tz, AtomicType type)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CalendarValue` | `add​(DurationValue duration)` | Add a duration to this date/time value
    `CalendarValue` | `adjustTimezone​(int tz)` | Return a new date, time, or dateTime with the same normalized value, but in a different timezone
    `AtomicValue` | `copyAsSubType​(AtomicType typeLabel)` | Make a copy of this date, time, or dateTime value
    `java.lang.CharSequence` | `getPrimitiveStringValue()` | Convert the value to a string, using the serialization rules for the primitive type.
    `BuiltInAtomicType` | `getPrimitiveType()` | Determine the primitive type of the value.
    `static ConversionResult` | `makeGDayValue​(java.lang.CharSequence value)` |

    - ### Methods inherited from class net.sf.saxon.value.GDateValue

      `checkValidInJavascript, compareTo, equals, getCalendar, getComponent, getDay, getMonth, getSchemaComparable, getYear, hashCode, isLeapYear, isValidDate, setLexicalValue, toDateTime`

    - ### Methods inherited from class net.sf.saxon.value.CalendarValue

      `adjustTimezone, appendTimezone, appendTimezone, asMapKey, getComparisonKey, getTimezoneInMinutes, getXMLGregorianCalendar, getXPathComparable, hasTimezone, identityHashCode, isIdentical, makeCalendarValue, removeTimezone, setTimezoneInMinutes, subtract`

    - ### Methods inherited from class net.sf.saxon.value.AtomicValue

      `asAtomic, atomize, checkPermittedContents, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getGenre, getItemType, getLength, getStringValue, getStringValueCS, getUType, head, isIdentical, isNaN, itemAt, iterate, iterator, setTypeLabel, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.expr.sort.AtomicMatchKey

      `asAtomic`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `isStreamed, reduce, subsequence, toShortString`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### Constructor Detail

    - #### GDayValue

          public GDayValue​(byte day,
                           int tz)

    - #### GDayValue

          public GDayValue​(byte day,
                           int tz,
                           AtomicType type)

  - ### Method Detail

    - #### makeGDayValue

          public static ConversionResult makeGDayValue​(java.lang.CharSequence value)

    - #### copyAsSubType

          public AtomicValue copyAsSubType​(AtomicType typeLabel)

      Make a copy of this date, time, or dateTime value
      Specified by:
        `copyAsSubType` in class `AtomicValue`
      Parameters:
        `typeLabel` -
      Returns:
        the copied value

    - #### getPrimitiveType

          public BuiltInAtomicType getPrimitiveType()

      Determine the primitive type of the value. This delivers the same answer as getItemType().getPrimitiveItemType(). The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xs:dayTimeDuration and xs:yearMonthDuration, and xs:untypedAtomic. For external objects, the result is AnyAtomicType.
      Specified by:
        `getPrimitiveType` in class `AtomicValue`
      Returns:
        the primitive type

    - #### getPrimitiveStringValue

          public java.lang.CharSequence getPrimitiveStringValue()

      Description copied from class: `AtomicValue`
      Convert the value to a string, using the serialization rules for the primitive type. This is the result of conversion to a string except that postprocessing defined by the saxon:preprocess facet is not (yet) applied.
      Specified by:
        `getPrimitiveStringValue` in class `AtomicValue`
      Returns:
        the value converted to a string according to the rules for the primitive type

    - #### add

          public CalendarValue add​(DurationValue duration)
                            throws XPathException

      Add a duration to this date/time value
      Specified by:
        `add` in class `CalendarValue`
      Parameters:
        `duration` - the duration to be added (which might be negative)
      Returns:
        a new date/time value representing the result of adding the duration. The original object is not modified.
      Throws:
        `XPathException`

    - #### adjustTimezone

          public CalendarValue adjustTimezone​(int tz)

      Return a new date, time, or dateTime with the same normalized value, but in a different timezone
      Specified by:
        `adjustTimezone` in class `CalendarValue`
      Parameters:
        `tz` - the new timezone, in minutes
      Returns:
        the date/time in the new timezone