01: package com.xoetrope.pm;
02:
03: /**
04: * A structure for generically handling addresses of physical entities
05: *
06: * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
07: * the GNU Public License (GPL), please see license.txt for more details. If
08: * you make commercial use of this software you must purchase a commercial
09: * license from Xoetrope.</p>
10: * <p> $Revision: 1.4 $</p>
11: */
12: public class Address extends ProjectManagementObject implements
13: Cloneable {
14: protected String[] line;
15: protected String postcode;
16: protected String country;
17:
18: /**
19: * Create a new address object with three address lines
20: */
21: public Address() {
22: this (3);
23: }
24:
25: /**
26: * Create a new address object.
27: * @param numLines the number of lines in the new address.
28: */
29: public Address(int numLines) {
30: super ("Address");
31: line = new String[numLines];
32: }
33:
34: /**
35: * Create a copy of this address object
36: * @return a new clone instance
37: */
38: public Object clone() {
39: try {
40: Object cloned = super .clone();
41: ((ProjectManagementObject) cloned).id = getNextId("Address");
42: return cloned;
43: } catch (CloneNotSupportedException e) {
44: return null;
45: }
46: }
47:
48: /**
49: * Get the content of the indexed address line
50: * @param idx the addres;s line index
51: * @return the address line
52: */
53: public String getLine(int idx) {
54: return line[idx];
55: }
56:
57: /**
58: * Get the postcode
59: * @return the postcode
60: */
61: public String getPostcode() {
62: return postcode;
63: }
64:
65: /**
66: * Get the country line
67: * @return the country.
68: */
69: public String getCountry() {
70: return country;
71: }
72:
73: /**
74: * Set the address line value
75: * @param idx the address line index
76: * @param value the new address value
77: */
78: public void setString(int idx, String value) {
79: line[idx] = value;
80: }
81:
82: public void setPostcode(String code) {
83: postcode = code;
84: }
85:
86: /**
87: * Set the address's country
88: * @param name the anme of the country.
89: */
90: public void setCountry(String name) {
91: country = name;
92: }
93: }
|