Class ImmutableAuthor.Builder

  • Enclosing class:
    ImmutableAuthor

    @NotThreadSafe
    public static final class ImmutableAuthor.Builder
    extends Object
    Builds instances of type ImmutableAuthor. Initialize attributes and then invoke the build() 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 Detail

      • from

        @CanIgnoreReturnValue
        public final ImmutableAuthor.Builder from​(Author instance)
        Fill a builder with attribute values from the provided Author 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 the name attribute.
        Parameters:
        name - The value for name (can be null)
        Returns:
        this builder for use in a chained invocation
      • email

        @CanIgnoreReturnValue
        public final ImmutableAuthor.Builder email​(String email)
        Initializes the optional value email 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 value email 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 value username 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 value username 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 value date 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 value date to date.
        Parameters:
        date - The value for date
        Returns:
        this builder for use in a chained invocation