|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.poi.hpsf.Property
public class Property
A property in a Section
of a PropertySet
.
The property's ID gives the property a meaning
in the context of its Section
. Each Section
spans
its own name space of property IDs.
The property's type determines how its
value is interpreted. For example, if the type is
Variant.VT_LPSTR
(byte string), the value consists of a
DWord telling how many bytes the string contains. The bytes follow
immediately, including any null bytes that terminate the
string. The type Variant.VT_I4
denotes a four-byte integer
value, Variant.VT_FILETIME
some date and time (of a
file).
Please note that not all Variant
types yet. This might change
over time but largely depends on your feedback so that the POI team knows
which variant types are really needed. So please feel free to submit error
reports or patches for the types you need.
Microsoft documentation: Property Set Display Name Dictionary.
Section
,
Variant
Field Summary | |
---|---|
protected long |
id
The property's ID. |
protected long |
type
The property's type. |
protected java.lang.Object |
value
The property's value. |
Constructor Summary | |
---|---|
protected |
Property()
Creates an empty property. |
|
Property(long id,
byte[] src,
long offset,
int length,
int codepage)
Creates a Property instance by reading its bytes
from the property set stream. |
|
Property(long id,
long type,
java.lang.Object value)
Creates a property. |
Method Summary | |
---|---|
boolean |
equals(java.lang.Object o)
Compares two properties. |
long |
getID()
Returns the property's ID. |
protected int |
getSize()
Returns the property's size in bytes. |
long |
getType()
Returns the property's type. |
java.lang.Object |
getValue()
Returns the property's value. |
int |
hashCode()
|
protected java.util.Map<?,?> |
readDictionary(byte[] src,
long offset,
int length,
int codepage)
Reads a dictionary. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected long id
The property's ID.
protected long type
The property's type.
protected java.lang.Object value
The property's value.
Constructor Detail |
---|
public Property(long id, long type, java.lang.Object value)
Creates a property.
id
- the property's ID.type
- the property's type, see Variant
.value
- the property's value. Only certain types are allowed, see
Variant
.public Property(long id, byte[] src, long offset, int length, int codepage) throws java.io.UnsupportedEncodingException
Creates a Property
instance by reading its bytes
from the property set stream.
id
- The property's ID.src
- The bytes the property set stream consists of.offset
- The property's type/value pair's offset in the
section.length
- The property's type/value pair's length in bytes.codepage
- The section's and thus the property's
codepage. It is needed only when reading string values.
java.io.UnsupportedEncodingException
- if the specified codepage is not
supported.protected Property()
Creates an empty property. It must be filled using the set method to be usable.
Method Detail |
---|
public long getID()
Returns the property's ID.
public long getType()
Returns the property's type.
public java.lang.Object getValue()
Returns the property's value.
protected java.util.Map<?,?> readDictionary(byte[] src, long offset, int length, int codepage) throws java.io.UnsupportedEncodingException
Reads a dictionary.
src
- The byte array containing the bytes making out the dictionary.offset
- At this offset within src the dictionary
starts.length
- The dictionary contains at most this many bytes.codepage
- The codepage of the string values.
java.io.UnsupportedEncodingException
- if the dictionary's codepage is not
(yet) supported.protected int getSize() throws WritingNotSupportedException
Returns the property's size in bytes. This is always a multiple of 4.
WritingNotSupportedException
- if HPSF does not yet support the
property's variant type.public boolean equals(java.lang.Object o)
Compares two properties.
Please beware that a property with ID == 0 is a special case: It does not have a type, and its value is the section's dictionary. Another special case are strings: Two properties may have the different types Variant.VT_LPSTR and Variant.VT_LPWSTR;
equals
in class java.lang.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in class java.lang.Object
Object.hashCode()
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |