<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Thu Sep 25 16:46:59 PDT 2003 -->
<TITLE>
GDateBuilder (XMLBeans Documentation)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xmlbeans.GDateBuilder,GDateBuilder class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="GDateBuilder (XMLBeans Documentation)";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/xmlbeans/GDuration.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="GDateBuilder.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.xmlbeans</FONT>
<BR>
Class GDateBuilder</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">java.lang.Object</A>
  |
  +--<B>org.apache.xmlbeans.GDateBuilder</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html">Serializable</A></DD>
</DL>
<HR>
<DL>
<DT>public final class <B>GDateBuilder</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html">Serializable</A></DL>

<P>
Used to build <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDates</CODE></A>.
 <p>
 Like GDate, a GDateBuilder represents an Gregorian Date, Time,
 and Timezone, or subset of information (Year, Month, Day,
 Time, Timezone, or some combination). Wherever it provides
 guidance, the XML Schema 1.0 specification (plus published
 errata) is followed.
 <p>
 Instances may separately set or clear the year, month,
 day-of-month, and time-of-day. Not all operations are
 meaningful on all combinations. In particular, timezone
 normalization is only possible if there is a time, or
 a time together with a full date.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.apache.xmlbeans.GDateBuilder">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.xmlbeans.GDateSpecification"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from interface org.apache.xmlbeans.<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#HAS_DAY">HAS_DAY</A>, <A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#HAS_MONTH">HAS_MONTH</A>, <A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#HAS_TIME">HAS_TIME</A>, <A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#HAS_TIMEZONE">HAS_TIMEZONE</A>, <A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#HAS_YEAR">HAS_YEAR</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder()">GDateBuilder</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a GDateBuilder specifying no date or time</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder(java.util.Calendar)">GDateBuilder</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A>&nbsp;calendar)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder(java.lang.CharSequence)">GDateBuilder</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/CharSequence.html">CharSequence</A>&nbsp;string)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a GDateBuilder from a lexical
 representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder(java.util.Date)">GDateBuilder</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;date)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a GDateBuilder based on a java.util.Date.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder(org.apache.xmlbeans.GDateSpecification)">GDateBuilder</A></B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;gdate)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construts a GDateBuilder by copying another GDateSpecificaiton.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder(int, int, int, int, int, int, java.math.BigDecimal)">GDateBuilder</A></B>(int&nbsp;year,
             int&nbsp;month,
             int&nbsp;day,
             int&nbsp;hour,
             int&nbsp;minute,
             int&nbsp;second,
             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a GDateBuilder with the specified year, month, day,
 hours, minutes, seconds, and optional fractional seconds, in
 an unspecified timezone.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#GDateBuilder(int, int, int, int, int, int, java.math.BigDecimal, int, int, int)">GDateBuilder</A></B>(int&nbsp;year,
             int&nbsp;month,
             int&nbsp;day,
             int&nbsp;hour,
             int&nbsp;minute,
             int&nbsp;second,
             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction,
             int&nbsp;tzSign,
             int&nbsp;tzHour,
             int&nbsp;tzMinute)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an absolute GDateBuilder with the specified year,
 month, day, hours, minutes, seconds, and optional fractional
 seconds, and in the timezone specified.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#addDuration(int, int, int, int, int, int, int, java.math.BigDecimal)">addDuration</A></B>(int&nbsp;sign,
            int&nbsp;year,
            int&nbsp;month,
            int&nbsp;day,
            int&nbsp;hour,
            int&nbsp;minute,
            int&nbsp;second,
            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a given duration to the date/time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#addGDuration(org.apache.xmlbeans.GDurationSpecification)">addGDuration</A></B>(<A HREF="../../../org/apache/xmlbeans/GDurationSpecification.html">GDurationSpecification</A>&nbsp;duration)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a given duration to the date/time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#canonicalString()">canonicalString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The canonical string representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#clearDay()">clearDay</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the day-of-month.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#clearMonth()">clearMonth</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the month-of-year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#clearTime()">clearTime</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the time-of-day.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#clearTimeZone()">clearTimeZone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the timezone.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#clearYear()">clearYear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds another GDateBuilder with the same value
 as this one.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#compareToGDate(org.apache.xmlbeans.GDateSpecification)">compareToGDate</A></B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;datespec)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comparison to another GDate.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getBuiltinTypeCode()">getBuiltinTypeCode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the builtin type code for the shape of the information
 contained in this instance, or 0 if the
 instance doesn't contain information corresponding to a
 Schema type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlCalendar.html">XmlCalendar</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getCalendar()">getCalendar</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the value of the current time as an <A HREF="../../../org/apache/xmlbeans/XmlCalendar.html"><CODE>XmlCalendar</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getDate()">getDate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the value of the current time as a java.util.Date
 instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getDay()">getDay</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the day-of-month.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getFlags()">getFlags</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a combination of flags indicating the information
 contained by this GDate.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getFraction()">getFraction</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the fraction-of-second.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getHour()">getHour</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the hour-of-day.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getJulianDate()">getJulianDate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Julian date corresponding to this Gregorian date.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getMillisecond()">getMillisecond</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the rounded millisecond value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getMinute()">getMinute</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the minute-of-hour.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getMonth()">getMonth</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the month-of-year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getSecond()">getSecond</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the second-of-minute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getTimeZoneHour()">getTimeZoneHour</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the time zone hour.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getTimeZoneMinute()">getTimeZoneMinute</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the time zone minutes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getTimeZoneSign()">getTimeZoneSign</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the time zone sign.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#getYear()">getYear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#hasDate()">hasDate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this date/time specification specifies a full date (year, month, day)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#hasDay()">hasDay</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this date/time specification specifies a day-of-month.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#hasMonth()">hasMonth</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this date/time specification specifies a month-of-year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#hasTime()">hasTime</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this date/time specification specifies a time-of-day.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#hasTimeZone()">hasTimeZone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this date/time specification specifies a timezone.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#hasYear()">hasYear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this date/time specification specifies a year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#isImmutable()">isImmutable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the instance is immutable.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#isValid()">isValid</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if all date fields lie within their legal ranges.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#normalize()">normalize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Normalizes the instance, ensuring date and time fields are within
 their normal ranges.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#normalizeToTimeZone(int, int, int)">normalizeToTimeZone</A></B>(int&nbsp;tzSign,
                    int&nbsp;tzHour,
                    int&nbsp;tzMinute)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the time and timezone are known, this method changes the timezone to the
 specified UTC offset, altering minutes, hours, day, month, and year as
 necessary to ensure that the actual described moment in time is the same.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setBuiltinTypeCode(int)">setBuiltinTypeCode</A></B>(int&nbsp;typeCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the fields in this GDateBuilder that are not applicable
 for the given SchemaType date code.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setDate(java.util.Date)">setDate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;date)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the current time and date based on a java.util.Date instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setDay(int)">setDay</A></B>(int&nbsp;day)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the day-of-month.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setGDate(org.apache.xmlbeans.GDateSpecification)">setGDate</A></B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;gdate)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies a GDateSpecification, completely replacing the current
 information in this GDateBuilder.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setJulianDate(int)">setJulianDate</A></B>(int&nbsp;julianday)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the Gregorian date based on the given Julian date.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setMonth(int)">setMonth</A></B>(int&nbsp;month)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the month-of-year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setTime(int, int, int, java.math.BigDecimal)">setTime</A></B>(int&nbsp;hour,
        int&nbsp;minute,
        int&nbsp;second,
        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setTimeZone(int, int, int)">setTimeZone</A></B>(int&nbsp;tzSign,
            int&nbsp;tzHour,
            int&nbsp;tzMinute)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the time zone without changing the other time
 fields.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#setYear(int)">setYear</A></B>(int&nbsp;year)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the year.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#subtractGDuration(org.apache.xmlbeans.GDurationSpecification)">subtractGDuration</A></B>(<A HREF="../../../org/apache/xmlbeans/GDurationSpecification.html">GDurationSpecification</A>&nbsp;duration)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subtracts a given duration from the date/time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#toGDate()">toGDate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds a GDate from this GDateBuilder.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/GDateBuilder.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The natural string representation.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="GDateBuilder()"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>()</PRE>
