Class GYearMonth
java.lang.Object
org.exolab.castor.types.DateTimeBase
org.exolab.castor.types.GYearMonth
- All Implemented Interfaces:
Serializable, Cloneable
Describe an XML schema gYearMonth type.
The format is defined by W3C XML Schema Recommendation and ISO8601 i.e (-)CCYY-MM(Z|(+|-)hh:mm)
- Version:
- $Revision: 7289 $
- Author:
- Arnaud Blandin, Edward Kuns
- See Also:
-
Field Summary
Fields inherited from class DateTimeBase
EQUALS, GREATER_THAN, INDETERMINATE, LESS_THAN, MAX_TIME_ZONE_COMPARISON_OFFSET, WRONGLY_PLACEDModifier and TypeFieldDescriptionstatic final intPublic constant referring to a Date/Time comparison result of "equals".static final intPublic constant referring to a Date/Time comparison result of "greater than".static final intPublic constant referring to an indeterminate Date/Time comparison.static final intPublic constant referring to a Date/Time comparison result of "less than".protected static final intWhen comparing a date/time with a time zone to one without, the recommendation says that 14 hours is the time zone offset to use for comparison.protected static final StringConvenience String for complaints. -
Constructor Summary
ConstructorsConstructorDescriptionpublic only for the generated source codeGYearMonth(int year, int month) Instantiates a new gYearMonth given the value of the month and the value of the day.GYearMonth(short[] values) Constructs a XML Schema GYearMonth instance given all the values of the different fields.GYearMonth(short century, short year, short month) Instantiates a new gYearMonth given the value of the month and the value of the day.GYearMonth(String gyearMonth) Constructs a GYearMonth given a string representation -
Method Summary
Modifier and TypeMethodDescriptionshortgetDay()shortgetHour()shortgetMilli()shortshortshort[]Returns an array of short with all the fields that describe this gYearMonth type.booleanhasDay()//////////////////////// DISALLOWED METHODS ///////////////////////////booleanhasHour()booleanhasMilli()booleanbooleanstatic Objectparse a String and convert it into an java.lang.Objectstatic GYearMonthparseGYearMonth(String str) parse a String and convert it into a gYearMonth.voidsetDay(short day) Sets the Day Field.voidsetHour(short hour) Sets the hour field for this date/time type.voidsetMilliSecond(short millisecond) Sets the millisecond field for this date/time type.voidsetMinute(short minute) set the minute field for this date/time type.voidsetSecond(short second) Sets the seconds field for this date/time type, not including the fractional seconds.voidsetValues(short[] values) Sets all the fields by reading the values in an arraytoDate()converts this gYearMonth into a local java Date.toString()convert this gYearMonth to a string The format is defined by W3C XML Schema recommendation and ISO8601 i.e (+|-)CCYY-MM(Z|(+|-)hh:mm)Methods inherited from class DateTimeBase
addDuration, appendDateString, appendTimeString, appendTimeZoneString, clone, compareTo, equal, equals, getCentury, getMonth, getYear, getZoneHour, getZoneMinute, hasCentury, hashCode, hasIsNegative, hasMonth, hasYear, isLeap, isNegative, isUTC, isZoneNegative, normalize, parseDay, parseMonth, parseTime, parseTimeZone, parseYear, setCentury, setDateFormatTimeZone, setDateFormatTimeZone, setMonth, setNegative, setSecond, setUTC, setYear, setZone, setZoneHour, setZoneMinute, setZoneNegative, toCalendarModifier and TypeMethodDescriptionvoidaddDuration(Duration duration) Adds a Duration to this Date/Time type as defined in Adding Duration to dateTimes (W3C XML Schema, part 2 appendix E). This version uses the algorithm defined in the document from W3C.protected voidappendDateString(StringBuffer result) protected voidappendTimeString(StringBuffer result) protected voidappendTimeZoneString(StringBuffer result) clone(DateTimeBase dateTime) intcompareTo(DateTimeBase dateTime) Compares two date/time data types.protected booleanequal(DateTimeBase dateTime) Returns true if the present instance of date/time type is equal to the parameter.booleanOverrides the java.lang.Object#equals method.shortshortgetMonth()shortgetYear()shortshortbooleaninthashCode()Overrides the java.lang.Object#hashcode method.boolean/////////////////////Getter methods//////////////////////////////////////booleanhasMonth()booleanhasYear()final booleanisLeap(int year) Returns true if the given year represents a leap year.boolean/////////////////////Getter methods//////////////////////////////////////booleanisUTC()Returns true if this date/time type is UTC, that is, has a time zone assigned.booleanvoidNormalizes a date/time datatype as defined in W3C XML Schema Recommendation document: if a timeZone is present but it is not Z then we convert the date/time datatype to Z using the addition operation defined in Adding Duration to dateTimes (W3C XML Schema, part 2 appendix E).protected static intparseDay(String str, DateTimeBase result, char[] chars, int index, String complaint) protected static intparseMonth(String str, DateTimeBase result, char[] chars, int index, String complaint) protected static intparseTime(String str, DateTimeBase result, char[] chars, int index, String complaint) protected static intparseTimeZone(String str, DateTimeBase result, char[] chars, int index, String complaint) protected static intparseYear(String str, DateTimeBase result, char[] chars, int index, String complaint) /////////// COMMON CODE USED BY EXTENDING CLASSES ///////////////////////voidsetCentury(short century) Set the century field.protected voidSets the time zone in the provided DateFormat.protected voidsetDateFormatTimeZone(Calendar calendar) Sets the time zone in the provided Calendar.voidsetMonth(short month) Sets the Month Field.voidSet the negative field to true.voidsetSecond(short second, short millsecond) Sets the seconds field for this date/time type, including fractional seconds.voidsetUTC()Sets the UTC field.voidsetYear(short year) Sets the Year field.voidsetZone(short hour, short minute) Sets the time zone fields for this date/time type.voidsetZoneHour(short hour) Sets the time zone hour field for this date/time type.voidsetZoneMinute(short minute) Sets the time zone minute field for this date/time type.voidsetZoneNegative(boolean zoneNegative) Sets the time zone negative field to true.converts this Date/Time into a local java Calendar.
-
Constructor Details
-
GYearMonth
public GYearMonth()public only for the generated source code -
GYearMonth
public GYearMonth(short century, short year, short month) Instantiates a new gYearMonth given the value of the month and the value of the day.- Parameters:
century- the month valueyear- the year valuemonth- the month value
-
GYearMonth
public GYearMonth(int year, int month) Instantiates a new gYearMonth given the value of the month and the value of the day.- Parameters:
year- the year valuemonth- the month value
-
GYearMonth
public GYearMonth(short[] values) Constructs a XML Schema GYearMonth instance given all the values of the different fields. By default a GYearMonth is not UTC and is local.- Parameters:
values- an array of shorts that represent the different fields of Time.
-
GYearMonth
Constructs a GYearMonth given a string representation- Parameters:
gyearMonth- the string representation of the GYearMonth to instantiate- Throws:
ParseException- a parse exception is thrown if the string to parse does not follow the rigth format (see the description of this class)
-
-
Method Details
-
setValues
public void setValues(short[] values) Sets all the fields by reading the values in an arrayif a Time Zone is specificied it has to be set by using
setZone.- Specified by:
setValuesin classDateTimeBase- Parameters:
values- an array of shorts with the values the array is supposed to be of length 3 and ordered like the following:- century
- year
- month
-
getValues
public short[] getValues()Returns an array of short with all the fields that describe this gYearMonth type.Note:the time zone is not included.
- Specified by:
getValuesin classDateTimeBase- Returns:
- an array of short with all the fields that describe this Date type.
-
toDate
converts this gYearMonth into a local java Date.- Specified by:
toDatein classDateTimeBase- Returns:
- a local date representing this Date.
-
toString
-
parse
parse a String and convert it into an java.lang.Object- Parameters:
str- the string to parse- Returns:
- an Object represented by the string
- Throws:
ParseException- a parse exception is thrown if the string to parse does not follow the rigth format (see the description of this class)
-
parseGYearMonth
parse a String and convert it into a gYearMonth.- Parameters:
str- the string to parse- Returns:
- the Date represented by the string
- Throws:
ParseException- a parse exception is thrown if the string to parse does not follow the rigth format (see the description of this class)
-
hasDay
public boolean hasDay()//////////////////////// DISALLOWED METHODS ///////////////////////////- Overrides:
hasDayin classDateTimeBase
-
getDay
public short getDay()- Overrides:
getDayin classDateTimeBase
-
setDay
public void setDay(short day) Description copied from class:DateTimeBaseSets the Day Field. Note: This field is validated before the assignment is done.- Overrides:
setDayin classDateTimeBase- Parameters:
day- the value to set up
-
hasHour
public boolean hasHour()- Overrides:
hasHourin classDateTimeBase
-
getHour
public short getHour()- Overrides:
getHourin classDateTimeBase
-
setHour
public void setHour(short hour) Description copied from class:DateTimeBaseSets the hour field for this date/time type.- Overrides:
setHourin classDateTimeBase- Parameters:
hour- the hour to set
-
hasMinute
public boolean hasMinute()- Overrides:
hasMinutein classDateTimeBase
-
getMinute
public short getMinute()- Overrides:
getMinutein classDateTimeBase
-
setMinute
public void setMinute(short minute) Description copied from class:DateTimeBaseset the minute field for this date/time type.- Overrides:
setMinutein classDateTimeBase- Parameters:
minute- the minute to set.
-
hasSeconds
public boolean hasSeconds()- Overrides:
hasSecondsin classDateTimeBase
-
getSeconds
public short getSeconds()- Overrides:
getSecondsin classDateTimeBase
-
setSecond
public void setSecond(short second) Description copied from class:DateTimeBaseSets the seconds field for this date/time type, not including the fractional seconds. Any fractional seconds previously set is unmodified.- Overrides:
setSecondin classDateTimeBase- Parameters:
second- the second to set
-
hasMilli
public boolean hasMilli()- Overrides:
hasMilliin classDateTimeBase
-
getMilli
public short getMilli()- Overrides:
getMilliin classDateTimeBase
-
setMilliSecond
public void setMilliSecond(short millisecond) Description copied from class:DateTimeBaseSets the millisecond field for this date/time type.- Overrides:
setMilliSecondin classDateTimeBase- Parameters:
millisecond- the millisecond to set
-