public class LazyFieldLite extends 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.
|
boolean |
equals(Object o)
Indicates whether some other object is "equal to" this one.
|
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()
Returns a hash code value for the object.
|
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()
public LazyFieldLite(ExtensionRegistryLite extensionRegistry, ByteString bytes)
public void clear()
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public boolean containsDefaultInstance()
protected void ensureInitialized(MessageLite defaultInstance)
public boolean equals(@Nullable Object o)
Object
The equals
method implements an equivalence relation on non-null object references:
x
, x.equals(x)
should return true
.
x
and y
,
x.equals(y)
should return true
if and only if y.equals(x)
returns
true
.
x
, y
, and
z
, if x.equals(y)
returns true
and y.equals(z)
returns
true
, then x.equals(z)
should return true
.
x
and y
, multiple
invocations of x.equals(y)
consistently return true
or consistently return
false
, provided no information used in equals
comparisons on the objects is
modified.
x
, x.equals(null)
should return
false
.
The equals
method for class Object
implements the most discriminating possible
equivalence relation on objects; that is, for any non-null reference values x
and
y
, this method returns true
if and only if x
and y
refer to the
same object (x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method
is overridden, so as to maintain the general contract for the hashCode
method, which
states that equal objects must have equal hash codes.
equals
in class Object
o
- the reference object with which to compare.true
if this object is the same as the obj argument; false
otherwise.Object.hashCode()
,
HashMap
public static LazyFieldLite fromValue(MessageLite value)
public int getSerializedSize()
public MessageLite getValue(MessageLite defaultInstance)
defaultInstance
- its message's default instance. It's also used to get parser for the message type.public int hashCode()
Object
HashMap
.
The general contract of hashCode
is:
hashCode
method must consistently return the same integer, provided no
information used in equals
comparisons on the object is modified. This integer need not
remain consistent from one execution of an application to another execution of the same
application.
equals(Object)
method, then calling the
hashCode
method on each of the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer
should be aware that producing distinct integer results for unequal objects may improve the
performance of hash tables.
As much as is reasonably practical, the hashCode method defined by class Object
does
return distinct integers for distinct objects. (This is typically implemented by converting the
internal address of the object into an integer, but this implementation technique is not required
by the JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
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 IOException
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
IOException
public void set(LazyFieldLite other)
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public void setByteString(ByteString bytes, ExtensionRegistryLite extensionRegistry)
@Nullable public MessageLite setValue(MessageLite value)
LazyField is not thread-safe for write access. Synchronizations are needed under read/write situations.
public ByteString toByteString()