001 //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/model/metadata/iso19115/CitedResponsibleParty.java $
002 /*
003 /*----------------------------------------------------------------------------
004 This file is part of deegree, http://deegree.org/
005 Copyright (C) 2001-2009 by:
006 Department of Geography, University of Bonn
007 and
008 lat/lon GmbH
009
010 This library is free software; you can redistribute it and/or modify it under
011 the terms of the GNU Lesser General Public License as published by the Free
012 Software Foundation; either version 2.1 of the License, or (at your option)
013 any later version.
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 You should have received a copy of the GNU Lesser General Public License
019 along with this library; if not, write to the Free Software Foundation, Inc.,
020 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021
022 Contact information:
023
024 lat/lon GmbH
025 Aennchenstr. 19, 53177 Bonn
026 Germany
027 http://lat-lon.de/
028
029 Department of Geography, University of Bonn
030 Prof. Dr. Klaus Greve
031 Postfach 1147, 53001 Bonn
032 Germany
033 http://www.geographie.uni-bonn.de/deegree/
034
035 e-mail: info@deegree.org
036 ----------------------------------------------------------------------------*/
037
038 package org.deegree.model.metadata.iso19115;
039
040 import java.io.Serializable;
041 import java.util.ArrayList;
042 import java.util.Arrays;
043 import java.util.List;
044
045 /**
046 * CitedResponsibleParty_Impl.java
047 *
048 * Created on 16. September 2002, 09:55
049 * <p>
050 * ----------------------------------------------------------------------
051 * </p>
052 *
053 * @author <a href="mailto:schaefer@lat-lon.de">Axel Schaefer</a>
054 * @version $Revision: 18195 $ $Date: 2009-06-18 17:55:39 +0200 (Do, 18 Jun 2009) $ *
055 */
056 public class CitedResponsibleParty implements Serializable {
057
058 private static final long serialVersionUID = 5912684530267785339L;
059
060 private List<ContactInfo> contactinfo = null;
061
062 private List<String> individualname = null;
063
064 private List<String> organisationname = null;
065
066 private List<String> positionname = null;
067
068 private List<RoleCode> rolecode = null;
069
070 /**
071 * Creates new instance through <code>List</code>s.
072 *
073 * @param contactInfo
074 * @param individualName
075 * @param organizationName
076 * @param positionName
077 * @param roleCode
078 */
079 public CitedResponsibleParty( List<ContactInfo> contactInfo, List<String> individualName,
080 List<String> organizationName, List<String> positionName, List<RoleCode> roleCode ) {
081 contactinfo = contactInfo;
082 individualname = individualName;
083 organisationname = organizationName;
084 positionname = positionName;
085 rolecode = roleCode;
086 }
087
088 /** Creates a new instance of CitedResponsibleParty_Impl */
089 public CitedResponsibleParty( ContactInfo[] contactinfo, String[] individualname, String[] organisationname,
090 String[] positionname, RoleCode[] rolecode ) {
091
092 this.contactinfo = new ArrayList<ContactInfo>();
093 this.individualname = new ArrayList<String>();
094 this.organisationname = new ArrayList<String>();
095 this.positionname = new ArrayList<String>();
096 this.rolecode = new ArrayList<RoleCode>();
097
098 setContactInfo( contactinfo );
099 setIndividualName( individualname );
100 setOrganisationName( organisationname );
101 setPositionName( positionname );
102 setRoleCode( rolecode );
103 }
104
105 /**
106 * @return ContactInfo-Array
107 *
108 */
109 public ContactInfo[] getContactInfo() {
110 return contactinfo.toArray( new ContactInfo[contactinfo.size()] );
111 }
112
113 /**
114 * @see CitedResponsibleParty#getContactInfo()
115 */
116 public void addContactInfo( ContactInfo contactinfo ) {
117 this.contactinfo.add( contactinfo );
118 }
119
120 /**
121 * @see CitedResponsibleParty#getContactInfo()
122 */
123 public void setContactInfo( ContactInfo[] contactinfo ) {
124 this.contactinfo = Arrays.asList( contactinfo );
125 }
126
127 /**
128 * @return String-Array
129 *
130 */
131 public String[] getIndividualName() {
132 return individualname.toArray( new String[individualname.size()] );
133 }
134
135 /**
136 * @see CitedResponsibleParty#getIndividualName()
137 */
138 public void addIndividualName( String individualname ) {
139 this.individualname.add( individualname );
140 }
141
142 /**
143 * @see CitedResponsibleParty#getIndividualName()
144 */
145 public void setIndividualName( String[] individualname ) {
146 this.individualname = Arrays.asList( individualname );
147 }
148
149 /**
150 *
151 * @return String-Array
152 */
153 public String[] getOrganisationName() {
154 return organisationname.toArray( new String[organisationname.size()] );
155 }
156
157 /**
158 * @see CitedResponsibleParty#getOrganisationName()
159 */
160 public void addOrganisationName( String organisationname ) {
161 this.organisationname.add( organisationname );
162 }
163
164 /**
165 * @see CitedResponsibleParty#getOrganisationName()
166 */
167 public void setOrganisationName( String[] organisationname ) {
168 this.organisationname = Arrays.asList( organisationname );
169 }
170
171 /**
172 * @return String-Array
173 *
174 */
175 public String[] getPositionName() {
176 return positionname.toArray( new String[positionname.size()] );
177 }
178
179 /**
180 * @see CitedResponsibleParty#getPositionName()
181 */
182 public void addPositionName( String positionname ) {
183 this.positionname.add( positionname );
184 }
185
186 /**
187 * @see CitedResponsibleParty#getPositionName()
188 */
189 public void setPositionName( String[] positionname ) {
190 this.positionname = Arrays.asList( positionname );
191 }
192
193 /**
194 * @return RoleCode-Array
195 *
196 */
197 public RoleCode[] getRoleCode() {
198 return rolecode.toArray( new RoleCode[rolecode.size()] );
199 }
200
201 /**
202 * @see CitedResponsibleParty#getRoleCode()
203 */
204 public void addRoleCode( RoleCode rolecode ) {
205 this.rolecode.add( rolecode );
206 }
207
208 /**
209 * @see CitedResponsibleParty#getRoleCode()
210 */
211 public void setRoleCode( RoleCode[] rolecode ) {
212 if ( rolecode != null ) {
213 this.rolecode = Arrays.asList( rolecode );
214 } else
215 this.rolecode.clear();
216 }
217
218 /**
219 * to String method
220 */
221 @Override
222 public String toString() {
223 String ret = null;
224 ret = "contactinfo = " + contactinfo + "\n";
225 ret += "individualname = " + individualname + "\n";
226 ret += "organisationname = " + organisationname + "\n";
227 ret += "positionname = " + positionname + "\n";
228 ret += "rolecode = " + rolecode + "\n";
229 return ret;
230 }
231
232 }