Class GYear
java.lang.Object
org.exolab.castor.types.DateTimeBase
org.exolab.castor.types.GYear
- All Implemented Interfaces:
Serializable, Cloneable
Describe an XML schema gYear type.
The format is defined by W3C XML Schema Recommendation and ISO8601 i.e (-)CCYY(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
ConstructorsConstructorDescriptionGYear()public only for the generated source codeGYear(int year) Instantiates a new gYear given the value of the year.GYear(short[] values) Constructs a XML Schema GYear instance given all the values of the different fields.GYear(short century, short year) Instantiates a new gYear given the value of the century and year.Construct a GYear from a string value -
Method Summary
Modifier and TypeMethodDescriptionshortgetDay()shortgetHour()shortgetMilli()shortshortgetMonth()shortshort[]Returns an array of short with all the fields that describe this gYear type.booleanhasDay()booleanhasHour()booleanhasMilli()booleanbooleanhasMonth()//////////////////////// DISALLOWED METHODS ///////////////////////////booleanstatic Objectparse a String and convert it into an java.lang.Objectstatic GYearparseGYear(String str) parse a String and convert it into a gYear.voidsetDay(short month) 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.voidsetMonth(short year) Sets the Month Field.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 gYear into a local java Date.toString()convert this gYear 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, getYear, getZoneHour, getZoneMinute, hasCentury, hashCode, hasIsNegative, hasYear, isLeap, isNegative, isUTC, isZoneNegative, normalize, parseDay, parseMonth, parseTime, parseTimeZone, parseYear, setCentury, setDateFormatTimeZone, setDateFormatTimeZone, 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.shortshortgetYear()shortshortbooleaninthashCode()Overrides the java.lang.Object#hashcode method.boolean/////////////////////Getter methods//////////////////////////////////////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.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
-
GYear
public GYear()public only for the generated source code -
GYear
public GYear(short century, short year) Instantiates a new gYear given the value of the century and year.- Parameters:
century- the month valueyear- the year value
-
GYear
public GYear(int year) Instantiates a new gYear given the value of the year. Here, the year is the normal representation of a year, that is, a four-digit value.- Parameters:
year- the year value
-
GYear
public GYear(short[] values) Constructs a XML Schema GYear instance given all the values of the different fields. By default a GYear is not UTC and is local.- Parameters:
values- an array of shorts that represent the different fields of Time.
-
GYear
Construct a GYear from a string value- Parameters:
gyear- the string representation of the GYear 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 2 and ordered like the following:- century
- year
-
getValues
public short[] getValues()Returns an array of short with all the fields that describe this gYear 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 gYear 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)
-
parseGYear
parse a String and convert it into a gYear.- 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)
-
hasMonth
public boolean hasMonth()//////////////////////// DISALLOWED METHODS ///////////////////////////- Overrides:
hasMonthin classDateTimeBase
-
getMonth
public short getMonth()- Overrides:
getMonthin classDateTimeBase
-
setMonth
public void setMonth(short year) Description copied from class:DateTimeBaseSets the Month Field. Note 1 invalid input: '<'= month invalid input: '<'= 12.- Overrides:
setMonthin classDateTimeBase- Parameters:
year- the value to set up
-
hasDay
public boolean hasDay()- Overrides:
hasDayin classDateTimeBase
-
getDay
public short getDay()- Overrides:
getDayin classDateTimeBase
-
setDay
public void setDay(short month) Description copied from class:DateTimeBaseSets the Day Field. Note: This field is validated before the assignment is done.- Overrides:
setDayin classDateTimeBase- Parameters:
month- 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
-