Class ImmutableBranch.Builder

  • Enclosing class:
    ImmutableBranch

    @NotThreadSafe
    public static final class ImmutableBranch.Builder
    extends java.lang.Object
    Builds instances of type ImmutableBranch. 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 ImmutableBranch.Builder from​(Branch instance)
        Fill a builder with attribute values from the provided Branch 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 ImmutableBranch.Builder name​(@Nullable
                                                  java.lang.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
      • commit

        @CanIgnoreReturnValue
        public final ImmutableBranch.Builder commit​(@Nullable
                                                    ShaLink commit)
        Initializes the value for the commit attribute.
        Parameters:
        commit - The value for commit (can be null)
        Returns:
        this builder for use in a chained invocation
      • isProtected

        @CanIgnoreReturnValue
        public final ImmutableBranch.Builder isProtected​(boolean isProtected)
        Initializes the optional value isProtected to isProtected.
        Parameters:
        isProtected - The value for isProtected
        Returns:
        this builder for chained invocation
      • isProtected

        @CanIgnoreReturnValue
        public final ImmutableBranch.Builder isProtected​(java.util.Optional<java.lang.Boolean> isProtected)
        Initializes the optional value isProtected to isProtected.
        Parameters:
        isProtected - The value for isProtected
        Returns:
        this builder for use in a chained invocation
      • protectionUrl

        @CanIgnoreReturnValue
        public final ImmutableBranch.Builder protectionUrl​(java.net.URI protectionUrl)
        Initializes the optional value protectionUrl to protectionUrl.
        Parameters:
        protectionUrl - The value for protectionUrl
        Returns:
        this builder for chained invocation
      • protectionUrl

        @CanIgnoreReturnValue
        public final ImmutableBranch.Builder protectionUrl​(java.util.Optional<? extends java.net.URI> protectionUrl)
        Initializes the optional value protectionUrl to protectionUrl.
        Parameters:
        protectionUrl - The value for protectionUrl
        Returns:
        this builder for use in a chained invocation
      • build

        public ImmutableBranch build()
        Builds a new ImmutableBranch.
        Returns:
        An immutable instance of Branch
        Throws:
        java.lang.IllegalStateException - if any required attributes are missing