public final class LowercaseBCP47LanguageHandler extends Object implements LanguageHandler
Modifier and Type | Field and Description |
---|---|
static BCP47LanguageHandler |
BCP47 |
static LanguageHandler |
INSTANCE |
RFC3066, RFC4646
Modifier and Type | Method and Description |
---|---|
boolean |
isRecognizedLanguage(String theLang)
Checks if the given language tag is recognized by this language handler, including cases where the
language tag is recognized, but is not yet normalized.
|
String |
key()
A unique key for this language handler
|
Literal |
normalizeLanguage(String theValue,
String theLang)
Normalize both the language tag and the language if appropriate.
|
String |
normalizeLanguageTag(String theLang)
Normalize the language tag.
|
boolean |
verifyLanguage(String theValue,
String theLang)
Verifies that the language tag is valid, optionally including an automated check on the literal value.
|
public static final LanguageHandler INSTANCE
public static final BCP47LanguageHandler BCP47
public boolean isRecognizedLanguage(@Nonnull String theLang)
isRecognizedLanguage
in interface LanguageHandler
theLang
- The language tag to check.LanguageHandler.verifyLanguage(String, String)
and
LanguageHandler.normalizeLanguage(String, String)
.public boolean verifyLanguage(@Nonnull String theValue, @Nonnull String theLang) throws InvalidLiteral
This method must only be called after verifying that LanguageHandler.isRecognizedLanguage(String)
returns true
for the given language tag.
verifyLanguage
in interface LanguageHandler
theValue
- Literal value matching the given language tag.theLang
- A language tag that matched with LanguageHandler.isRecognizedLanguage(String)
.InvalidLiteral
- If the language tag was not recognized.@Nonnull public Literal normalizeLanguage(@Nonnull String theValue, @Nonnull String theLang) throws InvalidLiteral
This method must only be called after verifying that LanguageHandler.isRecognizedLanguage(String)
returns true
for the given language tag, and LanguageHandler.verifyLanguage(String, String)
also returns true for the given
language and literal value.
normalizeLanguage
in interface LanguageHandler
theValue
- Required literal value to use in the normalization process and to provide the value for the
resulting literal.theLang
- The language tag which is to be normalized. This tag is available in normalized form from the
result using Literal.lang()
.Literal
containing the normalized literal value and language tag.InvalidLiteral
- If the language tag was not recognized or verified, or the literal value could not be
normalized due to an error.@Nonnull public String normalizeLanguageTag(@Nonnull String theLang) throws InvalidLiteral
LanguageHandler
LanguageHandler.verifyLanguage(String, String)
to ensure the language is valid.normalizeLanguageTag
in interface LanguageHandler
theLang
- The language tag which is to be normalized.InvalidLiteral
@Nonnull public String key()
key
in interface LanguageHandler
Copyright © 2010-2016 Stardog Union. All Rights Reserved.