public class HolidayModel extends java.lang.Object implements XMLMarshallable, XMLMapping
Java class represents the scheme of a holiday that is contained in
public holidays.The XML APIs specify the following XSD fragment:
XSD Fragment
<xs:element name="holiday">
<xs:complexType>
<xs:sequence>
<xs:element name="description" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="lang" type="xs:string" use="required"/>
<xs:attribute name="label" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="group" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="code" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="fixedDay" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="month" type="MonthType" use="required"/>
<xs:attribute name="day" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="relativeDay" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="month" type="MonthType" use="required"/>
<xs:attribute name="weekday" type="WeekdayType" use="required"/>
<xs:attribute name="position" type="PositionType" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="easterRelativeDay" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="offset" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="enumeratedDay" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="date" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="value" type="xs:date"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="code" type="xs:string" use="required"/>
</xs:complexType>
</xs:element><xs:simpleType name="MonthType">
<xs:restriction base="xs:string">
<xs:enumeration value="January"/>
<xs:enumeration value="February"/>
<xs:enumeration value="March"/>
<xs:enumeration value="April"/>
<xs:enumeration value="May"/>
<xs:enumeration value="June"/>
<xs:enumeration value="July"/>
<xs:enumeration value="August"/>
<xs:enumeration value="September"/>
<xs:enumeration value="October"/>
<xs:enumeration value="November"/>
<xs:enumeration value="December"/>
</xs:restriction>
</xs:simpleType><xs:simpleType name="WeekdayType">
<xs:restriction base="xs:string">
<xs:enumeration value="Sunday"/>
<xs:enumeration value="Monday"/>
<xs:enumeration value="Tuesday"/>
<xs:enumeration value="Wednesday"/>
<xs:enumeration value="Thursday"/>
<xs:enumeration value="Friday"/>
<xs:enumeration value="Saturday"/>
</xs:restriction>
</xs:simpleType><xs:simpleType name="PositionType">
<xs:restriction base="xs:string">
<xs:enumeration value="last"/>
<xs:enumeration value="first"/>
<xs:enumeration value="second"/>
<xs:enumeration value="third"/>
<xs:enumeration value="fourth"/>
<xs:enumeration value="fifth"/>
</xs:restriction>
</xs:simpleType>
| Modifier and Type | Class and Description |
|---|---|
static interface |
HolidayModel.DayDefinition
FOR INTERNAL USE ONLY - This
Java interface is implemented by classes that define a day. |
static class |
HolidayModel.EasterRelativeDay
This
Java class enables to define day which is relative to Easter Sunday. |
static class |
HolidayModel.EnumeratedDay
This
Java class enables to define a enumerated day, that is to say a day given
by an enumeration of precise date (including year). |
static class |
HolidayModel.FixedDay
This
Java class enables to define a fixed day, that is to say a day given
by a fixed date, same date each year (such as New Year Day, for instance). |
static class |
HolidayModel.RelativeDay
This
Java class enables to define a relative day, that is to say a day given
by a week day position in a month (e.g. |
| Modifier and Type | Field and Description |
|---|---|
static int |
EASTER_RELATIVE_TYPE
Constant used for type of
HolidayModel.EasterRelativeDay. |
static int |
ENUM_TYPE
Constant used for type of
HolidayModel.EnumeratedDay. |
static int |
FIX_TYPE
0: Constant used for type of
HolidayModel.FixedDay |
static java.lang.String[] |
MONTHS
An array containing the valid month names, defined as:
MONTHS[0] is "January"
MONTHS[1] is "February"
MONTHS[2] is "March"
MONTHS[3] is "April"
MONTHS[4] is "May"
MONTHS[5] is "June"
MONTHS[6] is "July"
MONTHS[7] is "August"
MONTHS[8] is "September"
MONTHS[9] is "October"
MONTHS[10] is "November"
MONTHS[11] is "December"
|
static java.lang.String[] |
POSITIONS
An array containing the valid position names, defined as:
POSITIONS[0] is "last"
POSITIONS[1] is "first"
POSITIONS[2] is "second"
POSITIONS[3] is "third"
POSITIONS[4] is "fourth"
POSITIONS[5] is "fifth"
|
static int |
RELATIVE_TYPE
Constant used for type of
HolidayModel.RelativeDay. |
static java.lang.String[] |
WEEKDAYS
An array containing the valid weekday names, defined as:
WEEKDAYS[0] is "Sunday"
WEEKDAYS[1] is "Monday"
WEEKDAYS[2] is "Tuesday"
WEEKDAYS[3] is "Wednesday"
WEEKDAYS[4] is "Thursday"
WEEKDAYS[5] is "Friday"
WEEKDAYS[6] is "Saturday"
|
| Constructor and Description |
|---|
HolidayModel()
Builds a new empty model.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCharacterData(java.lang.String cData)
Adds character data to the content element.
|
void |
addChild(java.lang.String tagName,
XMLMarshallable child)
Adds a child to the object, the
child representing
the marshallable object which must be added to the element. |
void |
checkValidity()
Verifies this
HolidayModel is valid. |
java.lang.Class<?> |
getClass(java.lang.String nsUri,
java.lang.String tag,
XMLAttributes atts)
Returns the
Java class for a specified XML tag and its attributes in a namespace. |
java.lang.String |
getCode()
Gets the code of this
HolidayModel. |
HolidayModel.DayDefinition |
getDayDefinition()
Returns the
DayDefinition of this. |
java.lang.String |
getDescription(java.lang.String language)
Gets the description associated with the given language, if exists.
|
java.util.Properties |
getDescriptions()
Returns all set descriptions, as a
Properties with
languages as key and descriptions as values. |
java.util.Vector<java.lang.String> |
getGroups()
Returns the list of the codes of groups to which this
HolidayModel belongs. |
boolean |
isInGroup(java.lang.String group)
Tests is this belongs to the given group.
|
void |
marshal(XMLOutputter output)
Gives an XML representation of this object, including its children.
|
void |
setAttributes(XMLAttributes atts)
Sets the attributes of the XML representation of the element being
processed.
|
void |
setCode(java.lang.String code)
Sets the code of this
HolidayModel. |
void |
setDayDefinition(HolidayModel.DayDefinition dayDefinition)
Sets the
DayDefinition of this. |
void |
setDescription(java.lang.String language,
java.lang.String label)
Sets a description associated with a language.
|
public static final int FIX_TYPE
HolidayModel.FixedDaypublic static final int RELATIVE_TYPE
HolidayModel.RelativeDay.
Internal use only.public static final int EASTER_RELATIVE_TYPE
HolidayModel.EasterRelativeDay.
Internal use only.public static final int ENUM_TYPE
HolidayModel.EnumeratedDay.
Internal use only.public static final java.lang.String[] MONTHS
public static final java.lang.String[] WEEKDAYS
public static final java.lang.String[] POSITIONS
public java.lang.String getCode()
HolidayModel.HolidayModelpublic void setCode(java.lang.String code)
HolidayModel.code - The code of this HolidayModelpublic java.util.Vector<java.lang.String> getGroups()
HolidayModel belongs.HolidayModel belongspublic void setDescription(java.lang.String language,
java.lang.String label)
language - The language of the label, should be given as ISO-639 codelabel - The label associated with the given languagepublic java.lang.String getDescription(java.lang.String language)
language - The languagenull otherwise.public java.util.Properties getDescriptions()
Properties with
languages as key and descriptions as values.Properties with
languages as key and descriptions as valuespublic HolidayModel.DayDefinition getDayDefinition()
DayDefinition of this.DayDefinition of thispublic void setDayDefinition(HolidayModel.DayDefinition dayDefinition)
DayDefinition of this.dayDefinition - The DayDefinition of thispublic boolean isInGroup(java.lang.String group)
group - The code of the group to testtrue if this belongs to the given group, false otherwisepublic void setAttributes(XMLAttributes atts)
XMLMarshallablesetAttributes in interface XMLMarshallableatts - The XML attributes of the current elementpublic void addChild(java.lang.String tagName,
XMLMarshallable child)
XMLMarshallablechild representing
the marshallable object which must be added to the element.addChild in interface XMLMarshallabletagName - The name of tag for the childchild - The child to be addedpublic void addCharacterData(java.lang.String cData)
XMLMarshallableaddCharacterData in interface XMLMarshallablecData - The character data to be addedpublic void marshal(XMLOutputter output)
XMLMarshallablemarshal in interface XMLMarshallableoutput - The XML output to marshal the object intopublic void checkValidity()
throws InvalidHolidayException
HolidayModel is valid.
An InvalidHolidayException is thrown in the following cases:
nullDayDafinition is invalidInvalidHolidayExceptionHolidayModel.DayDefinition.checkValidity()public java.lang.Class<?> getClass(java.lang.String nsUri,
java.lang.String tag,
XMLAttributes atts)
XMLMappingJava class for a specified XML tag and its attributes in a namespace.getClass in interface XMLMappingnsUri - The unique resource identifier of the namespace of the XML tagtag - The local part of the XML tagatts - The attributes of the XML tagJava class with a default constructor