Package com.io7m.smfj.probe.api

## Class SMFVersionProbed

- java.lang.Object
- - com.io7m.smfj.probe.api.SMFVersionProbed

- All Implemented Interfaces:
    `SMFVersionProbedType`

      public final class SMFVersionProbed
      extends java.lang.Object
      implements SMFVersionProbedType

  A probed version.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `SMFVersionProbed.Builder` | Builds instances of type `SMFVersionProbed`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static SMFVersionProbed.Builder` | `builder()` | Creates a builder for `SMFVersionProbed`.
    `static SMFVersionProbed` | `copyOf​(SMFVersionProbedType instance)` | Creates an immutable copy of a `SMFVersionProbedType` value.
    `boolean` | `equals​(java.lang.Object another)` | This instance is equal to all instances of `SMFVersionProbed` that have equal attribute values.
    `int` | `hashCode()` | Computes a hash code from attributes: `provider`, `version`.
    `static SMFVersionProbed` | `of​(SMFParserProviderType provider, SMFFormatVersion version)` | Construct a new immutable `SMFVersionProbed` instance.
    `SMFParserProviderType` | `provider()` |
    `java.lang.String` | `toString()` | Prints the immutable value `SMFVersionProbed` with attribute values.
    `SMFFormatVersion` | `version()` |
    `SMFVersionProbed` | `withProvider​(SMFParserProviderType value)` | Copy the current immutable object by setting a value for the `provider` attribute.
    `SMFVersionProbed` | `withVersion​(SMFFormatVersion value)` | Copy the current immutable object by setting a value for the `version` attribute.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### provider

          public SMFParserProviderType provider()

      Specified by:
        `provider` in interface `SMFVersionProbedType`
      Returns:
        The provider that successfully probed the file

    - #### version

          public SMFFormatVersion version()

      Specified by:
        `version` in interface `SMFVersionProbedType`
      Returns:
        The format version

    - #### withProvider

          public final SMFVersionProbed withProvider​(SMFParserProviderType value)

      Copy the current immutable object by setting a value for the `provider` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for provider
      Returns:
        A modified copy of the `this` object

    - #### withVersion

          public final SMFVersionProbed withVersion​(SMFFormatVersion value)

      Copy the current immutable object by setting a value for the `version` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for version
      Returns:
        A modified copy of the `this` object

    - #### equals

          public boolean equals​(java.lang.Object another)

      This instance is equal to all instances of `SMFVersionProbed` that have equal attribute values.
      Overrides:
        `equals` in class `java.lang.Object`
      Returns:
        `true` if `this` is equal to `another` instance

    - #### hashCode

          public int hashCode()

      Computes a hash code from attributes: `provider`, `version`.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        hashCode value

    - #### toString

          public java.lang.String toString()

      Prints the immutable value `SMFVersionProbed` with attribute values.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        A string representation of the value

    - #### of

          public static SMFVersionProbed of​(SMFParserProviderType provider,
                                            SMFFormatVersion version)

      Construct a new immutable `SMFVersionProbed` instance.
      Parameters:
        `provider` - The value for the `provider` attribute
        `version` - The value for the `version` attribute
      Returns:
        An immutable SMFVersionProbed instance

    - #### copyOf

          public static SMFVersionProbed copyOf​(SMFVersionProbedType instance)

      Creates an immutable copy of a `SMFVersionProbedType` value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
        `instance` - The instance to copy
      Returns:
        A copied immutable SMFVersionProbed instance

    - #### builder

          public static SMFVersionProbed.Builder builder()

      Creates a builder for `SMFVersionProbed`.

           SMFVersionProbed.builder()
              .setProvider(com.io7m.smfj.parser.api.SMFParserProviderType) // required provider
              .setVersion(com.io7m.smfj.core.SMFFormatVersion) // required version
              .build();

      Returns:
        A new SMFVersionProbed builder