public abstract class PropertiesChunk extends Chunk
A Chunk which holds (single) fixed-length properties, and pointer to the variable length ones / multi-valued ones (which get their own chunk).
There are two kinds of PropertiesChunks, which differ only in their headers.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NAME |
static int |
PROPERTIES_FLAG_READABLE |
static int |
PROPERTIES_FLAG_WRITEABLE |
static java.lang.String |
VARIABLE_LENGTH_PROPERTY_PREFIX |
DEFAULT_NAME_PREFIX
Modifier | Constructor and Description |
---|---|
protected |
PropertiesChunk(ChunkGroup parentGroup)
Creates a Properties Chunk.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getEntryName()
Creates a string to use to identify this chunk in the POI file system
object.
|
java.util.Map<MAPIProperty,java.util.List<PropertyValue>> |
getProperties()
Returns all the properties in the chunk, along with their values.
|
java.util.Map<MAPIProperty,PropertyValue> |
getRawProperties()
Returns all the properties in the chunk, without looking up any
chunk-based values
|
PropertyValue |
getRawValue(MAPIProperty property)
Returns the value / pointer to the value chunk of the property, or null
if none exists
|
java.util.List<PropertyValue> |
getValues(MAPIProperty property)
Returns all values for the given property, looking up chunk based ones as
required, of null if none exist
|
protected void |
matchVariableSizedPropertiesToChunks()
Called once the parent ChunkGroup has been populated, to match up the
Chunks in it with our Variable Sized Properties.
|
protected void |
readProperties(java.io.InputStream value) |
void |
setProperty(PropertyValue value)
Defines a property.
|
protected void |
writeNodeData(DirectoryEntry directory,
java.util.List<PropertyValue> values)
Write the nodes for variable-length data.
|
void |
writeProperties(DirectoryEntry directory)
Writes this chunk in the specified
DirectoryEntry . |
protected java.util.List<PropertyValue> |
writeProperties(java.io.OutputStream out)
Writes the header of the properties.
|
getChunkId, getType, readValue, writeValue
public static final java.lang.String NAME
public static final java.lang.String VARIABLE_LENGTH_PROPERTY_PREFIX
public static final int PROPERTIES_FLAG_READABLE
public static final int PROPERTIES_FLAG_WRITEABLE
protected PropertiesChunk(ChunkGroup parentGroup)
public java.lang.String getEntryName()
Chunk
getEntryName
in class Chunk
public java.util.Map<MAPIProperty,PropertyValue> getRawProperties()
public java.util.Map<MAPIProperty,java.util.List<PropertyValue>> getProperties()
Returns all the properties in the chunk, along with their values.
Any chunk-based values will be looked up and returned as such
public void setProperty(PropertyValue value)
public java.util.List<PropertyValue> getValues(MAPIProperty property)
public PropertyValue getRawValue(MAPIProperty property)
protected void matchVariableSizedPropertiesToChunks()
protected void readProperties(java.io.InputStream value) throws java.io.IOException
java.io.IOException
public void writeProperties(DirectoryEntry directory) throws java.io.IOException
DirectoryEntry
.directory
- The directory.java.io.IOException
- If an I/O error occurs.protected void writeNodeData(DirectoryEntry directory, java.util.List<PropertyValue> values) throws java.io.IOException
writeProperties(java.io.OutputStream)
.directory
- The directory.values
- The values.java.io.IOException
- If an I/O error occurs.protected java.util.List<PropertyValue> writeProperties(java.io.OutputStream out) throws java.io.IOException
out
- The OutputStream
.java.io.IOException
- If an I/O error occurs.Copyright 2021 The Apache Software Foundation or its licensors, as applicable.