org.whattf.datatype
Class Language

java.lang.Object
  extended by org.whattf.datatype.AbstractDatatype
      extended by org.whattf.datatype.Language
All Implemented Interfaces:
Datatype

public final class Language
extends AbstractDatatype

Version:
$Id: Language.java 219 2007-10-22 19:38:04Z hsivonen $
Author:
hsivonen

Field Summary
private static String[] deprecated
           
private static String[] grandfathered
           
private static Pattern HYPHEN
           
private static String[] languages
           
private static String[][][] prefixesByVariant
           
private static String[] regions
           
private static String[] scripts
           
private static int[] suppressedScriptByLanguage
           
static Language THE_INSTANCE
          The singleton instance.
private static String[] variants
           
 
Fields inherited from interface org.relaxng.datatype.Datatype
ID_TYPE_ID, ID_TYPE_IDREF, ID_TYPE_IDREFS, ID_TYPE_NULL
 
Constructor Summary
private Language()
          Package-private constructor
 
Method Summary
private  void checkPrivateUse(int i, String[] subtags)
           
 void checkValid(CharSequence lit)
           
private  boolean hasGoodPrefix(String[] subtags, int i)
           
private  boolean isDeprecated(String subtag)
           
private  boolean isDigit(char c)
           
private  boolean isDigit(String str)
           
private  boolean isGrandfathered(String literal)
           
private  boolean isLanguage(String subtag)
           
private  boolean isLowerCaseAlpha(char c)
           
private  boolean isLowerCaseAlpha(String str)
           
private  boolean isLowerCaseAlphaNumeric(char c)
           
private  boolean isLowerCaseAlphaNumeric(String str)
           
private  boolean isRegion(String subtag)
           
private  boolean isScript(String subtag)
           
private  boolean isVariant(String subtag)
           
private  boolean prefixMatches(String[] prefix, String[] subtags, int limit)
           
private  boolean shouldSuppressScript(String language, String script)
           
private  boolean subtagsContainPrefixComponent(String prefixComponent, String[] subtags, int limit)
           
 
Methods inherited from class org.whattf.datatype.AbstractDatatype
checkValid, createStreamingValidator, createValue, getIdType, isContextDependent, isValid, isWhitespace, sameValue, toAsciiLowerCase, toAsciiLowerCase, valueHashCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

THE_INSTANCE

public static final Language THE_INSTANCE
The singleton instance.


HYPHEN

private static final Pattern HYPHEN

languages

private static String[] languages

scripts

private static String[] scripts

regions

private static String[] regions

variants

private static String[] variants

grandfathered

private static String[] grandfathered

deprecated

private static String[] deprecated

suppressedScriptByLanguage

private static int[] suppressedScriptByLanguage

prefixesByVariant

private static String[][][] prefixesByVariant
Constructor Detail

Language

private Language()
Package-private constructor

Method Detail

checkValid

public void checkValid(CharSequence lit)
                throws DatatypeException
Specified by:
checkValid in class AbstractDatatype
Throws:
DatatypeException

hasGoodPrefix

private boolean hasGoodPrefix(String[] subtags,
                              int i)

prefixMatches

private boolean prefixMatches(String[] prefix,
                              String[] subtags,
                              int limit)

subtagsContainPrefixComponent

private boolean subtagsContainPrefixComponent(String prefixComponent,
                                              String[] subtags,
                                              int limit)

shouldSuppressScript

private boolean shouldSuppressScript(String language,
                                     String script)

isVariant

private boolean isVariant(String subtag)

isRegion

private boolean isRegion(String subtag)

isScript

private boolean isScript(String subtag)

isLanguage

private boolean isLanguage(String subtag)

checkPrivateUse

private void checkPrivateUse(int i,
                             String[] subtags)
                      throws DatatypeException
Throws:
DatatypeException

isLowerCaseAlphaNumeric

private final boolean isLowerCaseAlphaNumeric(char c)

isLowerCaseAlphaNumeric

private final boolean isLowerCaseAlphaNumeric(String str)

isDigit

private final boolean isDigit(char c)
Parameters:
c -
Returns:

isDigit

private final boolean isDigit(String str)

isLowerCaseAlpha

private final boolean isLowerCaseAlpha(char c)
Parameters:
c -
Returns:

isLowerCaseAlpha

private final boolean isLowerCaseAlpha(String str)

isGrandfathered

private boolean isGrandfathered(String literal)

isDeprecated

private boolean isDeprecated(String subtag)