javax.ws.rs.core

## Class Variant

- java.lang.Object
- - javax.ws.rs.core.Variant

-     public class Variant
      extends Object

  Abstraction for a resource representation variant. Contains information about media type, language and encoding of the resource representation.
  Since:
    1.0
  Author:
    Paul Sandoz, Marc Hadley

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Variant.VariantListBuilder` A builder for a list of representation variants.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Variant(MediaType mediaType, Locale language, String encoding)` Create a new instance of Variant.
    `Variant(MediaType mediaType, String language, String encoding)` Create a new instance of Variant.
    `Variant(MediaType mediaType, String language, String country, String encoding)` Create a new instance of Variant.
    `Variant(MediaType mediaType, String language, String country, String languageVariant, String encoding)` Create a new instance of Variant.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Variant.VariantListBuilder` | `encodings(String... encodings)` Create a `Variant.VariantListBuilder` initialized with a set of supported encodings.
    `boolean` | `equals(Object obj)` Compares obj to this variant to see if they are the same considering all property values.
    `String` | `getEncoding()` Get the encoding of the variant.
    `Locale` | `getLanguage()` Get the language of the variant.
    `String` | `getLanguageString()` Get the string representation of the variant language, or `null` if no language has been set.
    `MediaType` | `getMediaType()` Get the media type of the variant.
    `int` | `hashCode()` Generate hash code from variant properties.
    `static Variant.VariantListBuilder` | `languages(Locale... languages)` Create a `Variant.VariantListBuilder` initialized with a set of supported languages.
    `static Variant.VariantListBuilder` | `mediaTypes(MediaType... mediaTypes)` Create a `Variant.VariantListBuilder` initialized with a set of supported media types.
    `String` | `toString()`

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

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

- - ### Constructor Detail

    - #### Variant

          public Variant(MediaType mediaType,
                 String language,
                 String encoding)

      Create a new instance of Variant.
      Parameters:
        `mediaType` - the media type of the variant - may be `null`.
        `language` - the language of the variant (two-letter ISO-639 code); may be `null`.
        `encoding` - the content encoding of the variant - may be `null`.
      Throws:
        `IllegalArgumentException` - if all the parameters are `null`.
      Since:
        2.0

    - #### Variant

          public Variant(MediaType mediaType,
                 String language,
                 String country,
                 String encoding)

      Create a new instance of Variant.
      Parameters:
        `mediaType` - the media type of the variant - may be `null`.
        `language` - the language of the variant (two-letter ISO-639 code); may be `null`.
        `country` - uppercase two-letter ISO-3166 language code of the variant; may be `null` provided `language` is `null` too.
        `encoding` - the content encoding of the variant - may be `null`.
      Throws:
        `IllegalArgumentException` - if all the parameters are `null`.
      Since:
        2.0

    - #### Variant

          public Variant(MediaType mediaType,
                 String language,
                 String country,
                 String languageVariant,
                 String encoding)

      Create a new instance of Variant.
      Parameters:
        `mediaType` - the media type of the variant - may be `null`.
        `language` - the language of the variant (two-letter ISO-639 code); may be `null`.
        `country` - uppercase two-letter ISO-3166 language code of the variant; may be `null` provided `language` is `null` too.
        `languageVariant` - vendor and browser specific language code of the variant (see also `Locale` class description); may be `null` provided `language` and `country` are `null` too.
        `encoding` - the content encoding of the variant - may be `null`.
      Throws:
        `IllegalArgumentException` - if all the parameters are `null`.
      Since:
        2.0

    - #### Variant

          public Variant(MediaType mediaType,
                 Locale language,
                 String encoding)

      Create a new instance of Variant.
      Parameters:
        `mediaType` - the media type of the variant - may be `null`.
        `language` - the language of the variant - may be `null`.
        `encoding` - the content encoding of the variant - may be `null`.
      Throws:
        `IllegalArgumentException` - if all the parameters are `null`.

  - ### Method Detail

    - #### getLanguage

          public Locale getLanguage()

      Get the language of the variant.
      Returns:
        the language or `null` if none set.

    - #### getLanguageString

          public String getLanguageString()

      Get the string representation of the variant language, or `null` if no language has been set.
      Returns:
        the string representing variant language or `null` if none set.
      Since:
        2.0

    - #### getMediaType

          public MediaType getMediaType()

      Get the media type of the variant.
      Returns:
        the media type or `null` if none set.

    - #### getEncoding

          public String getEncoding()

      Get the encoding of the variant.
      Returns:
        the encoding or `null` if none set.

    - #### mediaTypes

          public static Variant.VariantListBuilder mediaTypes(MediaType... mediaTypes)

      Create a `Variant.VariantListBuilder` initialized with a set of supported media types.
      Parameters:
        `mediaTypes` - the available mediaTypes. If specific char-sets are supported they should be included as parameters of the respective media type.
      Returns:
        the initialized builder.
      Throws:
        `IllegalArgumentException` - if mediaTypes is null or contains no elements.

    - #### languages

          public static Variant.VariantListBuilder languages(Locale... languages)

      Create a `Variant.VariantListBuilder` initialized with a set of supported languages.
      Parameters:
        `languages` - the available languages.
      Returns:
        the initialized builder.
      Throws:
        `IllegalArgumentException` - if languages is null or contains no elements.

    - #### encodings

          public static Variant.VariantListBuilder encodings(String... encodings)

      Create a `Variant.VariantListBuilder` initialized with a set of supported encodings.
      Parameters:
        `encodings` - the available encodings.
      Returns:
        the initialized builder.
      Throws:
        `IllegalArgumentException` - if encodings is null or contains no elements.

    - #### hashCode

          public int hashCode()

      Generate hash code from variant properties.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        the hash code.

    - #### equals

          public boolean equals(Object obj)

      Compares obj to this variant to see if they are the same considering all property values.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the object to compare to.
      Returns:
        true if the two variants are the same, false otherwise.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2014. All Rights Reserved.