From d65693cb089418c53d49ab067e7214a62487bf2e Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 3 Sep 2014 13:38:48 +0000 Subject: [PATCH] Provide a getter for custom properties, to match the add and contains methods already there git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1622252 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/poi/POIXMLProperties.java | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/src/ooxml/java/org/apache/poi/POIXMLProperties.java b/src/ooxml/java/org/apache/poi/POIXMLProperties.java index be2321017..a58af0018 100644 --- a/src/ooxml/java/org/apache/poi/POIXMLProperties.java +++ b/src/ooxml/java/org/apache/poi/POIXMLProperties.java @@ -285,6 +285,7 @@ public class POIXMLProperties { public org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties getUnderlyingProperties() { return props.getProperties(); } + } /** @@ -380,18 +381,37 @@ public class POIXMLProperties { return propid + 1; } - /** - * Check if a property with this name already exists in the collection of custom properties - * - * @param name the name to check - * @return whether a property with the given name exists in the custom properties - */ + /** + * Check if a property with this name already exists in the collection of custom properties + * + * @param name the name to check + * @return whether a property with the given name exists in the custom properties + */ @SuppressWarnings("deprecation") - public boolean contains(String name){ - for(CTProperty p : props.getProperties().getPropertyArray()){ - if(p.getName().equals(name)) return true; - } - return false; - } - } + public boolean contains(String name) { + for(CTProperty p : props.getProperties().getPropertyArray()){ + if(p.getName().equals(name)) return true; + } + return false; + } + + /** + * Retrieve the custom property with this name, or null if none exists. + * + * You will need to test the various isSetX methods to work out + * what the type of the property is, before fetching the + * appropriate value for it. + * + * @param name the name of the property to fetch + */ + @SuppressWarnings("deprecation") + public CTProperty getProperty(String name) { + for(CTProperty p : props.getProperties().getPropertyArray()){ + if(p.getName().equals(name)) { + return p; + } + } + return null; + } + } }