public class LazyFieldLite
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected MessageLite |
value
The parsed value.
|
Constructor and Description |
---|
LazyFieldLite()
Constructs a LazyFieldLite with no contents, and no ability to parse extensions.
|
LazyFieldLite(ExtensionRegistryLite extensionRegistry,
ByteString bytes)
Constructs a LazyFieldLite with bytes that will be parsed lazily.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears the value state of this instance.
|
boolean |
containsDefaultInstance()
Determines whether this LazyFieldLite instance represents the default instance of this type.
|
protected void |
ensureInitialized(MessageLite defaultInstance)
Might lazily parse the bytes that were previously passed in.
|
static LazyFieldLite |
fromValue(MessageLite value)
Constructs a LazyFieldLite instance with a value.
|
int |
getSerializedSize()
Due to the optional field can be duplicated at the end of serialized
bytes, which will make the serialized size changed after LazyField
parsed.
|
MessageLite |
getValue(MessageLite defaultInstance)
Returns message instance.
|
void |
merge(LazyFieldLite other)
Merges another instance's contents.
|
void |
set(LazyFieldLite other)
Overrides the contents of this LazyField.
|
void |
setByteString(ByteString bytes,
ExtensionRegistryLite extensionRegistry)
Sets this field with bytes to delay-parse.
|
MessageLite |
setValue(MessageLite value)
Sets the value of the instance and returns the old value without delay parsing anything.
|
ByteString |
toByteString()
Returns a BytesString for this field in a thread-safe way.
|
protected volatile MessageLite value
delayedBytes
will be null.public LazyFieldLite(ExtensionRegistryLite extensionRegistry, ByteString bytes)
public LazyFieldLite()
public static LazyFieldLite fromValue(MessageLite value)
public boolean containsDefaultInstance()
public void clear()
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public void set(LazyFieldLite other)
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public MessageLite getValue(MessageLite defaultInstance)
defaultInstance
- its message's default instance. It's also used to get parser for the
message type.public MessageLite setValue(MessageLite value)
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public void merge(LazyFieldLite other)
ExtensionRegistry
but this does not, then this
field will copy over that ExtensionRegistry
.
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public void setByteString(ByteString bytes, ExtensionRegistryLite extensionRegistry)
public int getSerializedSize()
public ByteString toByteString()
protected void ensureInitialized(MessageLite defaultInstance)