Class Section
- Direct Known Subclasses:
MutableSection
public class Section
extends java.lang.Object
Represents a section in a PropertySet.
- Author:
- Rainer Klute <klute@rainer-klute.de>, Drew Varner (Drew.Varner allUpIn sc.edu)
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.Long,java.lang.String>dictionaryMaps property IDs to section-private PID strings.protected ClassIDformatIDThe section's format ID,getFormatID().protected longoffsetprotected Property[]propertiesprotected intsize -
Constructor Summary
-
Method Summary
Modifier and Type Method Description booleanequals(java.lang.Object o)Checks whether this section is equal to another object.intgetCodepage()Gets the section's codepage, if any.java.util.Map<java.lang.Long,java.lang.String>getDictionary()Gets the section's dictionary.ClassIDgetFormatID()Returns the format ID.longgetOffset()Returns the offset of the section in the stream.java.lang.StringgetPIDString(long pid)Returns the PID string associated with a property ID.Property[]getProperties()Returns this section's properties.java.lang.ObjectgetProperty(long id)Returns the value of the property with the specified ID.protected booleangetPropertyBooleanValue(int id)Returns the value of the boolean property with the specified ID.intgetPropertyCount()Returns the number of properties in this section.protected intgetPropertyIntValue(long id)Returns the value of the numeric property with the specified ID.intgetSize()Returns the section's size in bytes.inthashCode()java.lang.StringtoString()booleanwasNull()Checks whether the property which the last call togetPropertyIntValue(long)orgetProperty(long)tried to access was available or not.
-
Field Details
-
dictionary
protected java.util.Map<java.lang.Long,java.lang.String> dictionaryMaps property IDs to section-private PID strings. These strings can be found in the property with ID 0.
-
formatID
The section's format ID,
getFormatID(). -
offset
protected long offset- See Also:
getOffset()
-
size
protected int size- See Also:
getSize()
-
properties
- See Also:
getProperties()
-
-
Constructor Details
-
Section
protected Section()Creates an empty and uninitialized
Section. -
Section
public Section(byte[] src, int offset) throws java.io.UnsupportedEncodingExceptionCreates a
Sectioninstance from a byte array.- Parameters:
src- Contains the complete property set stream.offset- The position in the stream that points to the section's format ID.- Throws:
java.io.UnsupportedEncodingException- if the section's codepage is not supported.
-
-
Method Details
-
getFormatID
Returns the format ID. The format ID is the "type" of the section. For example, if the format ID of the first
Sectioncontains the bytes specified byorg.docx4j.org.apache.poi.hpsf.wellknown.SectionIDMap.SUMMARY_INFORMATION_IDthe section (and thus the property set) is a SummaryInformation.- Returns:
- The format ID
-
getOffset
public long getOffset()Returns the offset of the section in the stream.
- Returns:
- The offset of the section in the stream.
-
getSize
public int getSize()Returns the section's size in bytes.
- Returns:
- The section's size in bytes.
-
getPropertyCount
public int getPropertyCount()Returns the number of properties in this section.
- Returns:
- The number of properties in this section.
-
getProperties
Returns this section's properties.
- Returns:
- This section's properties.
-
getProperty
public java.lang.Object getProperty(long id)Returns the value of the property with the specified ID. If the property is not available,
nullis returned and a subsequent call towasNullwill returntrue.- Parameters:
id- The property's ID- Returns:
- The property's value
-
getPropertyIntValue
protected int getPropertyIntValue(long id)Returns the value of the numeric property with the specified ID. If the property is not available, 0 is returned. A subsequent call to
wasNullwill returntrueto let the caller distinguish that case from a real property value of 0.- Parameters:
id- The property's ID- Returns:
- The property's value
-
getPropertyBooleanValue
protected boolean getPropertyBooleanValue(int id)Returns the value of the boolean property with the specified ID. If the property is not available,
falseis returned. A subsequent call towasNullwill returntrueto let the caller distinguish that case from a real property value offalse.- Parameters:
id- The property's ID- Returns:
- The property's value
-
wasNull
public boolean wasNull()Checks whether the property which the last call to
getPropertyIntValue(long)orgetProperty(long)tried to access was available or not. This information might be important for callers ofgetPropertyIntValue(long)since the latter returns 0 if the property does not exist. UsingwasNullthe caller can distiguish this case from a property's real value of 0.- Returns:
trueif the last call togetPropertyIntValue(long)orgetProperty(long)tried to access a property that was not available, elsefalse.
-
getPIDString
public java.lang.String getPIDString(long pid)Returns the PID string associated with a property ID. The ID is first looked up in the
Section's private dictionary. If it is not found there, the method callsSectionIDMap.getPIDString(byte[], long).- Parameters:
pid- The property ID- Returns:
- The property ID's string value
-
equals
public boolean equals(java.lang.Object o)Checks whether this section is equal to another object. The result is
falseif one of the the following conditions holds:The other object is not a
Section.The format IDs of the two sections are not equal.
The sections have a different number of properties. However, properties with ID 1 (codepage) are not counted.
The other object is not a
Section.The properties have different values. The order of the properties is irrelevant.
- Overrides:
equalsin classjava.lang.Object- Parameters:
o- The object to compare this section with- Returns:
trueif the objects are equal,falseif not
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
getDictionary
public java.util.Map<java.lang.Long,java.lang.String> getDictionary()Gets the section's dictionary. A dictionary allows an application to use human-readable property names instead of numeric property IDs. It contains mappings from property IDs to their associated string values. The dictionary is stored as the property with ID 0. The codepage for the strings in the dictionary is defined by property with ID 1.
- Returns:
- the dictionary or
nullif the section does not have a dictionary.
-
getCodepage
public int getCodepage()Gets the section's codepage, if any.
- Returns:
- The section's codepage if one is defined, else -1.
-