<DL>
<DD>Constructs a GDateBuilder specifying no date or time
<P>
</DL>
<HR>

<A NAME="GDateBuilder(org.apache.xmlbeans.GDateSpecification)"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;gdate)</PRE>
<DL>
<DD>Construts a GDateBuilder by copying another GDateSpecificaiton.
<P>
</DL>
<HR>

<A NAME="GDateBuilder(java.lang.CharSequence)"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/CharSequence.html">CharSequence</A>&nbsp;string)</PRE>
<DL>
<DD>Constructs a GDateBuilder from a lexical
 representation. The lexical space contains the
 union of the lexical spaces of all the schema
 date/time types (except for duration).
<P>
</DL>
<HR>

<A NAME="GDateBuilder(java.util.Calendar)"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A>&nbsp;calendar)</PRE>
<DL>
</DL>
<HR>

<A NAME="GDateBuilder(int, int, int, int, int, int, java.math.BigDecimal)"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>(int&nbsp;year,
                    int&nbsp;month,
                    int&nbsp;day,
                    int&nbsp;hour,
                    int&nbsp;minute,
                    int&nbsp;second,
                    <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction)</PRE>
<DL>
<DD>Constructs a GDateBuilder with the specified year, month, day,
 hours, minutes, seconds, and optional fractional seconds, in
 an unspecified timezone.
 <p>
 Note that by not specifying the timezone the GDateBuilder
 becomes partially unordered with respect to timesthat do have a
 specified timezone.
