Package com.spotify.github.v3.git
Class ImmutableAuthor.Builder
- java.lang.Object
-
- com.spotify.github.v3.git.ImmutableAuthor.Builder
-
- Enclosing class:
- ImmutableAuthor
@NotThreadSafe public static final class ImmutableAuthor.Builder extends Object
Builds instances of typeImmutableAuthor. 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 ImmutableAuthorbuild()Builds a newImmutableAuthor.ImmutableAuthor.Builderdate(GitHubInstant date)Initializes the optional valuedateto date.ImmutableAuthor.Builderdate(Optional<? extends GitHubInstant> date)Initializes the optional valuedateto date.ImmutableAuthor.Builderemail(String email)Initializes the optional valueemailto email.ImmutableAuthor.Builderemail(Optional<String> email)Initializes the optional valueemailto email.ImmutableAuthor.Builderfrom(Author instance)Fill a builder with attribute values from the providedAuthorinstance.ImmutableAuthor.Buildername(String name)Initializes the value for thenameattribute.ImmutableAuthor.Builderusername(String username)Initializes the optional valueusernameto username.ImmutableAuthor.Builderusername(Optional<String> username)Initializes the optional valueusernameto username.
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutableAuthor.Builder from(Author instance)
Fill a builder with attribute values from the providedAuthorinstance. 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
-
name
@CanIgnoreReturnValue public final ImmutableAuthor.Builder name(@Nullable String name)
Initializes the value for thenameattribute.- Parameters:
name- The value for name (can benull)- Returns:
thisbuilder for use in a chained invocation
-
email
@CanIgnoreReturnValue public final ImmutableAuthor.Builder email(String email)
Initializes the optional valueemailto email.- Parameters:
email- The value for email- Returns:
thisbuilder for chained invocation
-
email
@CanIgnoreReturnValue public final ImmutableAuthor.Builder email(Optional<String> email)
Initializes the optional valueemailto email.- Parameters:
email- The value for email- Returns:
thisbuilder for use in a chained invocation
-
username
@CanIgnoreReturnValue public final ImmutableAuthor.Builder username(String username)
Initializes the optional valueusernameto username.- Parameters:
username- The value for username- Returns:
thisbuilder for chained invocation
-
username
@CanIgnoreReturnValue public final ImmutableAuthor.Builder username(Optional<String> username)
Initializes the optional valueusernameto username.- Parameters:
username- The value for username- Returns:
thisbuilder for use in a chained invocation
-
date
@CanIgnoreReturnValue public final ImmutableAuthor.Builder date(GitHubInstant date)
Initializes the optional valuedateto date.- Parameters:
date- The value for date- Returns:
thisbuilder for chained invocation
-
date
@CanIgnoreReturnValue public final ImmutableAuthor.Builder date(Optional<? extends GitHubInstant> date)
Initializes the optional valuedateto date.- Parameters:
date- The value for date- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutableAuthor build()
Builds a newImmutableAuthor.- Returns:
- An immutable instance of Author
- Throws:
IllegalStateException- if any required attributes are missing
-
-