public interface LanguageHandler
The language handler may optionally provide normalization and verification services for string literals based on the language tags, including translation, grammar and spelling checks. However, this behavior is entirely driven by the user.
Modifier and Type | Field and Description |
---|---|
static String |
RFC3066
Identifier for the language tag format defined by RFC3066, which is
referenced by the RDF specification.
|
static String |
RFC4646
Identifier for the language tag format defined by RFC4646, which obsoletes
RFC3066, but which is not referenced by the RDF specification.
|
Modifier and Type | Method and Description |
---|---|
String |
getKey()
A unique key for this language handler to identify it in the
LanguageHandlerRegistry.
|
boolean |
isRecognizedLanguage(String languageTag)
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.
|
Literal |
normalizeLanguage(String literalValue,
String languageTag,
ValueFactory valueFactory)
Normalize both the language tag and the language if appropriate, and use
the given value factory to generate a literal matching the literal value
and language tag.
|
boolean |
verifyLanguage(String literalValue,
String languageTag)
Verifies that the language tag is valid, optionally including an automated
check on the literal value.
|
static final String RFC3066
static final String RFC4646
boolean isRecognizedLanguage(String languageTag)
languageTag
- The language tag to check.verifyLanguage(String, String)
and
normalizeLanguage(String, String, ValueFactory)
.boolean verifyLanguage(String literalValue, String languageTag) throws LiteralUtilException
This method must only be called after verifying that
isRecognizedLanguage(String)
returns true for the given language
tag.
literalValue
- Literal value matching the given language tag.languageTag
- A language tag that matched with
isRecognizedLanguage(String)
.LiteralUtilException
- If the language tag was not recognized.Literal normalizeLanguage(String literalValue, String languageTag, ValueFactory valueFactory) throws LiteralUtilException
This method must only be called after verifying that
isRecognizedLanguage(String)
returns true for the given language
tag, and verifyLanguage(String, String)
also returns true for the
given language and literal value.
literalValue
- Required literal value to use in the normalization process and to
provide the value for the resulting literal.languageTag
- The language tag which is to be normalized. This tag is available
in normalized form from the result using
Literal.getLanguage()
.valueFactory
- The ValueFactory
to use to create the result literal.Literal
containing the normalized literal value and
language tag.LiteralUtilException
- If the language tag was not recognized or verified, or the literal
value could not be normalized due to an error.String getKey()
Copyright © 2001-2016 Aduna. All Rights Reserved.