<P>
<DT><B>Parameters:</B><DD><CODE>year</CODE> - The year<DD><CODE>month</CODE> - The month, from 1-12<DD><CODE>day</CODE> - The day of month, from 1-31<DD><CODE>hour</CODE> - The hour of day, from 0-23<DD><CODE>minute</CODE> - The minute of hour, from 0-59<DD><CODE>second</CODE> - The second of minute, from 0-59<DD><CODE>fraction</CODE> - The fraction of second, 0.0 to 0.999... (may be null)</DL>
<HR>

<A NAME="GDateBuilder(int, int, int, int, int, int, java.math.BigDecimal, int, int, int)"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>(int&nbsp;year,
                    int&nbsp;month,
                    int&nbsp;day,
                    int&nbsp;hour,
                    int&nbsp;minute,
                    int&nbsp;second,
                    <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction,
                    int&nbsp;tzSign,
                    int&nbsp;tzHour,
                    int&nbsp;tzMinute)</PRE>
<DL>
<DD>Constructs an absolute GDateBuilder with the specified year,
 month, day, hours, minutes, seconds, and optional fractional
 seconds, and in the timezone specified.
 <p>
 Note that you can reexpress the GDateBuilder in any timezone using
 normalizeToTimeZone(). The normalize() method normalizes to UTC.
 <p>
 If you wish to have a time or date that isn't in a specified timezone,
 then use the constructor that does not include the timezone arguments.
<P>
<DT><B>Parameters:</B><DD><CODE>year</CODE> - the year<DD><CODE>month</CODE> - the month, from 1-12<DD><CODE>day</CODE> - the day of month, from 1-31<DD><CODE>hour</CODE> - the hour of day, from 0-23<DD><CODE>minute</CODE> - the minute of hour, from 0-59<DD><CODE>second</CODE> - the second of minute, from 0-59<DD><CODE>fraction</CODE> - the fraction of second, 0.0 to 0.999... (may be null)<DD><CODE>tzSign</CODE> - the timezone offset sign, either +1, 0, or -1<DD><CODE>tzHour</CODE> - the timezone offset hour<DD><CODE>tzMinute</CODE> - the timezone offset minute</DL>
<HR>

<A NAME="GDateBuilder(java.util.Date)"><!-- --></A><H3>
GDateBuilder</H3>
<PRE>
public <B>GDateBuilder</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;date)</PRE>
<DL>
<DD>Constructs a GDateBuilder based on a java.util.Date.
 <p>
 The current offset of the default timezone is used as the timezone.
 <p>
 For example, if eastern daylight time is in effect at the given
 date, the timezone on the east coast of the united states
 translates to GMT-05:00 (EST) + 1:00 (DT offset) == GMT-04:00.
