Package com.io7m.coffeepick.shipilev_net.internal

# 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 Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `ASFilenameMetadata.Builder` | `addAllExtraTags​(java.lang.Iterable<java.lang.String> elements)` | Adds elements to `extraTags` set.
  `ASFilenameMetadata.Builder` | `addExtraTags​(java.lang.String element)` | Adds one element to `extraTags` set.
  `ASFilenameMetadata.Builder` | `addExtraTags​(java.lang.String... elements)` | Adds elements to `extraTags` set.
  `ASFilenameMetadata` | `build()` | Builds a new `ASFilenameMetadata`.
  `ASFilenameMetadata.Builder` | `from​(ASFilenameMetadataType instance)` | Fill a builder with attribute values from the provided `ASFilenameMetadataType` instance.
  `ASFilenameMetadata.Builder` | `setArchitecture​(java.lang.String architecture)` | Initializes the value for the `architecture` attribute.
  `ASFilenameMetadata.Builder` | `setBuild​(RuntimeBuild build)` | Initializes the optional value `build` to build.
  `ASFilenameMetadata.Builder` | `setBuild​(java.util.Optional<? extends RuntimeBuild> build)` | Initializes the optional value `build` to build.
  `ASFilenameMetadata.Builder` | `setExtraTags​(java.lang.Iterable<java.lang.String> elements)` | Sets or replaces all elements for `extraTags` set.
  `ASFilenameMetadata.Builder` | `setPlatform​(java.lang.String platform)` | Initializes the value for the `platform` attribute.
  `ASFilenameMetadata.Builder` | `setVersion​(RuntimeVersion version)` | Initializes the value for the `version` attribute.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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