/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jempbox.xmp; import java.util.List; import org.w3c.dom.Element; /** * Define XMP properties used with Adobe Photoshop documents. * * @author $Author: benlitchfield $ * @version $Revision: 1.2 $ */ public class XMPSchemaPhotoshop extends XMPSchema { /** * The namespace for this schema. */ public static final String NAMESPACE = "http://ns.adobe.com/photoshop/1.0/"; /** * Construct a new blank Photoshop schema. * * @param parent * The parent metadata schema that this will be part of. */ public XMPSchemaPhotoshop(XMPMetadata parent) { super(parent, "photoshop", NAMESPACE); } /** * Constructor for existing XML element. * * @param element The XML element. * @param aPrefix The XML prefix; photoshop. */ public XMPSchemaPhotoshop(Element element, String aPrefix) { super(element, aPrefix); } /** * By-line title. * * @param s The authors position. */ public void setAuthorsPosition( String s ) { setTextProperty(prefix + ":AuthorsPosition", s); } /** * By-line title. * * @return The authors position. */ public String getAuthorsPosition() { return getTextProperty(prefix + ":AuthorsPosition"); } /** * Writer/editor. * * @param s The caption writer. */ public void setCaptionWriter( String s ) { setTextProperty(prefix + ":CaptionWriter", s); } /** * Writer/editor. * * @return The caption writer. */ public String getCaptionWriter() { return getTextProperty(prefix + ":CaptionWriter"); } /** * Category; limited to 3 7-bit characters. * @param s The category. */ public void setCategory( String s ) { if( s != null && s.length() > 3 ) { throw new RuntimeException( "Error: photoshop:Category is limited to three characters value='" + s + "'" ); } setTextProperty(prefix + ":Category", s); } /** * The category. * * @return The category. */ public String getCategory() { return getTextProperty(prefix + ":Category"); } /** * The city. * * @param s The city. */ public void setCity( String s ) { setTextProperty(prefix + ":City", s); } /** * The city. * * @return The city. */ public String getCity() { return getTextProperty(prefix + ":City"); } /** * The country. * * @param s The country. */ public void setCountry( String s ) { setTextProperty(prefix + ":Country", s); } /** * The country. * * @return The country. */ public String getCountry() { return getTextProperty(prefix + ":Country"); } /** * Credit. * * @param s The credit property. */ public void setCredit( String s ) { setTextProperty(prefix + ":Credit", s); } /** * The credit property. * * @return The credit property. */ public String getCredit() { return getTextProperty(prefix + ":Credit"); } /** * Date created; creation date of the source document which may be * earlier than the digital representation. * * @param s The date created. */ public void setDateCreated( String s ) { setTextProperty(prefix + ":DateCreated", s); } /** * Creation date. * * @return The creation date. */ public String getDateCreated() { return getTextProperty(prefix + ":DateCreated"); } /** * The headline. * * @param s The headline. */ public void setHeadline( String s ) { setTextProperty(prefix + ":Headline", s); } /** * Headline. * * @return The headline. */ public String getHeadline() { return getTextProperty(prefix + ":Headline"); } /** * Instructions. * * @param s The instructions. */ public void setInstructions( String s ) { setTextProperty(prefix + ":Instructions", s); } /** * The instructions. * * @return The instructions. */ public String getInstructions() { return getTextProperty(prefix + ":Instructions"); } /** * The source. * * @param s The source. */ public void setSource( String s ) { setTextProperty(prefix + ":Source", s); } /** * The source. * * @return The source. */ public String getSource() { return getTextProperty(prefix + ":Source"); } /** * The state. * * @param s The state. */ public void setState( String s ) { setTextProperty(prefix + ":State", s); } /** * The state. * * @return The state. */ public String getState() { return getTextProperty(prefix + ":State"); } /** * Add a new supplemental category. * * @param s The supplemental category. */ public void addSupplementalCategory( String s ) { addBagValue(prefix + ":SupplementalCategories", s); } /** * Get a list of all supplemental categories. * * @return The supplemental categories. */ public List<String> getSupplementalCategories() { return getBagList(prefix + ":SupplementalCategories"); } /** * Remove a supplemental category. * * @param s The supplemental category. */ public void removeSupplementalCategory( String s ) { removeBagValue(prefix + ":SupplementalCategories", s); } /** * The transmission reference. * * @param s The transmission reference. */ public void setTransmissionReference( String s ) { setTextProperty(prefix + ":TransmissionReference", s); } /** * The transmission reference. * * @return The transmission reference. */ public String getTransmissionReference() { return getTextProperty(prefix + ":TransmissionReference"); } /** * The urgency. * * @param s The urgency. */ public void setUrgency( Integer s ) { if( s != null ) { if( s.intValue() < 1 || s.intValue() > 8 ) { throw new RuntimeException( "Error: photoshop:Urgency must be between 1 and 8. value=" + s ); } } setIntegerProperty(prefix + ":Urgency", s); } /** * The urgency. * * @return The urgency. */ public Integer getUrgency() { return getIntegerProperty(prefix + ":Urgency"); } }