<P>
<DT><B>Parameters:</B><DD><CODE>date</CODE> - the date object to copy</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A> <B>clone</B>()</PRE>
<DL>
<DD>Builds another GDateBuilder with the same value
 as this one.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()">clone</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="toGDate()"><!-- --></A><H3>
toGDate</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A> <B>toGDate</B>()</PRE>
<DL>
<DD>Builds a GDate from this GDateBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isImmutable()"><!-- --></A><H3>
isImmutable</H3>
<PRE>
public boolean <B>isImmutable</B>()</PRE>
<DL>
<DD>True if the instance is immutable.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#isImmutable()">isImmutable</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFlags()"><!-- --></A><H3>
getFlags</H3>
<PRE>
public int <B>getFlags</B>()</PRE>
<DL>
<DD>Returns a combination of flags indicating the information
 contained by this GDate.  The five flags are
 HAS_TIMEZONE, HAS_YEAR, HAS_MONTH, HAS_DAY, and HAS_TIME.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getFlags()">getFlags</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasTimeZone()"><!-- --></A><H3>
hasTimeZone</H3>
<PRE>
public final boolean <B>hasTimeZone</B>()</PRE>
<DL>
<DD>True if this date/time specification specifies a timezone.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#hasTimeZone()">hasTimeZone</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasYear()"><!-- --></A><H3>
hasYear</H3>
<PRE>
public final boolean <B>hasYear</B>()</PRE>
<DL>
<DD>True if this date/time specification specifies a year.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#hasYear()">hasYear</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasMonth()"><!-- --></A><H3>
hasMonth</H3>
<PRE>
public final boolean <B>hasMonth</B>()</PRE>
<DL>
<DD>True if this date/time specification specifies a month-of-year.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#hasMonth()">hasMonth</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasDay()"><!-- --></A><H3>
hasDay</H3>
<PRE>
public final boolean <B>hasDay</B>()</PRE>
<DL>
<DD>True if this date/time specification specifies a day-of-month.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#hasDay()">hasDay</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasTime()"><!-- --></A><H3>
hasTime</H3>
<PRE>
public final boolean <B>hasTime</B>()</PRE>
<DL>
<DD>True if this date/time specification specifies a time-of-day.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#hasTime()">hasTime</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hasDate()"><!-- --></A><H3>
hasDate</H3>
<PRE>
public final boolean <B>hasDate</B>()</PRE>
<DL>
<DD>True if this date/time specification specifies a full date (year, month, day)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#hasDate()">hasDate</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getYear()"><!-- --></A><H3>
getYear</H3>
<PRE>
public final int <B>getYear</B>()</PRE>
<DL>
<DD>Gets the year. Should be a four-digit year specification.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getYear()">getYear</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMonth()"><!-- --></A><H3>
getMonth</H3>
<PRE>
public final int <B>getMonth</B>()</PRE>
<DL>
<DD>Gets the month-of-year. January is 1.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getMonth()">getMonth</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDay()"><!-- --></A><H3>
getDay</H3>
<PRE>
public final int <B>getDay</B>()</PRE>
<DL>
<DD>Gets the day-of-month. The first day of each month is 1.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getDay()">getDay</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getHour()"><!-- --></A><H3>
getHour</H3>
<PRE>
public final int <B>getHour</B>()</PRE>
<DL>
<DD>Gets the hour-of-day. Midnight is 0, and 11PM is 23.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getHour()">getHour</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMinute()"><!-- --></A><H3>
getMinute</H3>
<PRE>
public final int <B>getMinute</B>()</PRE>
<DL>
<DD>Gets the minute-of-hour. Range from 0 to 59.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getMinute()">getMinute</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSecond()"><!-- --></A><H3>
getSecond</H3>
<PRE>
public final int <B>getSecond</B>()</PRE>
<DL>
<DD>Gets the second-of-minute. Range from 0 to 59.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getSecond()">getSecond</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFraction()"><!-- --></A><H3>
getFraction</H3>
<PRE>
public final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A> <B>getFraction</B>()</PRE>
<DL>
<DD>Gets the fraction-of-second. Range from 0 (inclusive) to 1 (exclusive).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getFraction()">getFraction</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMillisecond()"><!-- --></A><H3>
getMillisecond</H3>
<PRE>
public final int <B>getMillisecond</B>()</PRE>
<DL>
<DD>Gets the rounded millisecond value. Range from 0 to 999
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getMillisecond()">getMillisecond</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getTimeZoneSign()"><!-- --></A><H3>
getTimeZoneSign</H3>
<PRE>
public final int <B>getTimeZoneSign</B>()</PRE>
<DL>
<DD>Gets the time zone sign. For time zones east of GMT,
 this is positive; for time zones west, this is negative.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getTimeZoneSign()">getTimeZoneSign</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getTimeZoneHour()"><!-- --></A><H3>
