Class ImmutableConflictGraph.Builder

java.lang.Object
pl.poznan.put.structure.pseudoknots.ImmutableConflictGraph.Builder
Enclosing class:
ImmutableConflictGraph

@NotThreadSafe public static final class ImmutableConflictGraph.Builder extends Object
Builds instances of type ImmutableConflictGraph. 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 ImmutableConflictGraph.Builder from(ConflictGraph instance)
      Fill a builder with attribute values from the provided ConflictGraph 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
    • addRegions

      public final ImmutableConflictGraph.Builder addRegions(Region element)
      Adds one element to regions list.
      Parameters:
      element - A regions element
      Returns:
      this builder for use in a chained invocation
    • addRegions

      public final ImmutableConflictGraph.Builder addRegions(Region... elements)
      Adds elements to regions list.
      Parameters:
      elements - An array of regions elements
      Returns:
      this builder for use in a chained invocation
    • regions

      public final ImmutableConflictGraph.Builder regions(Iterable<? extends Region> elements)
      Sets or replaces all elements for regions list.
      Parameters:
      elements - An iterable of regions elements
      Returns:
      this builder for use in a chained invocation
    • addAllRegions

      public final ImmutableConflictGraph.Builder addAllRegions(Iterable<? extends Region> elements)
      Adds elements to regions list.
      Parameters:
      elements - An iterable of regions elements
      Returns:
      this builder for use in a chained invocation
    • build

      public ImmutableConflictGraph build()
      Returns:
      An immutable instance of ConflictGraph
      Throws:
      IllegalStateException - if any required attributes are missing