Public Member Functions | List of all members
com.google.protobuf.AbstractMessage.BuilderParent Interface Reference
Inheritance diagram for com.google.protobuf.AbstractMessage.BuilderParent:
Inheritance graph
[legend]

Public Member Functions

void markDirty ()
 
void markDirty ()
 

Detailed Description

Interface for the parent of a Builder that allows the builder to communicate invalidations back to the parent for use when using nested builders.

Definition at line 65 of file bloaty/third_party/protobuf/java/core/src/main/java/com/google/protobuf/AbstractMessage.java.

Member Function Documentation

◆ markDirty() [1/2]

void com.google.protobuf.AbstractMessage.BuilderParent.markDirty ( )

A builder becomes dirty whenever a field is modified – including fields in nested builders – and becomes clean when build() is called. Thus, when a builder becomes dirty, all its parents become dirty as well, and when it becomes clean, all its children become clean. The dirtiness state is used to invalidate certain cached values.

To this end, a builder calls markDirty() on its parent whenever it transitions from clean to dirty. The parent must propagate this call to its own parent, unless it was already dirty, in which case the grandparent must necessarily already be dirty as well. The parent can only transition back to "clean" after calling build() on all children.

Implemented in com.google.protobuf.TestUtil.MockBuilderParent, com.google.protobuf.TestUtil.MockBuilderParent, com.google.protobuf.GeneratedMessageV3.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.GeneratedMessageV3.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.GeneratedMessage.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.GeneratedMessage.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.RepeatedFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.RepeatedFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.RepeatedFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.RepeatedFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.SingleFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.SingleFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.SingleFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, and com.google.protobuf.SingleFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >.

◆ markDirty() [2/2]

void com.google.protobuf.AbstractMessage.BuilderParent.markDirty ( )

A builder becomes dirty whenever a field is modified – including fields in nested builders – and becomes clean when build() is called. Thus, when a builder becomes dirty, all its parents become dirty as well, and when it becomes clean, all its children become clean. The dirtiness state is used to invalidate certain cached values.

To this end, a builder calls markDirty() on its parent whenever it transitions from clean to dirty. The parent must propagate this call to its own parent, unless it was already dirty, in which case the grandparent must necessarily already be dirty as well. The parent can only transition back to "clean" after calling build() on all children.

Implemented in com.google.protobuf.TestUtil.MockBuilderParent, com.google.protobuf.TestUtil.MockBuilderParent, com.google.protobuf.GeneratedMessageV3.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.GeneratedMessageV3.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.GeneratedMessage.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.GeneratedMessage.Builder< BuilderType extends Builder< BuilderType >.BuilderParentImpl, com.google.protobuf.RepeatedFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.RepeatedFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.RepeatedFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.RepeatedFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.SingleFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.SingleFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >, com.google.protobuf.SingleFieldBuilder< MType extends GeneratedMessage, BType extends GeneratedMessage.Builder, IType extends MessageOrBuilder >, and com.google.protobuf.SingleFieldBuilderV3< MType extends AbstractMessage, BType extends AbstractMessage.Builder, IType extends MessageOrBuilder >.


The documentation for this interface was generated from the following file:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:01