Class CustomProperties
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap
-
- loci.poi.hpsf.CustomProperties
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map
public class CustomProperties extends java.util.HashMapMaintains the instances of
CustomPropertythat belong to aDocumentSummaryInformation. The class maintains the names of the custom properties in a dictionary. It implements theMapinterface and by this provides a simplified view on custom properties: A property's name is the key that maps to a typed value. This implementation hides property IDs from the developer and regards the property names as keys to typed values.While this class provides a simple API to custom properties, it ignores the fact that not names, but IDs are the real keys to properties. Under the hood this class maintains a 1:1 relationship between IDs and names. Therefore you should not use this class to process property sets with several IDs mapping to the same name or with properties without a name: the result will contain only a subset of the original properties. If you really need to deal such property sets, use HPSF's low-level access methods.
An application can call the
isPuremethod to check whether a property set parsed byCustomPropertiesis still pure (i.e. unmodified) or whether one or more properties have been dropped.This class is not thread-safe; concurrent access to instances of this class must be syncronized.
- Since:
- 2006-02-09
- Version:
- $Id$
- Author:
- Rainer Klute <klute@rainer-klute.de>
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CustomProperties()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(java.lang.String name)Gets a named value from the custom properties.intgetCodepage()Gets the codepage.booleanisPure()Tells whether thisCustomPropertiesinstance is pure or one or more properties of the underlying low-level property set has been dropped.java.lang.Objectput(java.lang.Object name, java.lang.Object customProperty)Puts aCustomPropertyinto this map.java.lang.Objectput(java.lang.String name, java.lang.Boolean value)Adds a named boolean property.java.lang.Objectput(java.lang.String name, java.lang.Double value)Adds a named double property.java.lang.Objectput(java.lang.String name, java.lang.Integer value)Adds a named integer property.java.lang.Objectput(java.lang.String name, java.lang.Long value)Adds a named long property.java.lang.Objectput(java.lang.String name, java.lang.String value)Adds a named string property.java.lang.Objectput(java.lang.String name, java.util.Date value)Adds a named date property.java.lang.Objectremove(java.lang.String name)Removes a custom property.voidsetCodepage(int codepage)Sets the codepage.voidsetPure(boolean isPure)Sets the purity of the custom property set.-
Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
put
public java.lang.Object put(java.lang.Object name, java.lang.Object customProperty) throws java.lang.ClassCastExceptionPuts a
CustomPropertyinto this map. It is assumed that theCustomPropertyalready has a valid ID. Otherwise useput(CustomProperty).- Specified by:
putin interfacejava.util.Map- Overrides:
putin classjava.util.HashMap- Throws:
java.lang.ClassCastException
-
remove
public java.lang.Object remove(java.lang.String name)
Removes a custom property.
- Parameters:
name- The name of the custom property to remove- Returns:
- The removed property or
nullif the specified property was not found. - See Also:
HashSet.remove(java.lang.Object)
-
put
public java.lang.Object put(java.lang.String name, java.lang.String value)Adds a named string property.
- Parameters:
name- The property's name.value- The property's value.- Returns:
- the property that was stored under the specified name before, or
nullif there was no such property before.
-
put
public java.lang.Object put(java.lang.String name, java.lang.Long value)Adds a named long property.
- Parameters:
name- The property's name.value- The property's value.- Returns:
- the property that was stored under the specified name before, or
nullif there was no such property before.
-
put
public java.lang.Object put(java.lang.String name, java.lang.Double value)Adds a named double property.
- Parameters:
name- The property's name.value- The property's value.- Returns:
- the property that was stored under the specified name before, or
nullif there was no such property before.
-
put
public java.lang.Object put(java.lang.String name, java.lang.Integer value)Adds a named integer property.
- Parameters:
name- The property's name.value- The property's value.- Returns:
- the property that was stored under the specified name before, or
nullif there was no such property before.
-
put
public java.lang.Object put(java.lang.String name, java.lang.Boolean value)Adds a named boolean property.
- Parameters:
name- The property's name.value- The property's value.- Returns:
- the property that was stored under the specified name before, or
nullif there was no such property before.
-
get
public java.lang.Object get(java.lang.String name)
Gets a named value from the custom properties.
- Parameters:
name- the name of the value to get- Returns:
- the value or
nullif a value with the specified name is not found in the custom properties.
-
put
public java.lang.Object put(java.lang.String name, java.util.Date value)Adds a named date property.
- Parameters:
name- The property's name.value- The property's value.- Returns:
- the property that was stored under the specified name before, or
nullif there was no such property before.
-
setCodepage
public void setCodepage(int codepage)
Sets the codepage.
- Parameters:
codepage- the codepage
-
getCodepage
public int getCodepage()
Gets the codepage.
- Returns:
- the codepage or -1 if the codepage is undefined.
-
isPure
public boolean isPure()
Tells whether this
CustomPropertiesinstance is pure or one or more properties of the underlying low-level property set has been dropped.- Returns:
trueif theCustomPropertiesis pure, elsefalse.
-
setPure
public void setPure(boolean isPure)
Sets the purity of the custom property set.
- Parameters:
isPure- the purity
-
-