getTimeZoneHour</H3>
<PRE>
public final int <B>getTimeZoneHour</B>()</PRE>
<DL>
<DD>Gets the time zone hour.
 This is always positive: for the sign, look at
 getTimeZoneSign().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getTimeZoneHour()">getTimeZoneHour</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getTimeZoneMinute()"><!-- --></A><H3>
getTimeZoneMinute</H3>
<PRE>
public final int <B>getTimeZoneMinute</B>()</PRE>
<DL>
<DD>Gets the time zone minutes.
 This is always positive: for the sign, look at
 getTimeZoneSign().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getTimeZoneMinute()">getTimeZoneMinute</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setYear(int)"><!-- --></A><H3>
setYear</H3>
<PRE>
public void <B>setYear</B>(int&nbsp;year)</PRE>
<DL>
<DD>Sets the year. Should be a four-digit year specification.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>year</CODE> - the year</DL>
</DD>
</DL>
<HR>

<A NAME="setMonth(int)"><!-- --></A><H3>
setMonth</H3>
<PRE>
public void <B>setMonth</B>(int&nbsp;month)</PRE>
<DL>
<DD>Sets the month-of-year. January is 1.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>month</CODE> - the month, from 1-12</DL>
</DD>
</DL>
<HR>

<A NAME="setDay(int)"><!-- --></A><H3>
setDay</H3>
<PRE>
public void <B>setDay</B>(int&nbsp;day)</PRE>
<DL>
<DD>Sets the day-of-month. The first day of each month is 1.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>day</CODE> - the day of month, from 1-31</DL>
</DD>
</DL>
<HR>

<A NAME="setTime(int, int, int, java.math.BigDecimal)"><!-- --></A><H3>
setTime</H3>
<PRE>
public void <B>setTime</B>(int&nbsp;hour,
                    int&nbsp;minute,
                    int&nbsp;second,
                    <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction)</PRE>
<DL>
<DD>Sets the time. Hours in the day range from 0 to 23;
 minutes and seconds range from 0 to 59; and fractional
 seconds range from 0 (inclusive) to 1 (exclusive).
 The fraction can be null and is assumed to be zero.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>hour</CODE> - the hour of day, from 0-23<DD><CODE>minute</CODE> - the minute of hour, from 0-59<DD><CODE>second</CODE> - the second of minute, from 0-59<DD><CODE>fraction</CODE> - the fraction of second, 0.0 to 0.999... (may be null)</DL>
</DD>
</DL>
<HR>

<A NAME="setTimeZone(int, int, int)"><!-- --></A><H3>
setTimeZone</H3>
<PRE>
public void <B>setTimeZone</B>(int&nbsp;tzSign,
                        int&nbsp;tzHour,
                        int&nbsp;tzMinute)</PRE>
<DL>
<DD>Sets the time zone without changing the other time
 fields. If you with to adjust other time fields to express
 the same actual moment in time in a different time zone,
 use normalizeToTimeZone.
 <p>
 Timezones must be between -14:00 and +14:00. Sign
 must be -1 or 1 (or 0 for UTC only), and the offset hours
 and minute arguments must be nonnegative.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tzSign</CODE> - the timezone offset sign, either +1, 0, or -1<DD><CODE>tzHour</CODE> - the timezone offset hour<DD><CODE>tzMinute</CODE> - the timezone offset minute</DL>
