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.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableAuthor
build()
Builds a newImmutableAuthor
.ImmutableAuthor.Builder
date(GitHubInstant date)
Initializes the optional valuedate
to date.ImmutableAuthor.Builder
date(Optional<? extends GitHubInstant> date)
Initializes the optional valuedate
to date.ImmutableAuthor.Builder
email(String email)
Initializes the optional valueemail
to email.ImmutableAuthor.Builder
email(Optional<String> email)
Initializes the optional valueemail
to email.ImmutableAuthor.Builder
from(Author instance)
Fill a builder with attribute values from the providedAuthor
instance.ImmutableAuthor.Builder
name(String name)
Initializes the value for thename
attribute.ImmutableAuthor.Builder
username(String username)
Initializes the optional valueusername
to username.ImmutableAuthor.Builder
username(Optional<String> username)
Initializes the optional valueusername
to username.
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutableAuthor.Builder from(Author instance)
Fill a builder with attribute values from the providedAuthor
instance. 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:
this
builder for use in a chained invocation
-
name
@CanIgnoreReturnValue public final ImmutableAuthor.Builder name(@Nullable String name)
Initializes the value for thename
attribute.- Parameters:
name
- The value for name (can benull
)- Returns:
this
builder for use in a chained invocation
-
email
@CanIgnoreReturnValue public final ImmutableAuthor.Builder email(String email)
Initializes the optional valueemail
to email.- Parameters:
email
- The value for email- Returns:
this
builder for chained invocation
-
email
@CanIgnoreReturnValue public final ImmutableAuthor.Builder email(Optional<String> email)
Initializes the optional valueemail
to email.- Parameters:
email
- The value for email- Returns:
this
builder for use in a chained invocation
-
username
@CanIgnoreReturnValue public final ImmutableAuthor.Builder username(String username)
Initializes the optional valueusername
to username.- Parameters:
username
- The value for username- Returns:
this
builder for chained invocation
-
username
@CanIgnoreReturnValue public final ImmutableAuthor.Builder username(Optional<String> username)
Initializes the optional valueusername
to username.- Parameters:
username
- The value for username- Returns:
this
builder for use in a chained invocation
-
date
@CanIgnoreReturnValue public final ImmutableAuthor.Builder date(GitHubInstant date)
Initializes the optional valuedate
to date.- Parameters:
date
- The value for date- Returns:
this
builder for chained invocation
-
date
@CanIgnoreReturnValue public final ImmutableAuthor.Builder date(Optional<? extends GitHubInstant> date)
Initializes the optional valuedate
to date.- Parameters:
date
- The value for date- Returns:
this
builder 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
-
-