Constructs an empty GDurationBuilder representing zero seconds.
public GDurationBuilder(String s)
Constructs a GDuration from a lexical
public GDurationBuilder(GDurationSpecification gDuration)
Constructs a GDurationBuilder from another GDurationBuilderSpecification.
public GDurationBuilder(int sign,
Constructs a GDurationBuilder with the specified sign,
year, month, day, hours, minutes, seconds, and optional
sign - +1 for a positive duration, -1 for a negative duration
java.lang.IllegalArgumentException - if the sign is not 1 or -1
|Method from org.apache.xmlbeans.GDurationBuilder Detail:|
public void addGDuration(GDurationSpecification duration)
Adds to this duration. Does a fieldwise add, with no
public Object clone()
Builds another GDurationBuilder with the same value
as this one.
static int compareDurations(GDurationSpecification d1,
public final int compareToGDuration(GDurationSpecification duration)
Comparison to another GDuration.
Two instances are incomparable if they have different amounts
- 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)
static String formatDuration(GDurationSpecification duration)
public final int getDay()
Gets the day-of-month component.
public BigDecimal getFraction()
Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
public final int getHour()
Gets the hour-of-day component.
public final int getMinute()
Gets the minute-of-hour component.
public final int getMonth()
Gets the month-of-year component.
public final int getSecond()
Gets the second-of-minute component.
public final int getSign()
Returns the sign of the duration: +1 is forwards
and -1 is backwards in time.
This value does not necessarily reflect the
true direction of the duration if the duration
is not normalized or not normalizable.
public final int getYear()
public final boolean isImmutable()
All GDuration instances return true.
public boolean isValid()
Returns true if all of the individual components
of the duration are nonnegative.
static boolean isValidDuration(GDurationSpecification spec)
public void normalize()
Normalize a duration value. This ensures that months,
hours, minutes, seconds, and fractions are positive and
within the ranges 0..11, 0..23, 0..59, etc. Negative
durations are indicated by a negative sign rather
than negative components.
Most duration specifications can be normalized to
valid durations with all positive components, but
not all of them can.
The only situations which cannot be normalized are
where the year/month and the day/hour/minute/second
offsets are of opposite sign. Days cannot be carried
into months since the length of a Gregorian month is
variable depending on when the duration is applied.
In these cases, this method normalizes the components
so that "day" is the only negative component.
public void setDay(int day)
public void setFraction(BigDecimal fraction)
Sets the fraction-of-second component.
public void setHour(int hour)
public void setMinute(int minute)
Sets the minute component.
public void setMonth(int month)
Sets the month component.
public void setSecond(int second)
Sets the second component.
public final void setSign(int sign)
public void setYear(int year)
public static String stripTrailingZeros(String s)
public void subtractGDuration(GDurationSpecification duration)
Subtracts from this duration. Does a fieldwise subtraction,
with no normalization.
public GDuration toGDuration()
Builds a GDuration from this GDurationBuilder.
public static String toPlainString(BigDecimal bd)
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.