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
This commit is contained in:
Nick Burch 2014-09-03 13:38:48 +00:00
parent 6ac5bb3fbd
commit d65693cb08

View File

@ -285,6 +285,7 @@ public class POIXMLProperties {
public org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties getUnderlyingProperties() { public org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties getUnderlyingProperties() {
return props.getProperties(); return props.getProperties();
} }
} }
/** /**
@ -380,18 +381,37 @@ public class POIXMLProperties {
return propid + 1; return propid + 1;
} }
/** /**
* Check if a property with this name already exists in the collection of custom properties * Check if a property with this name already exists in the collection of custom properties
* *
* @param name the name to check * @param name the name to check
* @return whether a property with the given name exists in the custom properties * @return whether a property with the given name exists in the custom properties
*/ */
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public boolean contains(String name){ public boolean contains(String name) {
for(CTProperty p : props.getProperties().getPropertyArray()){ for(CTProperty p : props.getProperties().getPropertyArray()){
if(p.getName().equals(name)) return true; if(p.getName().equals(name)) return true;
} }
return false; 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;
}
}
} }