]> source.dussan.org Git - poi.git/commitdiff
Provide a getter for custom properties, to match the add and contains methods already...
authorNick Burch <nick@apache.org>
Wed, 3 Sep 2014 13:38:48 +0000 (13:38 +0000)
committerNick Burch <nick@apache.org>
Wed, 3 Sep 2014 13:38:48 +0000 (13:38 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1622252 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/POIXMLProperties.java

index be23210174c64c2f7c96b2f6e87aad1b8b0a57fb..a58af001800013159da82ebd285326b4df818c0a 100644 (file)
@@ -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;
+        }
+    }
 }