org.restlet.data

## Class Language

- java.lang.Object
- - org.restlet.data.Metadata
  - - org.restlet.data.Language

    public final class Language
    extends Metadata

Language used in representations and preferences. A language tag is composed of one or more parts: A primary language tag and a possibly empty series of sub-tags. When formatted as a string, parts are separated by hyphens.

Author:
  Jerome Louvel

### Field Summary

Fields
`static Language` `ALL` All languages acceptable.
`static Language` `DEFAULT` The default language of the JVM.
`static Language` `ENGLISH` English language.
`static Language` `ENGLISH_US` English language spoken in USA.
`static Language` `FRENCH` French language.
`static Language` `FRENCH_FRANCE` French language spoken in France.
`static Language` `SPANISH` Spanish language.

### Constructor Summary

Constructors
Constructor and Description
`Language(java.lang.String name)` Constructor.
`Language(java.lang.String name, java.lang.String description)` Constructor.

### Method Summary

Methods
`boolean` `equals(java.lang.Object object)`
`Language` `getParent()` Returns the parent metadata if available or null.
`java.lang.String` `getPrimaryTag()` Returns the primary tag.
`java.util.List<java.lang.String>` `getSubTags()` Returns the unmodifiable list of subtags.
`int` `hashCode()`
`boolean` `includes(Metadata included)` Indicates if a given language is included in the current one.
`static Language` `valueOf(java.lang.String name)` Returns the language associated to a name.

### Methods inherited from class org.restlet.data.Metadata

`getDescription, getName, isCompatible, toString`

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

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

### Field Detail

#### ALL

    public static final Language ALL

All languages acceptable.

#### DEFAULT

    public static final Language DEFAULT

The default language of the JVM.

See Also:
  `Locale.getDefault()`

#### ENGLISH

    public static final Language ENGLISH

English language.

#### ENGLISH_US

    public static final Language ENGLISH_US

English language spoken in USA.

#### FRENCH

    public static final Language FRENCH

French language.

#### FRENCH_FRANCE

    public static final Language FRENCH_FRANCE

French language spoken in France.

#### SPANISH

    public static final Language SPANISH

Spanish language.

### Constructor Detail

#### Language

    public Language(java.lang.String name)

Constructor.

Parameters:
  `name` - The name.

#### Language

    public Language(java.lang.String name,
            java.lang.String description)

Constructor.

Parameters:
  `name` - The name.
  `description` - The description.

### Method Detail

#### valueOf

    public static Language valueOf(java.lang.String name)

Returns the language associated to a name. If an existing constant exists then it is returned, otherwise a new instance is created.

Parameters:
  `name` - The name.
Returns:
  The associated language.

#### equals

    public boolean equals(java.lang.Object object)

Overrides:
  `equals` in class `Metadata`

#### getParent

    public Language getParent()

Description copied from class: `Metadata`
Returns the parent metadata if available or null.

Specified by:
  `getParent` in class `Metadata`
Returns:
  The parent metadata.

#### getPrimaryTag

    public java.lang.String getPrimaryTag()

Returns the primary tag.

Returns:
  The primary tag.

#### getSubTags

    public java.util.List<java.lang.String> getSubTags()

Returns the unmodifiable list of subtags. This list can be empty.

Returns:
  The list of subtags for this language Tag.

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Metadata`

#### includes

    public boolean includes(Metadata included)

Indicates if a given language is included in the current one. The test is true if both languages are equal or if the given language is within the range of the current one. For example, ALL includes all languages. A null language is considered as included into the current one.

Examples:

- ENGLISH.includes(ENGLISH_US) -> true
- ENGLISH_US.includes(ENGLISH) -> false

Specified by:
  `includes` in class `Metadata`
Parameters:
  `included` - The language to test for inclusion.
Returns:
  True if the language type is included in the current one.
See Also:
  `Metadata.isCompatible(Metadata)`