Class ASFilenameMetadata.Builder

java.lang.Object
com.io7m.coffeepick.shipilev_net.internal.ASFilenameMetadata.Builder
Enclosing class:
ASFilenameMetadata

public static final class ASFilenameMetadata.Builder
extends java.lang.Object
Builds instances of type ASFilenameMetadata. 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 ASFilenameMetadata.Builder from​(ASFilenameMetadataType instance)
      Fill a builder with attribute values from the provided ASFilenameMetadataType 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
    • setVersion

      public final ASFilenameMetadata.Builder setVersion​(RuntimeVersion version)
      Initializes the value for the version attribute.
      Parameters:
      version - The value for version
      Returns:
      this builder for use in a chained invocation
    • setArchitecture

      public final ASFilenameMetadata.Builder setArchitecture​(java.lang.String architecture)
      Initializes the value for the architecture attribute.
      Parameters:
      architecture - The value for architecture
      Returns:
      this builder for use in a chained invocation
    • setPlatform

      public final ASFilenameMetadata.Builder setPlatform​(java.lang.String platform)
      Initializes the value for the platform attribute.
      Parameters:
      platform - The value for platform
      Returns:
      this builder for use in a chained invocation
    • setBuild

      public final ASFilenameMetadata.Builder setBuild​(RuntimeBuild build)
      Initializes the optional value build to build.
      Parameters:
      build - The value for build
      Returns:
      this builder for chained invocation
    • setBuild

      public final ASFilenameMetadata.Builder setBuild​(java.util.Optional<? extends RuntimeBuild> build)
      Initializes the optional value build to build.
      Parameters:
      build - The value for build
      Returns:
      this builder for use in a chained invocation
    • addExtraTags

      public final ASFilenameMetadata.Builder addExtraTags​(java.lang.String element)
      Adds one element to extraTags set.
      Parameters:
      element - A extraTags element
      Returns:
      this builder for use in a chained invocation
    • addExtraTags

      public final ASFilenameMetadata.Builder addExtraTags​(java.lang.String... elements)
      Adds elements to extraTags set.
      Parameters:
      elements - An array of extraTags elements
      Returns:
      this builder for use in a chained invocation
    • setExtraTags

      public final ASFilenameMetadata.Builder setExtraTags​(java.lang.Iterable<java.lang.String> elements)
      Sets or replaces all elements for extraTags set.
      Parameters:
      elements - An iterable of extraTags elements
      Returns:
      this builder for use in a chained invocation
    • addAllExtraTags

      public final ASFilenameMetadata.Builder addAllExtraTags​(java.lang.Iterable<java.lang.String> elements)
      Adds elements to extraTags set.
      Parameters:
      elements - An iterable of extraTags elements
      Returns:
      this builder for use in a chained invocation
    • build

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