Class Section
- Direct Known Subclasses:
MutableSection
Represents a section in a PropertySet.
- Since:
- 2002-02-09
- Version:
- $Id: Section.java 550021 2007-06-23 07:44:47Z klute $
- Author:
- Rainer Klute <klute@rainer-klute.de>, Drew Varner (Drew.Varner allUpIn sc.edu)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected MapMaps property IDs to section-private PID strings.protected ClassIDThe section's format ID,getFormatID().protected longprotected Property[]protected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks whether this section is equal to another object.intGets the section's codepage, if any.Gets the section's dictionary.Returns the format ID.longReturns the offset of the section in the stream.getPIDString(long pid) Returns the PID string associated with a property ID.Property[]Returns this section's properties.getProperty(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.intReturns 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()toString()booleanwasNull()Checks whether the property which the last call togetPropertyIntValue(long)orgetProperty(long)tried to access was available or not.
-
Field Details
-
dictionary
Maps 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:
-
size
protected int size- See Also:
-
properties
- See Also:
-
-
Constructor Details
-
Section
protected Section()Creates an empty and uninitialized
Section. -
Section
Creates 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:
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 byloci.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
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
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
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.
-
hashCode
public int hashCode() -
toString
-
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.
-