Class CRelease.Builder

java.lang.Object
com.io7m.changelog.core.CRelease.Builder
Enclosing class:
CRelease

public static final class CRelease.Builder
extends java.lang.Object
Builds instances of type CRelease. 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 Details

    • from

      public final CRelease.Builder from​(CReleaseType instance)
      Fill a builder with attribute values from the provided CReleaseType instance. 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:
      this builder for use in a chained invocation
    • setDate

      public final CRelease.Builder setDate​(java.time.ZonedDateTime date)
      Initializes the value for the date attribute.
      Parameters:
      date - The value for date
      Returns:
      this builder for use in a chained invocation
    • addChanges

      public final CRelease.Builder addChanges​(CChange element)
      Adds one element to changes list.
      Parameters:
      element - A changes element
      Returns:
      this builder for use in a chained invocation
    • addChanges

      public final CRelease.Builder addChanges​(CChange... elements)
      Adds elements to changes list.
      Parameters:
      elements - An array of changes elements
      Returns:
      this builder for use in a chained invocation
    • setChanges

      public final CRelease.Builder setChanges​(java.lang.Iterable<? extends CChange> elements)
      Sets or replaces all elements for changes list.
      Parameters:
      elements - An iterable of changes elements
      Returns:
      this builder for use in a chained invocation
    • addAllChanges

      public final CRelease.Builder addAllChanges​(java.lang.Iterable<? extends CChange> elements)
      Adds elements to changes list.
      Parameters:
      elements - An iterable of changes elements
      Returns:
      this builder for use in a chained invocation
    • setTicketSystemID

      public final CRelease.Builder setTicketSystemID​(java.lang.String ticketSystemID)
      Initializes the value for the ticketSystemID attribute.
      Parameters:
      ticketSystemID - The value for ticketSystemID
      Returns:
      this builder for use in a chained invocation
    • setVersion

      public final CRelease.Builder setVersion​(CVersion version)
      Initializes the value for the version attribute.
      Parameters:
      version - The value for version
      Returns:
      this builder for use in a chained invocation
    • setOpen

      public final CRelease.Builder setOpen​(boolean open)
      Initializes the value for the open attribute.
      Parameters:
      open - The value for open
      Returns:
      this builder for use in a chained invocation
    • build

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