Maintains the instances of {@link CustomProperty} that belong to a{@link DocumentSummaryInformation}. The class maintains the names of the custom properties in a dictionary. It implements the {@link Map} interfaceand 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 {@link #isPure} method to check whether aproperty set parsed by {@link 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 synchronized.
@author Rainer Klute
|
|