</DD>
</DL>
<HR>

<A NAME="clearYear()"><!-- --></A><H3>
clearYear</H3>
<PRE>
public void <B>clearYear</B>()</PRE>
<DL>
<DD>Clears the year. After clearing, hasYear returns false and the
 value of getYear is undefined.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearMonth()"><!-- --></A><H3>
clearMonth</H3>
<PRE>
public void <B>clearMonth</B>()</PRE>
<DL>
<DD>Clears the month-of-year. After clearing. hasMonth returns false and
 the value of getMonth is undefined.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearDay()"><!-- --></A><H3>
clearDay</H3>
<PRE>
public void <B>clearDay</B>()</PRE>
<DL>
<DD>Clears the day-of-month. After clearing. hasDay returns false and
 the value of getDay is undefined.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearTime()"><!-- --></A><H3>
clearTime</H3>
<PRE>
public void <B>clearTime</B>()</PRE>
<DL>
<DD>Clears the time-of-day.
 After clearing. hasTime returns false and
 the value of getTime is undefined.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clearTimeZone()"><!-- --></A><H3>
clearTimeZone</H3>
<PRE>
public void <B>clearTimeZone</B>()</PRE>
<DL>
<DD>Clears the timezone. After clearing. hasTimeZone returns false and
 the value of getTimeZoneHour and getTimeZoneMinute are undefined.
 Does not change the other time fields.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isValid()"><!-- --></A><H3>
isValid</H3>
<PRE>
public boolean <B>isValid</B>()</PRE>
<DL>
<DD>True if all date fields lie within their legal ranges.  A GDateBuilder
 can be invalid, for example, if you change the month to February
 and the day-of-month is 31.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#isValid()">isValid</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="normalize()"><!-- --></A><H3>
normalize</H3>
<PRE>
public void <B>normalize</B>()</PRE>
<DL>
<DD>Normalizes the instance, ensuring date and time fields are within
 their normal ranges.
 <p>
 If no timezone or no time is specified, or if a partial date is specified, this
 method does nothing, and leaves the timezone information as-is.
 <p>
 If a time or time and date is specified, this method normalizes the timezone
 to UTC.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="normalizeToTimeZone(int, int, int)"><!-- --></A><H3>
normalizeToTimeZone</H3>
<PRE>
public void <B>normalizeToTimeZone</B>(int&nbsp;tzSign,
                                int&nbsp;tzHour,
                                int&nbsp;tzMinute)</PRE>
<DL>
<DD>If the time and timezone are known, this method changes the timezone to the
 specified UTC offset, altering minutes, hours, day, month, and year as
 necessary to ensure that the actual described moment in time is the same.
 <p>
 It is an error to operate on instances without a time or timezone, or
 with a partially specified date.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tzSign</CODE> - the timezone offset sign, either +1, 0, or -1<DD><CODE>tzHour</CODE> - the timezone offset hour<DD><CODE>tzMinute</CODE> - the timezone offset minute</DL>
</DD>
</DL>
<HR>

<A NAME="addGDuration(org.apache.xmlbeans.GDurationSpecification)"><!-- --></A><H3>
addGDuration</H3>
<PRE>
public void <B>addGDuration</B>(<A HREF="../../../org/apache/xmlbeans/GDurationSpecification.html">GDurationSpecification</A>&nbsp;duration)</PRE>
<DL>
<DD>Adds a given duration to the date/time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>duration</CODE> - the duration to add</DL>
</DD>
</DL>
<HR>

<A NAME="subtractGDuration(org.apache.xmlbeans.GDurationSpecification)"><!-- --></A><H3>
subtractGDuration</H3>
<PRE>
public void <B>subtractGDuration</B>(<A HREF="../../../org/apache/xmlbeans/GDurationSpecification.html">GDurationSpecification</A>&nbsp;duration)</PRE>
<DL>
<DD>Subtracts a given duration from the date/time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>duration</CODE> - the duration to subtract</DL>
</DD>
</DL>
<HR>

