Class GDuration

java.lang.Object
org.apache.xmlbeans.GDuration
All Implemented Interfaces:
Serializable, GDurationSpecification

public final class GDuration extends Object implements GDurationSpecification, Serializable
Represents an XML Schema-compatible duration.

A duration is made up of a number of years, months, days, hours, minutes, seconds, and fractions of seconds. See the XML Schema specification section on xs:duration for details on the rules for comparing durations and adding durations to dates.

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs an empty GDuration representing zero seconds.
    GDuration(int sign, int year, int month, int day, int hour, int minute, int second, BigDecimal fraction)
    Constructs a GDuration with the specified sign, year, month, day, hours, minutes, seconds, and optional fractional seconds.
    Constructs a GDuration from a lexical representation.
    Constructs a GDuration from another GDurationSpecification.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a new GDuration which is the sum of this one and the supplied duration.
    Builds another GDate with the same value as this one.
    final int
    Comparison to another GDuration.
    boolean
    Two GDurations are equal if all their fields are equal.
    final int
    Gets the day-of-month component.
    Gets the fraction-of-second.
    final int
    Gets the hour-of-day component.
    final int
    Gets the minute-of-hour component.
    final int
    Gets the month-of-year component.
    final int
    Gets the second-of-minute component.
    final int
    Returns the sign of the duration: +1 is forwards and -1 is backwards in time.
    final int
    Gets the year component.
    int
     
    final boolean
    All GDuration instances return true.
    boolean
    Returns true if all of the individual components of the duration are nonnegative.
    Returns a new GDuration which is the result of subtracting the supplied duration from this one.
    The natural string representation of the duration.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • GDuration

      public GDuration()
      Constructs an empty GDuration representing zero seconds.
    • GDuration

      public GDuration(CharSequence str)
      Constructs a GDuration from a lexical representation. The lexical space contains the union of the lexical spaces of all the schema date/time types (except for duration).
    • GDuration

      public GDuration(int sign, int year, int month, int day, int hour, int minute, int second, BigDecimal fraction)
      Constructs a GDuration with the specified sign, year, month, day, hours, minutes, seconds, and optional fractional seconds.
      Parameters:
      sign - +1 for a positive duration, -1 for a negative duration
      Throws:
      IllegalArgumentException - if the sign is not 1 or -1
    • GDuration

      public GDuration(GDurationSpecification gDuration)
      Constructs a GDuration from another GDurationSpecification.
  • Method Details

    • clone

      public Object clone()
      Builds another GDate with the same value as this one.
    • isImmutable

      public final boolean isImmutable()
      All GDuration instances return true.
      Specified by:
      isImmutable in interface GDurationSpecification
    • getSign

      public final int getSign()
      Returns the sign of the duration: +1 is forwards and -1 is backwards in time.
      Specified by:
      getSign in interface GDurationSpecification
    • getYear

      public final int getYear()
      Gets the year component.
      Specified by:
      getYear in interface GDurationSpecification
    • getMonth

      public final int getMonth()
      Gets the month-of-year component.
      Specified by:
      getMonth in interface GDurationSpecification
    • getDay

      public final int getDay()
      Gets the day-of-month component.
      Specified by:
      getDay in interface GDurationSpecification
    • getHour

      public final int getHour()
      Gets the hour-of-day component.
      Specified by:
      getHour in interface GDurationSpecification
    • getMinute

      public final int getMinute()
      Gets the minute-of-hour component.
      Specified by:
      getMinute in interface GDurationSpecification
    • getSecond

      public final int getSecond()
      Gets the second-of-minute component.
      Specified by:
      getSecond in interface GDurationSpecification
    • getFraction

      public BigDecimal getFraction()
      Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
      Specified by:
      getFraction in interface GDurationSpecification
    • isValid

      public boolean isValid()
      Returns true if all of the individual components of the duration are nonnegative.
      Specified by:
      isValid in interface GDurationSpecification
    • compareToGDuration

      public final int compareToGDuration(GDurationSpecification duration)
      Comparison to another GDuration.
      • Returns -1 if this < duration. (less-than)
      • Returns 0 if this == duration. (equal)
      • Returns 1 if this > duration. (greater-than)
      • Returns 2 if this <> duration. (incomparable)
      Two instances are incomparable if they have different amounts of information.
      Specified by:
      compareToGDuration in interface GDurationSpecification
    • toString

      public String toString()
      The natural string representation of the duration.

      Any components that are zero are omitted. Note that if the duration is invalid, i.e., it has negative components, those negative components are serialized out here. To check for validity, use the isValid() method; and to normalize most durations to a valid form use the normalize() method.

      Overrides:
      toString in class Object
    • add

      public GDuration add(GDurationSpecification duration)
      Returns a new GDuration which is the sum of this one and the supplied duration. Does a fieldwise addition, with no normalization.
    • subtract

      public GDuration subtract(GDurationSpecification duration)
      Returns a new GDuration which is the result of subtracting the supplied duration from this one. Does a fieldwise subtraction, with no normalization.
    • equals

      public boolean equals(Object obj)
      Two GDurations are equal if all their fields are equal. The equals function does not apply normalizatin.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object