Class ImmutableDescriptorListing.Builder

java.lang.Object
io.github.ascopes.protobufmavenplugin.sources.ImmutableDescriptorListing.Builder
Enclosing class:
ImmutableDescriptorListing

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

    • INIT_BIT_DESCRIPTOR_FILE_PATH

      private static final long INIT_BIT_DESCRIPTOR_FILE_PATH
      See Also:
    • initBits

      private long initBits
    • descriptorFilePath

      private Path descriptorFilePath
    • sourceFiles

      private List<String> sourceFiles
  • Constructor Details

    • Builder

      private Builder()
  • Method Details

    • from

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

      public final ImmutableDescriptorListing.Builder descriptorFilePath(Path descriptorFilePath)
      Initializes the value for the descriptorFilePath attribute.
      Parameters:
      descriptorFilePath - The value for descriptorFilePath (can be null)
      Returns:
      this builder for use in a chained invocation
    • addSourceFiles

      public final ImmutableDescriptorListing.Builder addSourceFiles(String element)
      Adds one element to sourceFiles set.
      Parameters:
      element - A sourceFiles element
      Returns:
      this builder for use in a chained invocation
    • addSourceFiles

      public final ImmutableDescriptorListing.Builder addSourceFiles(String... elements)
      Adds elements to sourceFiles set.
      Parameters:
      elements - An array of sourceFiles elements
      Returns:
      this builder for use in a chained invocation
    • sourceFiles

      public final ImmutableDescriptorListing.Builder sourceFiles(Iterable<String> elements)
      Sets or replaces all elements for sourceFiles set.
      Parameters:
      elements - An iterable of sourceFiles elements
      Returns:
      this builder for use in a chained invocation
    • addAllSourceFiles

      public final ImmutableDescriptorListing.Builder addAllSourceFiles(Iterable<String> elements)
      Adds elements to sourceFiles set.
      Parameters:
      elements - An iterable of sourceFiles elements
      Returns:
      this builder for use in a chained invocation
    • build

      Returns:
      An immutable instance of DescriptorListing
      Throws:
      IllegalStateException - if any required attributes are missing
    • formatRequiredAttributesMessage

      private String formatRequiredAttributesMessage()