diff options
Diffstat (limited to 'src/main/java/com/p4square/ccbapi/model/Country.java')
-rw-r--r-- | src/main/java/com/p4square/ccbapi/model/Country.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/ccbapi/model/Country.java b/src/main/java/com/p4square/ccbapi/model/Country.java new file mode 100644 index 0000000..e6936a5 --- /dev/null +++ b/src/main/java/com/p4square/ccbapi/model/Country.java @@ -0,0 +1,48 @@ +package com.p4square.ccbapi.model; + +import javax.xml.bind.annotation.*; + +/** + * Country code and name pair. + */ +@XmlRootElement(name="country") +@XmlAccessorType(XmlAccessType.NONE) +public class Country { + + @XmlAttribute(name="code") + private String code; + + @XmlValue + private String name; + + /** + * @return The two letter country code. + */ + public String getCountryCode() { + return code; + } + + /** + * Set the two letter country code. + * + * This class does not attempt to resolve the country name from the country code. + * When the country code is set the name will become null. + + * @param code A two letter countey code. + * @throws IllegalArgumentException if the country code is not valid. + */ + public void setCountryCode(final String code) { + if (code.length() != 2) { + throw new IllegalArgumentException("Argument must be a two letter country code."); + } + this.code = code.toUpperCase(); + this.name = null; + } + + /** + * @return The country name or null if the country name is unknown. + */ + public String getName() { + return name; + } +} |