Package io.thestencil.persistence.api
Class ImmutableLinkMutator.Builder
- java.lang.Object
-
- io.thestencil.persistence.api.ImmutableLinkMutator.Builder
-
- Enclosing class:
- ImmutableLinkMutator
@NotThreadSafe public static final class ImmutableLinkMutator.Builder extends Object
Builds instances of typeImmutableLinkMutator. 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 ImmutableLinkMutator.BuilderaddAllArticles(Iterable<String> elements)Adds elements toarticleslist.ImmutableLinkMutator.BuilderaddArticles(String element)Adds one element toarticleslist.ImmutableLinkMutator.BuilderaddArticles(String... elements)Adds elements toarticleslist.ImmutableLinkMutator.Builderarticles(Iterable<String> elements)Sets or replaces all elements forarticleslist.ImmutableLinkMutatorbuild()Builds a newImmutableLinkMutator.ImmutableLinkMutator.Buildercontent(String content)Initializes the value for thecontentattribute.ImmutableLinkMutator.Builderdescription(String description)Initializes the value for thedescriptionattribute.ImmutableLinkMutator.Builderfrom(UpdateBuilder.LinkMutator instance)Fill a builder with attribute values from the providedLinkMutatorinstance.ImmutableLinkMutator.BuilderlinkId(String linkId)Initializes the value for thelinkIdattribute.ImmutableLinkMutator.Builderlocale(String locale)Initializes the value for thelocaleattribute.ImmutableLinkMutator.Buildertype(String type)Initializes the value for thetypeattribute.
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder from(UpdateBuilder.LinkMutator instance)
Fill a builder with attribute values from the providedLinkMutatorinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
linkId
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder linkId(String linkId)
Initializes the value for thelinkIdattribute.- Parameters:
linkId- The value for linkId- Returns:
thisbuilder for use in a chained invocation
-
content
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder content(String content)
Initializes the value for thecontentattribute.- Parameters:
content- The value for content- Returns:
thisbuilder for use in a chained invocation
-
locale
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder locale(String locale)
Initializes the value for thelocaleattribute.- Parameters:
locale- The value for locale- Returns:
thisbuilder for use in a chained invocation
-
description
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder description(String description)
Initializes the value for thedescriptionattribute.- Parameters:
description- The value for description- Returns:
thisbuilder for use in a chained invocation
-
type
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder type(String type)
Initializes the value for thetypeattribute.- Parameters:
type- The value for type- Returns:
thisbuilder for use in a chained invocation
-
addArticles
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder addArticles(String element)
Adds one element toarticleslist.- Parameters:
element- A articles element- Returns:
thisbuilder for use in a chained invocation
-
addArticles
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder addArticles(String... elements)
Adds elements toarticleslist.- Parameters:
elements- An array of articles elements- Returns:
thisbuilder for use in a chained invocation
-
articles
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder articles(Iterable<String> elements)
Sets or replaces all elements forarticleslist.- Parameters:
elements- An iterable of articles elements- Returns:
thisbuilder for use in a chained invocation
-
addAllArticles
@CanIgnoreReturnValue public final ImmutableLinkMutator.Builder addAllArticles(Iterable<String> elements)
Adds elements toarticleslist.- Parameters:
elements- An iterable of articles elements- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutableLinkMutator build()
Builds a newImmutableLinkMutator.- Returns:
- An immutable instance of LinkMutator
- Throws:
IllegalStateException- if any required attributes are missing
-
-