public abstract class AbstractEscherOptRecord extends EscherRecord
EscherOptRecord
and
EscherTertiaryOptRecord
(EscherOptRecord 和 EscherTertiaryOptRecord 的通用抽象类)
Modifier | Constructor and Description |
---|---|
protected |
AbstractEscherOptRecord() |
protected |
AbstractEscherOptRecord(AbstractEscherOptRecord other) |
Modifier and Type | Method and Description |
---|---|
void |
addEscherProperty(EscherProperty prop)
Add a property to this record.
(向此记录添加属性。)
|
int |
fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
The contract of this method is to deserialize an escher record including it's children.
(此方法的约定是反序列化包括其子项的 escher 记录。)
|
java.util.List<EscherProperty> |
getEscherProperties()
The list of properties stored by this record.
(此记录存储的属性列表。)
|
EscherProperty |
getEscherProperty(int index)
The list of properties stored by this record.
(此记录存储的属性列表。)
|
java.util.Map<java.lang.String,java.util.function.Supplier<?>> |
getGenericProperties() |
int |
getRecordSize()
Subclasses should effeciently return the number of bytes required to serialize the record.
(子类应该有效地返回序列化记录所需的字节数。)
|
<T extends EscherProperty> |
lookup(EscherPropertyTypes propType) |
<T extends EscherProperty> |
lookup(int propId) |
void |
removeEscherProperty(EscherPropertyTypes type) |
int |
serialize(int offset, byte[] data, EscherSerializationListener listener)
Serializes the record to an existing byte array.
(将记录序列化为现有字节数组。)
|
void |
setEscherProperty(EscherProperty value)
Set an escher property.
(设置在 escher 属性中。)
|
void |
sortProperties()
Records should be sorted by property number before being stored.
(记录在存储前应按财产编号排序。)
|
copy, display, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getOptions, getRecordId, getRecordName, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getGenericRecordType
protected AbstractEscherOptRecord()
protected AbstractEscherOptRecord(AbstractEscherOptRecord other)
public void addEscherProperty(EscherProperty prop)
prop
- the escher property to add
(prop - 要添加的 escher 属性)
public int fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)
EscherRecord
fillFields
in class
EscherRecord
(EscherRecord 类中的填充字段)
data
- The byte array containing the serialized escher records.
(data - 包含序列化 escher 记录的字节数组。)
offset
- The offset into the byte array.
(offset - 字节数组的偏移量。)
recordFactory
- A factory for creating new escher records.
(recordFactory - 用于创建新 escher 记录的工厂。)
public java.util.List<EscherProperty> getEscherProperties()
public EscherProperty getEscherProperty(int index)
index
- the ordinal index of the property
(index - 属性的序数索引)
public int getRecordSize()
EscherRecord
getRecordSize
in class
EscherRecord
(类 EscherRecord 中的 getRecordSize)
public <T extends EscherProperty> T lookup(EscherPropertyTypes propType)
public <T extends EscherProperty> T lookup(int propId)
public int serialize(int offset, byte[] data, EscherSerializationListener listener)
EscherRecord
serialize
in class
EscherRecord
(在类 EscherRecord 中序列化)
offset
- the offset within the byte array
(offset - 字节数组中的偏移量)
data
- the data array to serialize to
(data - 要序列化到的数据数组)
listener
- a listener for begin and end serialization events. This is useful because the serialization is hierarchical/recursive and sometimes you need to be able break into that.
(listener - 开始和结束序列化事件的侦听器。这很有用,因为序列化是分层/递归的,有时您需要能够打破它。)
public void sortProperties()
public void setEscherProperty(EscherProperty value)
value
- the property to set.
(value - 要设置的属性。)
public void removeEscherProperty(EscherPropertyTypes type)
public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()
getGenericProperties
in interface
GenericRecord
(接口 GenericRecord 中的 getGenericProperties)
getGenericProperties
in class
EscherRecord
Copyright 2021 The Apache Software Foundation or its licensors, as applicable.