Class CustomProperties
- All Implemented Interfaces:
Serializable,Cloneable,Map
Maintains the instances of CustomProperty that belong to a
DocumentSummaryInformation. The class maintains the names of the
custom properties in a dictionary. It implements the Map interface
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 isPure method to check whether a
property set parsed by CustomProperties is 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:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets a named value from the custom properties.intGets the codepage.booleanisPure()Tells whether thisCustomPropertiesinstance is pure or one or more properties of the underlying low-level property set has been dropped.Puts aCustomPropertyinto this map.Adds a named boolean property.Adds a named double property.Adds a named integer property.Adds a named long property.Adds a named string property.Adds a named date property.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, valuesMethods inherited from class java.util.AbstractMap
equals, hashCode, toString
-
Constructor Details
-
CustomProperties
public CustomProperties()
-
-
Method Details
-
put
Puts a
CustomPropertyinto this map. It is assumed that theCustomPropertyalready has a valid ID. Otherwise useput(CustomProperty).- Specified by:
putin interfaceMap- Overrides:
putin classHashMap- Throws:
ClassCastException
-
remove
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:
-
put
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
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
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
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
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
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
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
-