Class ImmutableProgramApplyRules.Builder

java.lang.Object
net.bmahe.genetics4j.gp.spec.mutation.ImmutableProgramApplyRules.Builder
Enclosing class:
ImmutableProgramApplyRules

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

  • Field Details

  • Constructor Details

    • Builder

      private Builder()
  • Method Details

    • from

      Fill a builder with attribute values from the provided ProgramApplyRules 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
    • addRules

      public final ImmutableProgramApplyRules.Builder addRules(Rule element)
      Adds one element to rules list.
      Parameters:
      element - A rules element
      Returns:
      this builder for use in a chained invocation
    • addRules

      public final ImmutableProgramApplyRules.Builder addRules(Rule... elements)
      Adds elements to rules list.
      Parameters:
      elements - An array of rules elements
      Returns:
      this builder for use in a chained invocation
    • rules

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

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

      Returns:
      An immutable instance of ProgramApplyRules
      Throws:
      IllegalStateException - if any required attributes are missing