001 //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/model/metadata/iso19115/Citation.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.util.ArrayList; 041 042 /** 043 * 044 * 045 * 046 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a> 047 * @author last edited by: $Author: mschneider $ 048 * 049 * @version $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18 Jun 2009) $ 050 */ 051 public class Citation { 052 053 private ArrayList<String> alternatetitle = null; 054 055 private ArrayList<CitedResponsibleParty> citedresponsibleparty = null; 056 057 private ArrayList<Date> date = null; 058 059 private String edition = null; 060 061 private String editiondate = null; 062 063 private ArrayList<String> identifier = null; 064 065 private String isbn = null; 066 067 private String issn = null; 068 069 private String issueidentification = null; 070 071 private String seriesname = null; 072 073 private String title = null; 074 075 /** 076 * 077 * @param alternatetitle 078 * @param citedresponsibleparty 079 * @param date 080 * @param edition 081 * @param editiondate 082 * @param identifier 083 * @param isbn 084 * @param issn 085 * @param issueidentification 086 * @param seriesname 087 * @param title 088 */ 089 public Citation( String[] alternatetitle, CitedResponsibleParty[] citedresponsibleparty, Date[] date, 090 String edition, String editiondate, String[] identifier, String isbn, String issn, 091 String issueidentification, String seriesname, String title ) { 092 093 this.alternatetitle = new ArrayList<String>(); 094 this.citedresponsibleparty = new ArrayList<CitedResponsibleParty>(); 095 this.date = new ArrayList<Date>(); 096 this.identifier = new ArrayList<String>(); 097 098 setAlternateTitle( alternatetitle ); 099 setCitedResponsibleParty( citedresponsibleparty ); 100 setDate( date ); 101 setEdition( edition ); 102 setEditionDate( editiondate ); 103 setIdentifier( identifier ); 104 setIsbn( isbn ); 105 setIssn( issn ); 106 setIssueIdentification( issueidentification ); 107 setSeriesName( seriesname ); 108 setTitle( title ); 109 } 110 111 /** 112 * @return aleternate titles 113 * 114 */ 115 public String[] getAlternateTitle() { 116 return alternatetitle.toArray( new String[alternatetitle.size()] ); 117 } 118 119 /** 120 * @param alternatetitle 121 * @see Citation#getAlternateTitle() 122 */ 123 public void addAlternateTitle( String alternatetitle ) { 124 this.alternatetitle.add( alternatetitle ); 125 } 126 127 /** 128 * @param alternatetitle 129 * @see Citation#getAlternateTitle() 130 */ 131 public void setAlternateTitle( String[] alternatetitle ) { 132 this.alternatetitle.clear(); 133 for ( int i = 0; i < alternatetitle.length; i++ ) { 134 this.alternatetitle.add( alternatetitle[i] ); 135 } 136 } 137 138 /** 139 * @return Cited Responsible Parties 140 */ 141 public CitedResponsibleParty[] getCitedResponsibleParty() { 142 return citedresponsibleparty.toArray( new CitedResponsibleParty[citedresponsibleparty.size()] ); 143 } 144 145 /** 146 * @see Citation#getCitedResponsibleParty() 147 * @param citedresponsibleparty 148 */ 149 public void addCitedResponsibleParty( CitedResponsibleParty citedresponsibleparty ) { 150 this.citedresponsibleparty.add( citedresponsibleparty ); 151 } 152 153 /** 154 * @see Citation#getCitedResponsibleParty() 155 * @param citedresponsibleparty 156 */ 157 public void setCitedResponsibleParty( CitedResponsibleParty[] citedresponsibleparty ) { 158 this.citedresponsibleparty.clear(); 159 for ( int i = 0; i < citedresponsibleparty.length; i++ ) { 160 this.citedresponsibleparty.add( citedresponsibleparty[i] ); 161 } 162 } 163 164 /** 165 * @return dates 166 * 167 */ 168 public Date[] getDate() { 169 return date.toArray( new Date[date.size()] ); 170 } 171 172 /** 173 * @param date 174 * @see Citation#getDate() 175 */ 176 public void addDate( Date date ) { 177 this.date.add( date ); 178 } 179 180 /** 181 * @param date 182 * @see Citation#getDate() 183 */ 184 public void setDate( Date[] date ) { 185 this.date.clear(); 186 for ( int i = 0; i < date.length; i++ ) { 187 this.date.add( date[i] ); 188 } 189 } 190 191 /** 192 * @return String 193 * 194 */ 195 public String getEdition() { 196 return edition; 197 } 198 199 /** 200 * @see Citation#getEdition() 201 * @param edition 202 */ 203 public void setEdition( String edition ) { 204 this.edition = edition; 205 } 206 207 /** 208 * @return edition date 209 */ 210 public String getEditionDate() { 211 return editiondate; 212 } 213 214 /** 215 * @see Citation#getEditionDate() 216 * @param editiondate 217 */ 218 public void setEditionDate( String editiondate ) { 219 this.editiondate = editiondate; 220 } 221 222 /** 223 * @return identifiers 224 * 225 */ 226 public String[] getIdentifier() { 227 return identifier.toArray( new String[identifier.size()] ); 228 } 229 230 /** 231 * @see Citation#getIdentifier() 232 * @param identifier 233 */ 234 public void addIdentifier( String identifier ) { 235 this.identifier.add( identifier ); 236 } 237 238 /** 239 * @see Citation#getIdentifier() 240 * @param identifier 241 */ 242 public void setIdentifier( String[] identifier ) { 243 this.identifier.clear(); 244 for ( int i = 0; i < identifier.length; i++ ) { 245 this.identifier.add( identifier[i] ); 246 } 247 } 248 249 /** 250 * 251 * @return isbn 252 */ 253 public String getIsbn() { 254 return isbn; 255 } 256 257 /** 258 * @see Citation#getIsbn() 259 * @param isbn 260 */ 261 public void setIsbn( String isbn ) { 262 this.isbn = isbn; 263 } 264 265 /** 266 * @return issn 267 * 268 */ 269 public String getIssn() { 270 return issn; 271 } 272 273 /** 274 * @see Citation#getIssn() 275 * @param issn 276 */ 277 public void setIssn( String issn ) { 278 this.issn = issn; 279 } 280 281 /** 282 * @return Issue Identification 283 * 284 */ 285 public String getIssueIdentification() { 286 return issueidentification; 287 } 288 289 /** 290 * @see Citation#getIssueIdentification() 291 * @param issueidentification 292 */ 293 public void setIssueIdentification( String issueidentification ) { 294 this.issueidentification = issueidentification; 295 } 296 297 /** 298 * @return sereis name 299 * 300 */ 301 public String getSeriesName() { 302 return seriesname; 303 } 304 305 /** 306 * @see Citation#getSeriesName() 307 * @param seriesname 308 */ 309 public void setSeriesName( String seriesname ) { 310 this.seriesname = seriesname; 311 } 312 313 /** 314 * @return title 315 * 316 */ 317 public String getTitle() { 318 return title; 319 } 320 321 /** 322 * @see Citation#getTitle() 323 * 324 * @param title 325 */ 326 public void setTitle( String title ) { 327 this.title = title; 328 } 329 330 @Override 331 public String toString() { 332 String ret = null; 333 ret = "alternatetitle = " + alternatetitle + "\n"; 334 ret += "citedresponsibleparty = " + citedresponsibleparty + "\n"; 335 ret += "date = " + date + "\n"; 336 ret += "edition = " + edition + "\n"; 337 ret += "editiondate = " + editiondate + "\n"; 338 ret += "identifier = " + identifier + "\n"; 339 ret += "isbn = " + isbn + "\n"; 340 ret += "issn = " + issn + "\n"; 341 ret += "issueidentification = " + issueidentification + "\n"; 342 ret += "seriesname = " + seriesname + "\n"; 343 ret += "title = " + title + "\n"; 344 return ret; 345 } 346 347 }