1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.jempbox.xmp; 18 19 import java.util.List; 20 21 import org.w3c.dom.Element; 22 23 /** 24 * Define XMP properties used with IPTC specification. 25 * 26 * @author $Author: benlitchfield $ 27 * @version $Revision: 1.3 $ 28 */ 29 public class XMPSchemaIptc4xmpCore extends XMPSchema 30 { 31 /** 32 * The namespace for this schema. 33 */ 34 public static final String NAMESPACE = "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"; 35 36 /** 37 * Construct a new blank IPTC schema. 38 * 39 * @param metadata The parent metadata schema that this will be part of. 40 */ 41 public XMPSchemaIptc4xmpCore(XMPMetadata metadata) 42 { 43 super(metadata, "Iptc4xmpCore", NAMESPACE); 44 } 45 46 /** 47 * Constructor from an existing element. 48 * 49 * @param element The XML element. 50 * @param aPrefix The XML prefix; Iptc4xmpCore. 51 */ 52 public XMPSchemaIptc4xmpCore(Element element, String aPrefix) 53 { 54 super(element, aPrefix); 55 } 56 57 /** 58 * Contact Info Address City. 59 * 60 * @param city The city name. 61 */ 62 public void setCiAdrCity( String city ) 63 { 64 setTextProperty(prefix + ":CiAdrCity", city); 65 } 66 67 /** 68 * Contact Info Address City. 69 * 70 * @return The city. 71 */ 72 public String getCiAdrCity() 73 { 74 return getTextProperty(prefix + ":CiAdrCity"); 75 } 76 77 /** 78 * Contact Info country. 79 * 80 * @param country The CI country. 81 */ 82 public void setCiAdrCtry( String country ) 83 { 84 setTextProperty(prefix + ":CiAdrCtry", country); 85 } 86 87 /** 88 * Contact Info country. 89 * 90 * @return The CI country. 91 */ 92 public String getCiAdrCtry() 93 { 94 return getTextProperty(prefix + ":CiAdrCtry"); 95 } 96 97 /** 98 * Contact Info Extended Address(company name). 99 * 100 * @param adr Address info. 101 */ 102 public void setCiAdrExtadr( String adr ) 103 { 104 setTextProperty(prefix + ":CiAdrExtadr", adr); 105 } 106 107 /** 108 * Contact Info Extended Address(company name). 109 * 110 * @return The extended address info. 111 */ 112 public String getCiAdrExtadr() 113 { 114 return getTextProperty(prefix + ":CiAdrExtadr"); 115 } 116 117 /** 118 * Postal code. 119 * 120 * @param po The postal code. 121 */ 122 public void setCiAdrPcode( String po ) 123 { 124 setTextProperty(prefix + ":CiAdrPcode", po); 125 } 126 127 /** 128 * Postal code. 129 * 130 * @return The postal code. 131 */ 132 public String getCiAdrPcode() 133 { 134 return getTextProperty(prefix + ":CiAdrPcode"); 135 } 136 137 /** 138 * Postal region or state. 139 * 140 * @param state The postal region 141 */ 142 public void setCiAdrRegion( String state ) 143 { 144 setTextProperty(prefix + ":CiAdrRegion", state); 145 } 146 147 /** 148 * Postal region or state. 149 * 150 * @return The postal state. 151 */ 152 public String getCiAdrRegion() 153 { 154 return getTextProperty(prefix + ":CiAdrRegion"); 155 } 156 157 /** 158 * Work email. 159 * 160 * @param email The work email. 161 */ 162 public void setCiEmailWork( String email ) 163 { 164 setTextProperty(prefix + ":CiEmailWork", email); 165 } 166 167 /** 168 * Work email. 169 * 170 * @return The work email. 171 */ 172 public String getCiEmailWork() 173 { 174 return getTextProperty(prefix + ":CiEmailWork"); 175 } 176 177 /** 178 * Work telephone. 179 * 180 * @param tel The work telephone. 181 */ 182 public void setCiTelWork( String tel ) 183 { 184 setTextProperty(prefix + ":CiTelWork", tel); 185 } 186 187 /** 188 * Work Telephone. 189 * 190 * @return The work telephone. 191 */ 192 public String getCiTelWork() 193 { 194 return getTextProperty(prefix + ":CiTelWork"); 195 } 196 197 /** 198 * Work URL. 199 * 200 * @param url The work URL. 201 */ 202 public void setCiUrlWork( String url ) 203 { 204 setTextProperty(prefix + ":CiUrlWork", url); 205 } 206 207 /** 208 * Work URL. 209 * 210 * @return work URL. 211 */ 212 public String getCiUrlWork() 213 { 214 return getTextProperty(prefix + ":CiUrlWork"); 215 } 216 217 /** 218 * Name of location that the content is focussing on. 219 * 220 * @param loc The location. 221 */ 222 public void setLocation( String loc ) 223 { 224 setTextProperty(prefix + ":Location", loc); 225 } 226 227 /** 228 * Name of location that the content is focussing on. 229 * @return The location. 230 */ 231 public String getLocation() 232 { 233 return getTextProperty(prefix + ":Location"); 234 } 235 236 /** 237 * The IPTC scene. 238 * 239 * @param scene The IPTC scene. 240 */ 241 public void addScene( String scene ) 242 { 243 addBagValue(prefix + ":Scene", scene); 244 } 245 246 /** 247 * A list of all the scenes. 248 * 249 * @return The list of scenes. 250 */ 251 public List<String> getScenes() 252 { 253 return getBagList(prefix + ":Scene"); 254 } 255 256 /** 257 * Add IPTC subject code. 258 * @param subject The IPTC subject. 259 */ 260 public void addSubjectCode( String subject ) 261 { 262 addBagValue(prefix + ":SubjectCode", subject); 263 } 264 265 /** 266 * Get a list of all IPTC subject codes. 267 * 268 * @return All IPTC subject codes. 269 */ 270 public List<String> getSubjectCodes() 271 { 272 return getBagList(prefix + ":SubjectCode"); 273 } 274 275 /** 276 * Nature of a news object. 277 * 278 * @param genre The news genre. 279 */ 280 public void setIntellectualGenre( String genre ) 281 { 282 setTextProperty(prefix + ":IntellectualGenre", genre); 283 } 284 285 /** 286 * Nature of a news object. 287 * 288 * @return The news genre. 289 */ 290 public String getIntellectualGenre() 291 { 292 return getTextProperty(prefix + ":IntellectualGenre"); 293 } 294 295 /** 296 * ISO Country Code. 297 * 298 * @param code The country code. 299 */ 300 public void setCountryCode( String code ) 301 { 302 setTextProperty(prefix + ":CountryCode", code); 303 } 304 305 /** 306 * ISO Country Code. 307 * 308 * @return The country code. 309 */ 310 public String getCountryCode() 311 { 312 return getTextProperty(prefix + ":CountryCode"); 313 } 314 }