Package io.thestencil.persistence.api
Class ImmutableRelease.Builder
- java.lang.Object
-
- io.thestencil.persistence.api.ImmutableRelease.Builder
-
- Enclosing class:
- ImmutableRelease
@NotThreadSafe public static final class ImmutableRelease.Builder extends Object
Builds instances of typeImmutableRelease. Initialize attributes and then invoke thebuild()method to create an immutable instance.Builderis not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableReleasebuild()Builds a newImmutableRelease.ImmutableRelease.Builderfrom(ZoePersistence.Release instance)Fill a builder with attribute values from the providedReleaseinstance.ImmutableRelease.Buildername(String name)Initializes the value for thenameattribute.ImmutableRelease.Buildernote(String note)Initializes the value for thenoteattribute.ImmutableRelease.BuilderparentCommit(String parentCommit)Initializes the value for theparentCommitattribute.
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutableRelease.Builder from(ZoePersistence.Release instance)
Fill a builder with attribute values from the providedReleaseinstance. 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
-
parentCommit
@CanIgnoreReturnValue public final ImmutableRelease.Builder parentCommit(String parentCommit)
Initializes the value for theparentCommitattribute.- Parameters:
parentCommit- The value for parentCommit- Returns:
thisbuilder for use in a chained invocation
-
name
@CanIgnoreReturnValue public final ImmutableRelease.Builder name(String name)
Initializes the value for thenameattribute.- Parameters:
name- The value for name- Returns:
thisbuilder for use in a chained invocation
-
note
@CanIgnoreReturnValue public final ImmutableRelease.Builder note(String note)
Initializes the value for thenoteattribute.- Parameters:
note- The value for note- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutableRelease build()
Builds a newImmutableRelease.- Returns:
- An immutable instance of Release
- Throws:
IllegalStateException- if any required attributes are missing
-
-