Package io.resys.hdes.client.spi.store
Class ImmutableEntityState.Builder
java.lang.Object
io.resys.hdes.client.spi.store.ImmutableEntityState.Builder
- Enclosing class:
- ImmutableEntityState
Builds instances of type
ImmutableEntityState.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds a newImmutableEntityState.entity(HdesStore.StoreEntity entity) Initializes the value for theentityattribute.from(ThenaConfig.EntityState instance) Fill a builder with attribute values from the providedEntityStateinstance.Initializes the value for thesrcattribute.
-
Method Details
-
from
@CanIgnoreReturnValue public final ImmutableEntityState.Builder from(ThenaConfig.EntityState instance) Fill a builder with attribute values from the providedEntityStateinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
src
@CanIgnoreReturnValue public final ImmutableEntityState.Builder src(QueryEnvelope<GitPullActions.PullObject> src) Initializes the value for thesrcattribute.- Parameters:
src- The value for src- Returns:
thisbuilder for use in a chained invocation
-
entity
@CanIgnoreReturnValue public final ImmutableEntityState.Builder entity(HdesStore.StoreEntity entity) Initializes the value for theentityattribute.- Parameters:
entity- The value for entity- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newImmutableEntityState.- Returns:
- An immutable instance of EntityState
- Throws:
IllegalStateException- if any required attributes are missing
-