<A NAME="addDuration(int, int, int, int, int, int, int, java.math.BigDecimal)"><!-- --></A><H3>
addDuration</H3>
<PRE>
public void <B>addDuration</B>(int&nbsp;sign,
                        int&nbsp;year,
                        int&nbsp;month,
                        int&nbsp;day,
                        int&nbsp;hour,
                        int&nbsp;minute,
                        int&nbsp;second,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;fraction)</PRE>
<DL>
<DD>Adds a given duration to the date/time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sign</CODE> - +1 to add, -1 to subtract<DD><CODE>year</CODE> - the number of years to add<DD><CODE>month</CODE> - the number of months to add<DD><CODE>day</CODE> - the number of days to add<DD><CODE>hour</CODE> - the number of hours to add<DD><CODE>minute</CODE> - the number of minutes to add<DD><CODE>second</CODE> - the number of seconds to add<DD><CODE>fraction</CODE> - the number of fractional seconds to add (may be null)</DL>
</DD>
</DL>
<HR>

<A NAME="getJulianDate()"><!-- --></A><H3>
getJulianDate</H3>
<PRE>
public final int <B>getJulianDate</B>()</PRE>
<DL>
<DD>Returns the Julian date corresponding to this Gregorian date.
 The Julian date (JD) is a continuous count of days from
 1 January 4713 BC (= -4712 January 1).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getJulianDate()">getJulianDate</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setJulianDate(int)"><!-- --></A><H3>
setJulianDate</H3>
<PRE>
public void <B>setJulianDate</B>(int&nbsp;julianday)</PRE>
<DL>
<DD>Sets the Gregorian date based on the given Julian date.
 The Julian date (JD) is a continuous count of days from
 1 January 4713 BC (= -4712 January 1).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>julianday</CODE> - the julian day number</DL>
</DD>
</DL>
<HR>

<A NAME="setDate(java.util.Date)"><!-- --></A><H3>
setDate</H3>
<PRE>
public void <B>setDate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;date)</PRE>
<DL>
<DD>Sets the current time and date based on a java.util.Date instance.
 <p>
 The timezone offset used is based on the default TimeZone. (The
 default TimeZone is consulted to incorporate daylight savings offsets
 if applicable for the current date as well as the base timezone offset.)
 <p>
 If you wish to normalize the timezone, e.g., to UTC, follow this with
 a call to normalizeToTimeZone.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>date</CODE> - the Date object to copy</DL>
</DD>
</DL>
<HR>

<A NAME="setGDate(org.apache.xmlbeans.GDateSpecification)"><!-- --></A><H3>
setGDate</H3>
<PRE>
public void <B>setGDate</B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;gdate)</PRE>
<DL>
<DD>Copies a GDateSpecification, completely replacing the current
 information in this GDateBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>gdate</CODE> - the GDateSpecification to copy</DL>
</DD>
</DL>
<HR>

<A NAME="getCalendar()"><!-- --></A><H3>
getCalendar</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlCalendar.html">XmlCalendar</A> <B>getCalendar</B>()</PRE>
<DL>
<DD>Retrieves the value of the current time as an <A HREF="../../../org/apache/xmlbeans/XmlCalendar.html"><CODE>XmlCalendar</CODE></A>.
 <p>
 <A HREF="../../../org/apache/xmlbeans/XmlCalendar.html"><CODE>XmlCalendar</CODE></A> is a subclass of <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html"><CODE>GregorianCalendar</CODE></A>
 which is slightly customized to match XML schema date rules.
 <p>
 The returned <A HREF="../../../org/apache/xmlbeans/XmlCalendar.html"><CODE>XmlCalendar</CODE></A> has only those time and date fields
 set that are reflected in the GDate object.  Because of the way the
 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A> contract works, any information in the isSet() vanishes
 as soon as you view any unset field using get() methods.
 This means that if it is important to understand which date fields
 are set, you must call isSet() first before get().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getCalendar()">getCalendar</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDate()"><!-- --></A><H3>
