@Generated(value="proto")
public class LazyFieldLite
extends java.lang.Object
LazyFieldLite is thread-compatible: concurrent reads are safe once the proto that this LazyFieldLite is a part of is no longer being mutated by its Builder. However, explicit synchronization is needed under read/write situations.
When a LazyFieldLite is used in the context of a MessageLite object, its behavior is considered to be immutable and none of the setter methods in its API are expected to be invoked. All of the getters are expected to be thread-safe. When used in the context of a MessageLite.Builder, setters can be invoked, but there is no guarantee of thread safety.
TODO(yatin,dweis): Consider splitting this class's functionality and put the mutable methods into a separate builder class to allow us to give stronger compile-time guarantees.
This class is internal implementation detail of the protobuf library, so you don't need to use it directly.
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.
|
boolean |
equals(java.lang.Object o) |
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.
|
int |
hashCode() |
void |
merge(LazyFieldLite other)
Merges another instance's contents.
|
void |
mergeFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry)
Merges another instance's contents from a stream.
|
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 parsed lazily at that time.public LazyFieldLite(ExtensionRegistryLite extensionRegistry, ByteString bytes)
public LazyFieldLite()
public static LazyFieldLite fromValue(MessageLite value)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
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 mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
java.io.IOException
public void setByteString(ByteString bytes, ExtensionRegistryLite extensionRegistry)
public int getSerializedSize()
public ByteString toByteString()
protected void ensureInitialized(MessageLite defaultInstance)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.