/* * 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 org.apache.jempbox.impl.XMLUtil; import org.w3c.dom.Element; /** * This class represents a multiple part reference to a resource. * * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a> * @version $Revision: 1.3 $ */ public class ResourceRef implements Elementable { /** * The DOM representation of this object. */ protected Element parent = null; /** * Create a resource reference based on a existing parent property set. * * @param parentElement The parent element that will store the resource properties. */ public ResourceRef( Element parentElement ) { parent = parentElement; if( !parent.hasAttribute( "xmlns:stRef" ) ) { parent.setAttributeNS( "http://ns.adobe.com/xap/1.0/sType/ResourceRef#", "xmlns:stRef", "http://ns.adobe.com/xap/1.0/sType/ResourceRef#" ); } } /** * Get the underlying XML element. * * @return The XML element that this object represents. */ public Element getElement() { return parent; } /** * Get the referenced resource's id. * * @return The id of the reference. */ public String getInstanceID() { return XMLUtil.getStringValue( parent, "stRef:instanceID" ); } /** * Set the referenced resource's id. * * @param id The id of the reference. */ public void setInstanceID( String id ) { XMLUtil.setStringValue( parent, "stRef:instanceID", id ); } /** * Get the referenced resource's document id. * * @return The id of the reference document. */ public String getDocumentID() { return XMLUtil.getStringValue( parent, "stRef:documentID" ); } /** * Set the referenced resource's document id. * * @param id The id of the reference document. */ public void setDocumentID( String id ) { XMLUtil.setStringValue( parent, "stRef:documentID", id ); } /** * Get the referenced resource's document version id. * * @return The id of the reference document version. */ public String getVersionID() { return XMLUtil.getStringValue( parent, "stRef:versionID" ); } /** * Set the referenced resource's version id. * * @param id The id of the reference document version. */ public void setVersionID( String id ) { XMLUtil.setStringValue( parent, "stRef:veresionID", id ); } /** * Get the rendition class. * * @return The value of the rendition class property. * * @see ResourceRef#setRenditionClass( String ) */ public String getRenditionClass() { return XMLUtil.getStringValue( parent, "stRef:renditionClass" ); } /** * Set the rendition class. The rendition class is derived from a defined * set of names. The value is series of colon separated tokens and parameters.<br/> * Defined values are:<br/> * <table> * <tr><td>Token Name</td><td>Description</td></tr> * <tr><td>default</td><td>Specifies master document, no additional tokens allowed</td></tr> * <tr><td>thumbnail</td> * <td>A simplied preview. Recommended order is: thumbnail<i>format:size:colorspace</i></td></tr> * <tr><td>screen</td><td>Screen resolution</td></tr> * <tr><td>proof</td><td>A review proof</td></tr> * <tr><td>draft</td><td>A review rendition</td></tr> * <tr><td>low-res</td><td>A low resolution, full size stand-in</td><tr> * </table> * * * @param renditionClass The rendition class. */ public void setRenditionClass( String renditionClass ) { XMLUtil.setStringValue( parent, "stRef:renditionClass", renditionClass ); } /** * Get the extra rendition params. * * @return Additional rendition parameters. */ public String getRenditionParams() { return XMLUtil.getStringValue( parent, "stRef:renditionParams" ); } /** * Set addition rendition params. * * @param params Additional rendition parameters that are too complex for the rendition class. */ public void setRenditionParams( String params ) { XMLUtil.setStringValue( parent, "stRef:renditionParams", params ); } /** * Get name of the asset management system that manages this resource. * * @return The name of a asset management system. */ public String getManager() { return XMLUtil.getStringValue( parent, "stRef:manager" ); } /** * Set the name of the system that manages this resource. * * @param manager The name of the management system. */ public void setMangager( String manager ) { XMLUtil.setStringValue( parent, "stRef:manager", manager ); } /** * Get name of the variant of asset management system that manages this resource. * * @return The name of a asset management system. */ public String getManagerVariant() { return XMLUtil.getStringValue( parent, "stRef:managerVariant" ); } /** * Set the name of the variant of the system that manages this resource. * * @param managerVariant The name of the management system. */ public void setMangagerVariant( String managerVariant ) { XMLUtil.setStringValue( parent, "stRef:managerVariant", managerVariant ); } /** * URI identifying the managed resource. * * @return The URI to resource. */ public String getManagerTo() { return XMLUtil.getStringValue( parent, "stRef:managerTo" ); } /** * Set the URI to the managed resource. * * @param managerTo The URI to the managed resource. */ public void setMangagerTo( String managerTo ) { XMLUtil.setStringValue( parent, "stRef:managerTo", managerTo ); } /** * URI to info about the managed resource. * * @return The URI to the resource info. */ public String getManagerUI() { return XMLUtil.getStringValue( parent, "stRef:managerUI" ); } /** * Set the URI to the info about the managed resource. * * @param managerUI The URI to the managed resource information. */ public void setMangagerUI( String managerUI ) { XMLUtil.setStringValue( parent, "stRef:managerUI", managerUI ); } }