Class ImmutableContact.Builder

java.lang.Object
io.github.ai4ci.abm.ImmutableContact.Builder
Enclosing class:
ImmutableContact

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

      @CanIgnoreReturnValue public final ImmutableContact.Builder from(Contact instance)
      Fill a builder with attribute values from the provided Contact 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
    • setDetected

      @CanIgnoreReturnValue public final ImmutableContact.Builder setDetected(boolean detected)
      Initializes the value for the detected attribute.
      Parameters:
      detected - The value for detected
      Returns:
      this builder for use in a chained invocation
    • setParticipant1Id

      @CanIgnoreReturnValue public final ImmutableContact.Builder setParticipant1Id(int participant1Id)
      Initializes the value for the participant1Id attribute.
      Parameters:
      participant1Id - The value for participant1Id
      Returns:
      this builder for use in a chained invocation
    • setParticipant2Id

      @CanIgnoreReturnValue public final ImmutableContact.Builder setParticipant2Id(int participant2Id)
      Initializes the value for the participant2Id attribute.
      Parameters:
      participant2Id - The value for participant2Id
      Returns:
      this builder for use in a chained invocation
    • build

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