net.sf.saxon.value

## Class GYearMonthValue

- java.lang.Object
- - net.sf.saxon.om.AbstractItem
  - - net.sf.saxon.value.AtomicValue
    - - net.sf.saxon.value.CalendarValue
      - - net.sf.saxon.value.GDateValue
        - - net.sf.saxon.value.GYearMonthValue

- All Implemented Interfaces:
    PullEvent, AtomicSequence, GroundedValue, IdentityComparable, Item, Sequence, ConversionResult

      public class GYearMonthValue
      extends GDateValue

  Implementation of the xs:gYearMonth data type

- - ### Field Summary

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

      `day, daysPerMonth, month, monthData, xsd10rules, year`

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

      `NO_TIMEZONE`

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

      `typeLabel`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GYearMonthValue(int year, byte month, int tz, AtomicType type)`
    `GYearMonthValue(int year, byte month, int tz, boolean xsd10)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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
    `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` | `makeGYearMonthValue(CharSequence value, ConversionRules rules)`

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

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

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

      `adjustTimezone, appendTimezone, appendTimezone, getTimezoneInMinutes, getXPathComparable, hasTimezone, isIdentical, makeCalendarValue, removeTimezone, setTimezoneInMinutes, subtract`

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

      `asAtomic, checkPermittedContents, effectiveBooleanValue, getCanonicalLexicalRepresentation, getCardinality, getItemType, getStringValue, getStringValueCS, head, isIdentical, isNaN, itemAt, iterate, process, setTypeLabel, toString`

    - ### Methods inherited from class net.sf.saxon.om.AbstractItem

      `getLength, reduce, subsequence`

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

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

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

      `getLength`

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

      `reduce, subsequence`

- - ### Constructor Detail

    - #### GYearMonthValue

          public GYearMonthValue(int year,
                         byte month,
                         int tz,
                         boolean xsd10)

    - #### GYearMonthValue

          public GYearMonthValue(int year,
                         byte month,
                         int tz,
                         AtomicType type)

  - ### Method Detail

    - #### makeGYearMonthValue

          public static ConversionResult makeGYearMonthValue(CharSequence value,
                                             ConversionRules rules)

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

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.