Class 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 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.
      • 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.