001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/metadata/iso19115/Phone.java $
002 /*
003 * ---------------- FILE HEADER ------------------------------------------
004 *
005 * This file is part of deegree. Copyright (C) 2001-2006 by: EXSE, Department of
006 * Geography, University of Bonn http://www.giub.uni-bonn.de/deegree/ lat/lon
007 * Fitzke/Fretter/Poth GbR http://www.lat-lon.de
008 *
009 * This library is free software; you can redistribute it and/or modify it under
010 * the terms of the GNU Lesser General Public License as published by the Free
011 * Software Foundation; either version 2.1 of the License, or (at your option)
012 * any later version.
013 *
014 * This library is distributed in the hope that it will be useful, but WITHOUT
015 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
016 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
017 * details.
018 *
019 * You should have received a copy of the GNU Lesser General Public License
020 * along with this library; if not, write to the Free Software Foundation, Inc.,
021 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
022 *
023 * Contact:
024 *
025 * Andreas Poth lat/lon GmbH Aennchenstr. 19 53115
026 * Bonn Germany E-Mail: poth@lat-lon.de
027 *
028 * Prof. Dr. Klaus Greve Department of Geography University of Bonn Meckenheimer Allee 166
029 * 53115 Bonn Germany E-Mail: greve@giub.uni-bonn.de
030 *
031 *
032 * ---------------------------------------------------------------------------
033 */
034
035 package org.deegree.model.metadata.iso19115;
036
037 import java.util.ArrayList;
038
039 /**
040 * Represents a contact phone number.
041 *
042 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a>
043 * @author last edited by: $Author: apoth $
044 *
045 * @version 2.0, $Revision: 6704 $
046 *
047 * @since 2.0
048 */
049 public class Phone {
050
051 private ArrayList<String> facsimile;
052
053 private ArrayList<String> other;
054
055 private ArrayList<String> othertype;
056
057 private ArrayList<String> voice;
058
059 private Phone() {
060 this.facsimile = new ArrayList<String>();
061 this.other = new ArrayList<String>();
062 this.othertype = new ArrayList<String>();
063 this.voice = new ArrayList<String>();
064 }
065
066 /**
067 * Creates a new instance of Phone
068 *
069 * @param facsimile
070 * @param voice
071 */
072 public Phone( String[] facsimile, String[] voice ) {
073 this();
074
075 setFacsimile( facsimile );
076 setVoice( voice );
077 }
078
079 /**
080 * Creates a new instance of Phone
081 *
082 * @param facsimile
083 * @param other
084 * @param othertype
085 * @param voice
086 */
087 public Phone( String[] facsimile, String[] other, String[] othertype, String[] voice ) {
088 this();
089
090 setFacsimile( facsimile );
091 setOther( other );
092 setOtherType( othertype );
093 setVoice( voice );
094 }
095
096 /**
097 * @return fax
098 */
099 public String[] getFacsimile() {
100 return facsimile.toArray( new String[facsimile.size()] );
101 }
102
103 /**
104 * @see #getFacsimile()
105 * @param facsimile
106 */
107 public void addFacsimile( String facsimile ) {
108 this.facsimile.add( facsimile );
109 }
110
111 /**
112 * @see #getFacsimile()
113 * @param facsimile
114 */
115 public void setFacsimile( String[] facsimile ) {
116 this.facsimile.clear();
117 for ( int i = 0; i < facsimile.length; i++ ) {
118 this.facsimile.add( facsimile[i] );
119 }
120 }
121
122 /**
123 * @return other phones
124 */
125 public String[] getOther() {
126 return other.toArray( new String[other.size()] );
127 }
128
129 /**
130 * @see #getOther()
131 * @param other
132 */
133 public void addOther( String other ) {
134 this.other.add( other );
135 }
136
137 /**
138 * @see #getOther()
139 * @param other
140 */
141 public void setOther( String[] other ) {
142 this.other.clear();
143 if ( other != null ) {
144 for ( int i = 0; i < other.length; i++ ) {
145 this.other.add( other[i] );
146 }
147 }
148 }
149
150 /**
151 * @return other types
152 *
153 */
154 public String[] getOtherType() {
155 return othertype.toArray( new String[othertype.size()] );
156 }
157
158 /**
159 * @see #getOtherType()
160 * @param othertype
161 */
162 public void addOtherType( String othertype ) {
163 this.othertype.add( othertype );
164 }
165
166 /**
167 * @see #getOtherType()
168 * @param othertype
169 */
170 public void setOtherType( String[] othertype ) {
171 this.othertype.clear();
172 if ( othertype != null ) {
173 for ( int i = 0; i < othertype.length; i++ ) {
174 this.othertype.add( othertype[i] );
175 }
176 }
177 }
178
179 /**
180 * @return voice
181 */
182 public String[] getVoice() {
183 return voice.toArray( new String[voice.size()] );
184 }
185
186 /**
187 * @see #getVoice()
188 * @param voice
189 */
190 public void addVoice( String voice ) {
191 this.voice.add( voice );
192 }
193
194 /**
195 * @see #getVoice()
196 * @param voice
197 */
198 public void setVoice( String[] voice ) {
199 this.voice.clear();
200 for ( int i = 0; i < voice.length; i++ ) {
201 this.voice.add( voice[i] );
202 }
203 }
204
205 /**
206 * to String method
207 *
208 * @return string representation
209 */
210 public String toString() {
211 String ret = null;
212 ret = "facsimile = " + facsimile + "\n";
213 ret += "other = " + other + "\n";
214 ret += "othertype = " + othertype + "\n";
215 ret += "voice = " + voice + "\n";
216 return ret;
217 }
218
219 }