Class Variant

java.lang.Object
jakarta.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
  • Constructor Details

    • 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 Details

    • 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