getDate</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A> <B>getDate</B>()</PRE>
<DL>
<DD>Retrieves the value of the current time as a java.util.Date
 instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getDate()">getDate</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="compareToGDate(org.apache.xmlbeans.GDateSpecification)"><!-- --></A><H3>
compareToGDate</H3>
<PRE>
public final int <B>compareToGDate</B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;datespec)</PRE>
<DL>
<DD>Comparison to another GDate.
 <ul>
 <li>Returns -1 if this < date. (less-than)
 <li>Returns 0 if this == date. (equal)
 <li>Returns 1 if this > date. (greater-than)
 <li>Returns 2 if this <> date. (incomparable)
 </ul>
 Two instances are incomparable if they have different amounts
 of information.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#compareToGDate(org.apache.xmlbeans.GDateSpecification)">compareToGDate</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>datespec</CODE> - the date to compare against</DL>
</DD>
</DL>
<HR>

<A NAME="getBuiltinTypeCode()"><!-- --></A><H3>
getBuiltinTypeCode</H3>
<PRE>
public final int <B>getBuiltinTypeCode</B>()</PRE>
<DL>
<DD>Returns the builtin type code for the shape of the information
 contained in this instance, or 0 if the
 instance doesn't contain information corresponding to a
 Schema type.
 <p> 
 Value will be equal to
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_NOT_BUILTIN"><CODE>SchemaType.BTC_NOT_BUILTIN</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_YEAR"><CODE>SchemaType.BTC_G_YEAR</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_YEAR_MONTH"><CODE>SchemaType.BTC_G_YEAR_MONTH</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_MONTH"><CODE>SchemaType.BTC_G_MONTH</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_MONTH_DAY"><CODE>SchemaType.BTC_G_MONTH_DAY</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_DAY"><CODE>SchemaType.BTC_G_DAY</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_DATE"><CODE>SchemaType.BTC_DATE</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_DATE_TIME"><CODE>SchemaType.BTC_DATE_TIME</CODE></A>, or
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_TIME"><CODE>SchemaType.BTC_TIME</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#getBuiltinTypeCode()">getBuiltinTypeCode</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBuiltinTypeCode(int)"><!-- --></A><H3>
setBuiltinTypeCode</H3>
<PRE>
public void <B>setBuiltinTypeCode</B>(int&nbsp;typeCode)</PRE>
<DL>
<DD>Clears the fields in this GDateBuilder that are not applicable
 for the given SchemaType date code.  The code should be
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_YEAR"><CODE>SchemaType.BTC_G_YEAR</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_YEAR_MONTH"><CODE>SchemaType.BTC_G_YEAR_MONTH</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_MONTH"><CODE>SchemaType.BTC_G_MONTH</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_MONTH_DAY"><CODE>SchemaType.BTC_G_MONTH_DAY</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_G_DAY"><CODE>SchemaType.BTC_G_DAY</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_DATE"><CODE>SchemaType.BTC_DATE</CODE></A>,
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_DATE_TIME"><CODE>SchemaType.BTC_DATE_TIME</CODE></A>, or
 <A HREF="../../../org/apache/xmlbeans/SchemaType.html#BTC_TIME"><CODE>SchemaType.BTC_TIME</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>typeCode</CODE> - the type code to apply</DL>
</DD>
</DL>
<HR>

<A NAME="canonicalString()"><!-- --></A><H3>
canonicalString</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>canonicalString</B>()</PRE>
<DL>
<DD>The canonical string representation. Specific moments or
 times-of-day in a specified timezone are normalized to
 UTC time to produce a canonical string form for them.
 Other recurring time specifications keep their timezone
 information.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#canonicalString()">canonicalString</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
<DL>
<DD>The natural string representation. This represents the information
 that is available, including timezone. For types that correspond
 to defined schema types (schemaBuiltinTypeCode() > 0),
 this provides the natural lexical representation.
 <p>
 When both time and timezone are specified, this string is not
 the canonical representation unless the timezone is UTC (Z)
 (since the same moment in time can be expressed in different
 timezones). To get a canonical string, use the canonicalString()
 method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html#toString()">toString</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/xmlbeans/GDuration.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="GDateBuilder.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>

</BODY>
</HTML>
