001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/metadata/iso19115/Citation.java $ 002 /* 003 ---------------- FILE HEADER ------------------------------------------ 004 005 This file is part of deegree. 006 Copyright (C) 2001-2007 by: 007 EXSE, Department of Geography, University of Bonn 008 http://www.giub.uni-bonn.de/deegree/ 009 lat/lon GmbH 010 http://www.lat-lon.de 011 012 This library is free software; you can redistribute it and/or 013 modify it under the terms of the GNU Lesser General Public 014 License as published by the Free Software Foundation; either 015 version 2.1 of the License, or (at your option) any later version. 016 017 This library is distributed in the hope that it will be useful, 018 but WITHOUT ANY WARRANTY; without even the implied warranty of 019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 020 Lesser General Public License for more details. 021 022 You should have received a copy of the GNU Lesser General Public 023 License along with this library; if not, write to the Free Software 024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 025 026 Contact: 027 028 Andreas Poth 029 lat/lon GmbH 030 Aennchenstr. 19 031 53115 Bonn 032 Germany 033 E-Mail: poth@lat-lon.de 034 035 Prof. Dr. Klaus Greve 036 Department of Geography 037 University of Bonn 038 Meckenheimer Allee 166 039 53115 Bonn 040 Germany 041 E-Mail: greve@giub.uni-bonn.de 042 043 044 ---------------------------------------------------------------------------*/ 045 046 package org.deegree.model.metadata.iso19115; 047 048 import java.util.ArrayList; 049 050 /** 051 * 052 * 053 * 054 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a> 055 * @author last edited by: $Author: apoth $ 056 * 057 * @version. $Revision: 6704 $, $Date: 2007-04-26 21:43:13 +0200 (Do, 26 Apr 2007) $ 058 */ 059 public class Citation { 060 061 private ArrayList<String> alternatetitle = null; 062 063 private ArrayList<CitedResponsibleParty> citedresponsibleparty = null; 064 065 private ArrayList<Date> date = null; 066 067 private String edition = null; 068 069 private String editiondate = null; 070 071 private ArrayList<String> identifier = null; 072 073 private String isbn = null; 074 075 private String issn = null; 076 077 private String issueidentification = null; 078 079 private String seriesname = null; 080 081 private String title = null; 082 083 /** 084 * 085 * @param alternatetitle 086 * @param citedresponsibleparty 087 * @param date 088 * @param edition 089 * @param editiondate 090 * @param identifier 091 * @param isbn 092 * @param issn 093 * @param issueidentification 094 * @param seriesname 095 * @param title 096 */ 097 public Citation( String[] alternatetitle, CitedResponsibleParty[] citedresponsibleparty, 098 Date[] date, String edition, String editiondate, String[] identifier, 099 String isbn, String issn, String issueidentification, 100 String seriesname, String title ) { 101 102 this.alternatetitle = new ArrayList<String>(); 103 this.citedresponsibleparty = new ArrayList<CitedResponsibleParty>(); 104 this.date = new ArrayList<Date>(); 105 this.identifier = new ArrayList<String>(); 106 107 setAlternateTitle( alternatetitle ); 108 setCitedResponsibleParty( citedresponsibleparty ); 109 setDate( date ); 110 setEdition( edition ); 111 setEditionDate( editiondate ); 112 setIdentifier( identifier ); 113 setIsbn( isbn ); 114 setIssn( issn ); 115 setIssueIdentification( issueidentification ); 116 setSeriesName( seriesname ); 117 setTitle( title ); 118 } 119 120 /** 121 * @return aleternate titles 122 * 123 */ 124 public String[] getAlternateTitle() { 125 return alternatetitle.toArray( new String[alternatetitle.size()] ); 126 } 127 128 /** 129 * @see Citation#getAlternateTitle() 130 */ 131 public void addAlternateTitle( String alternatetitle ) { 132 this.alternatetitle.add( alternatetitle ); 133 } 134 135 /** 136 * @see Citation#getAlternateTitle() 137 */ 138 public void setAlternateTitle( String[] alternatetitle ) { 139 this.alternatetitle.clear(); 140 for ( int i = 0; i < alternatetitle.length; i++ ) { 141 this.alternatetitle.add( alternatetitle[i] ); 142 } 143 } 144 145 /** 146 * @return Cited Responsible Parties 147 */ 148 public CitedResponsibleParty[] getCitedResponsibleParty() { 149 return citedresponsibleparty.toArray( new CitedResponsibleParty[citedresponsibleparty.size()] ); 150 } 151 152 /** 153 * @see Citation#getCitedResponsibleParty() 154 * @param citedresponsibleparty 155 */ 156 public void addCitedResponsibleParty( CitedResponsibleParty citedresponsibleparty ) { 157 this.citedresponsibleparty.add( citedresponsibleparty ); 158 } 159 160 /** 161 * @see Citation#getCitedResponsibleParty() 162 * @param citedresponsibleparty 163 */ 164 public void setCitedResponsibleParty( CitedResponsibleParty[] citedresponsibleparty ) { 165 this.citedresponsibleparty.clear(); 166 for ( int i = 0; i < citedresponsibleparty.length; i++ ) { 167 this.citedresponsibleparty.add( citedresponsibleparty[i] ); 168 } 169 } 170 171 /** 172 * @return dates 173 * 174 */ 175 public Date[] getDate() { 176 return date.toArray( new Date[date.size()] ); 177 } 178 179 /** 180 * @see Citation#getDate() 181 */ 182 public void addDate( Date date ) { 183 this.date.add( date ); 184 } 185 186 /** 187 * @see Citation#getDate() 188 */ 189 public void setDate( Date[] date ) { 190 this.date.clear(); 191 for ( int i = 0; i < date.length; i++ ) { 192 this.date.add( date[i] ); 193 } 194 } 195 196 /** 197 * @return String 198 * 199 */ 200 public String getEdition() { 201 return edition; 202 } 203 204 /** 205 * @see Citation#getEdition() 206 * @param edition 207 */ 208 public void setEdition( String edition ) { 209 this.edition = edition; 210 } 211 212 /** 213 * @return edition date 214 */ 215 public String getEditionDate() { 216 return editiondate; 217 } 218 219 /** 220 * @see Citation#getEditionDate() 221 * @param editiondate 222 */ 223 public void setEditionDate( String editiondate ) { 224 this.editiondate = editiondate; 225 } 226 227 /** 228 * @return identifiers 229 * 230 */ 231 public String[] getIdentifier() { 232 return identifier.toArray( new String[identifier.size()] ); 233 } 234 235 /** 236 * @see Citation#getIdentifier() 237 * @param identifier 238 */ 239 public void addIdentifier( String identifier ) { 240 this.identifier.add( identifier ); 241 } 242 243 /** 244 * @see Citation#getIdentifier() 245 * @param identifier 246 */ 247 public void setIdentifier( String[] identifier ) { 248 this.identifier.clear(); 249 for ( int i = 0; i < identifier.length; i++ ) { 250 this.identifier.add( identifier[i] ); 251 } 252 } 253 254 /** 255 * 256 * @return isbn 257 */ 258 public String getIsbn() { 259 return isbn; 260 } 261 262 /** 263 * @see Citation#getIsbn() 264 * @param isbn 265 */ 266 public void setIsbn( String isbn ) { 267 this.isbn = isbn; 268 } 269 270 /** 271 * @return issn 272 * 273 */ 274 public String getIssn() { 275 return issn; 276 } 277 278 /** 279 * @see Citation#getIssn() 280 * @param issn 281 */ 282 public void setIssn( String issn ) { 283 this.issn = issn; 284 } 285 286 /** 287 * @return Issue Identification 288 * 289 */ 290 public String getIssueIdentification() { 291 return issueidentification; 292 } 293 294 /** 295 * @see Citation#getIssueIdentification() 296 * @param issueidentification 297 */ 298 public void setIssueIdentification( String issueidentification ) { 299 this.issueidentification = issueidentification; 300 } 301 302 /** 303 * @return sereis name 304 * 305 */ 306 public String getSeriesName() { 307 return seriesname; 308 } 309 310 /** 311 * @see Citation#getSeriesName() 312 * @param seriesname 313 */ 314 public void setSeriesName( String seriesname ) { 315 this.seriesname = seriesname; 316 } 317 318 /** 319 * @return title 320 * 321 */ 322 public String getTitle() { 323 return title; 324 } 325 326 /** 327 * @see Citation#getTitle() 328 * 329 * @param title 330 */ 331 public void setTitle( String title ) { 332 this.title = title; 333 } 334 335 /** 336 * to String method 337 * 338 * @param string 339 * representation 340 */ 341 public String toString() { 342 String ret = null; 343 ret = "alternatetitle = " + alternatetitle + "\n"; 344 ret += "citedresponsibleparty = " + citedresponsibleparty + "\n"; 345 ret += "date = " + date + "\n"; 346 ret += "edition = " + edition + "\n"; 347 ret += "editiondate = " + editiondate + "\n"; 348 ret += "identifier = " + identifier + "\n"; 349 ret += "isbn = " + isbn + "\n"; 350 ret += "issn = " + issn + "\n"; 351 ret += "issueidentification = " + issueidentification + "\n"; 352 ret += "seriesname = " + seriesname + "\n"; 353 ret += "title = " + title + "\n"; 354 return ret; 355 } 356 357 }