Class ImmutableDescriptorFileProtocTarget.Builder

java.lang.Object
io.github.ascopes.protobufmavenplugin.protoc.targets.ImmutableDescriptorFileProtocTarget.Builder
Enclosing class:
ImmutableDescriptorFileProtocTarget

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

      private static final long INIT_BIT_OUTPUT_FILE
      See Also:
    • INIT_BIT_IS_INCLUDE_IMPORTS

      private static final long INIT_BIT_IS_INCLUDE_IMPORTS
      See Also:
    • INIT_BIT_IS_INCLUDE_SOURCE_INFO

      private static final long INIT_BIT_IS_INCLUDE_SOURCE_INFO
      See Also:
    • INIT_BIT_IS_RETAIN_OPTIONS

      private static final long INIT_BIT_IS_RETAIN_OPTIONS
      See Also:
    • OPT_BIT_ORDER

      private static final long OPT_BIT_ORDER
      See Also:
    • initBits

      private long initBits
    • optBits

      private long optBits
    • order

      private int order
    • outputFile

      private Path outputFile
    • isIncludeImports

      private boolean isIncludeImports
    • isIncludeSourceInfo

      private boolean isIncludeSourceInfo
    • isRetainOptions

      private boolean isRetainOptions
  • Constructor Details

    • Builder

      private Builder()
  • Method Details

    • from

      Fill a builder with attribute values from the provided io.github.ascopes.protobufmavenplugin.protoc.targets.ProtocTarget instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      Fill a builder with attribute values from the provided io.github.ascopes.protobufmavenplugin.protoc.targets.DescriptorFileProtocTarget instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      private void from(short _unused, Object object)
    • order

      public final ImmutableDescriptorFileProtocTarget.Builder order(int order)
      Initializes the value for the order attribute.

      If not set, this attribute will have a default value as returned by the initializer of order.

      Parameters:
      order - The value for order
      Returns:
      this builder for use in a chained invocation
    • outputFile

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

      public final ImmutableDescriptorFileProtocTarget.Builder isIncludeImports(boolean isIncludeImports)
      Initializes the value for the isIncludeImports attribute.
      Parameters:
      isIncludeImports - The value for isIncludeImports
      Returns:
      this builder for use in a chained invocation
    • isIncludeSourceInfo

      public final ImmutableDescriptorFileProtocTarget.Builder isIncludeSourceInfo(boolean isIncludeSourceInfo)
      Initializes the value for the isIncludeSourceInfo attribute.
      Parameters:
      isIncludeSourceInfo - The value for isIncludeSourceInfo
      Returns:
      this builder for use in a chained invocation
    • isRetainOptions

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

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

      private boolean orderIsSet()
    • formatRequiredAttributesMessage

      private String formatRequiredAttributesMessage()