Package io.thestencil.client.api
Class ImmutableLink.Builder
- java.lang.Object
-
- io.thestencil.client.api.ImmutableLink.Builder
-
- Enclosing class:
- ImmutableLink
@NotThreadSafe public static final class ImmutableLink.Builder extends Object
Builds instances of typeImmutableLink. 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
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutableLink.Builder from(StencilClient.Link instance)
Fill a builder with attribute values from the providedLinkinstance. 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
-
value
@CanIgnoreReturnValue public final ImmutableLink.Builder value(String value)
Initializes the value for thevalueattribute.- Parameters:
value- The value for value- Returns:
thisbuilder for use in a chained invocation
-
contentType
@CanIgnoreReturnValue public final ImmutableLink.Builder contentType(String contentType)
Initializes the value for thecontentTypeattribute.- Parameters:
contentType- The value for contentType- Returns:
thisbuilder for use in a chained invocation
-
addArticles
@CanIgnoreReturnValue public final ImmutableLink.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 ImmutableLink.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 ImmutableLink.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 ImmutableLink.Builder addAllArticles(Iterable<String> elements)
Adds elements toarticleslist.- Parameters:
elements- An iterable of articles elements- Returns:
thisbuilder for use in a chained invocation
-
addLabels
@CanIgnoreReturnValue public final ImmutableLink.Builder addLabels(StencilClient.LocaleLabel element)
Adds one element tolabelslist.- Parameters:
element- A labels element- Returns:
thisbuilder for use in a chained invocation
-
addLabels
@CanIgnoreReturnValue public final ImmutableLink.Builder addLabels(StencilClient.LocaleLabel... elements)
Adds elements tolabelslist.- Parameters:
elements- An array of labels elements- Returns:
thisbuilder for use in a chained invocation
-
labels
@CanIgnoreReturnValue public final ImmutableLink.Builder labels(Iterable<? extends StencilClient.LocaleLabel> elements)
Sets or replaces all elements forlabelslist.- Parameters:
elements- An iterable of labels elements- Returns:
thisbuilder for use in a chained invocation
-
addAllLabels
@CanIgnoreReturnValue public final ImmutableLink.Builder addAllLabels(Iterable<? extends StencilClient.LocaleLabel> elements)
Adds elements tolabelslist.- Parameters:
elements- An iterable of labels elements- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutableLink build()
Builds a newImmutableLink.- Returns:
- An immutable instance of Link
- Throws:
IllegalStateException- if any required attributes are missing
-
-