<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
               Class XSGYearMonth</h2><br><hr><pre>public class <strong>XSGYearMonth</strong>
extends org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType</pre>A representation of the YearMonth datatype<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSGYearMonth">XSGYearMonth</a></strong>(java.util.Calendar cal
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></td></tr><tr><td><code><strong><a href="#con_XSGYearMonth">XSGYearMonth</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Calendar</code></td><td width="" align="left"><code><a href="#method_calendar">calendar</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the Calendar representation of the year and month stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_constructor">constructor</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Creates a new ResultSequence consisting of the extractable gYearMonth in
 the supplied ResultSequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_eq">eq</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg
         ,
      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Equality comparison between this and the supplied representation. This
 representation must be of type XSGYearMonth</td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isGDataType">isGDataType</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_month">month</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the actual month as an integer</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth</code></td><td width="" align="left"><code><a href="#method_parse_gYearMonth">parse_gYearMonth</a>(java.lang.String str)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Parses a String representation of a year and month and constructs a new
 XSGYearMonth representation of it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_type">string_type</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the datatype's full pathname</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string_value">string_value</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves a String representation of the stored year and month</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_timezoned">timezoned</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Check for whether a timezone was specified at creation</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_type_name">type_name</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the datatype's name</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the timezone associated with the date stored</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_year">year</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the actual year as an integer</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XSGYearMonth">XSGYearMonth</a></h2><p><code>public <strong>XSGYearMonth</strong>(java.util.Calendar cal
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration tz)</code></p><p>Initialises a representation of the supplied year and month</p><hr><h2><a name="con_XSGYearMonth">XSGYearMonth</a></h2><p><code>public <strong>XSGYearMonth</strong>()</code></p><p>Initialises a representation of the current year and month</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_calendar">calendar</a></h2><p><code>public java.util.Calendar <strong>calendar</strong>()</code></p><p>Retrieves the Calendar representation of the year and month stored</p><h3>Returns</h3><p><code>java.util.Calendar</code> - Calendar representation of the year and month stored</p><hr><h2><a name="method_constructor">constructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>constructor</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence arg)</code></p><p>Creates a new ResultSequence consisting of the extractable gYearMonth in
 the supplied ResultSequence</p><h3>Parameters</h3><p><code>arg</code> - The ResultSequence from which the gYearMonth is to be             extracted</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - New ResultSequence consisting of the supplied year and month</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_eq">eq</a></h2><p><code>public boolean <strong>eq</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType arg
         ,
      org.eclipse.wst.xml.xpath2.processor.DynamicContext context)</code></p><p>Equality comparison between this and the supplied representation. This
 representation must be of type XSGYearMonth</p><h3>Parameters</h3><p><code>arg</code> - The XSGYearMonth to compare with</p><p><code>context</code></p><h3>Returns</h3><p><code>boolean</code> - True if the two representations are of the same year and month.          False otherwise</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_isGDataType">isGDataType</a></h2><p><code>protected boolean <strong>isGDataType</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType aat)</code></p><p></p><h3>Parameters</h3><p><code>aat</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_month">month</a></h2><p><code>public int <strong>month</strong>()</code></p><p>Retrieves the actual month as an integer</p><h3>Returns</h3><p><code>int</code> - The actual month as an integer</p><hr><h2><a name="method_parse_gYearMonth">parse_gYearMonth</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth <strong>parse_gYearMonth</strong>(java.lang.String str)</code></p><p>Parses a String representation of a year and month and constructs a new
 XSGYearMonth representation of it.</p><h3>Parameters</h3><p><code>str</code> - The String representation of the year and month (and optional             timezone)</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth</code> - The XSGYearMonth representation of the supplied date</p><hr><h2><a name="method_string_type">string_type</a></h2><p><code>public java.lang.String <strong>string_type</strong>()</code></p><p>Retrieves the datatype's full pathname</p><h3>Returns</h3><p><code>java.lang.String</code> - "xs:gYearMonth" which is the datatype's full pathname</p><hr><h2><a name="method_string_value">string_value</a></h2><p><code>public java.lang.String <strong>string_value</strong>()</code></p><p>Retrieves a String representation of the stored year and month</p><h3>Returns</h3><p><code>java.lang.String</code> - String representation of the stored year and month</p><hr><h2><a name="method_timezoned">timezoned</a></h2><p><code>public boolean <strong>timezoned</strong>()</code></p><p>Check for whether a timezone was specified at creation</p><h3>Returns</h3><p><code>boolean</code> - True if a timezone was specified. False otherwise</p><hr><h2><a name="method_type_name">type_name</a></h2><p><code>public java.lang.String <strong>type_name</strong>()</code></p><p>Retrieves the datatype's name</p><h3>Returns</h3><p><code>java.lang.String</code> - "gYearMonth" which is the datatype's name</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Retrieves the timezone associated with the date stored</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - the timezone associated with the date stored</p><hr><h2><a name="method_year">year</a></h2><p><code>public int <strong>year</strong>()</code></p><p>Retrieves the actual year as an integer</p><h3>Returns</h3><p><code>int</code> - The actual year as an integer</p><hr></body></html>