Class LanguageManager

java.lang.Object
  |
  +--org.xml.sax.helpers.DefaultHandler
        |
        +--LanguageManager
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class LanguageManager
extends org.xml.sax.helpers.DefaultHandler

This class represents Arboreal's knowledge of (natural) languages.

Version:
$2007-03-06 02:02:50 mdh$
Author:
Malcolm D. Hyman

Method Summary
static void addLanguage(Language language)
          Adds a language.
 void characters(char[] ch, int start, int length)
          This is part of the ContentHandler interface.
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
          This is part of the ContentHandler interface.
static int getIndexForID(java.lang.String identifier)
          Returns the index for a language identifier (or an alias).
static Language getLanguageByID(java.lang.String identifier)
          Returns a language by its identifier (or an alias).
static Language getLanguageByIndex(int index)
          Returns a language by its index.
static java.lang.String[] getLanguageNames()
          Returns an array of all language names (full names).
static java.util.List getLanguages()
          Returns all known languages in a canonical order (alphabetically sorted by full name).
static void installDefaultLanguage()
          Sets up the default language.
static java.lang.String normalize(java.lang.String langID)
          Normalizes a language identifier.
static void parse(java.lang.String location)
          Parses a langspecs resource.
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
          This is part of the ContentHandler interface.
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addLanguage

public static void addLanguage(Language language)
Adds a language.
Parameters:
language - language

getLanguages

public static java.util.List getLanguages()
Returns all known languages in a canonical order (alphabetically sorted by full name).
Returns:
list of languages

getLanguageNames

public static java.lang.String[] getLanguageNames()
Returns an array of all language names (full names).
Returns:
array of language names

getLanguageByID

public static Language getLanguageByID(java.lang.String identifier)
Returns a language by its identifier (or an alias). If the language is not known, returns a default language object. (This is a generic language with hardwired properties and not the language specified by the defaultlang property.
Parameters:
identifier - an ISO 639 identifier (e.g., "en")
Returns:
a Language

getIndexForID

public static int getIndexForID(java.lang.String identifier)
Returns the index for a language identifier (or an alias).
Parameters:
identifier - a language identifier (e.g., "en")
Returns:
index in known languages list

getLanguageByIndex

public static Language getLanguageByIndex(int index)
Returns a language by its index.
Parameters:
index - language index
Returns:
a Language

normalize

public static java.lang.String normalize(java.lang.String langID)
Normalizes a language identifier.
Parameters:
langID - language identifier
Returns:
normalized language identifier

installDefaultLanguage

public static void installDefaultLanguage()
Sets up the default language.

parse

public static void parse(java.lang.String location)
Parses a langspecs resource.
Parameters:
location - langspecs URL

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
This is part of the ContentHandler interface.
Overrides:
startElement in class org.xml.sax.helpers.DefaultHandler

endElement

public void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
This is part of the ContentHandler interface.
Overrides:
endElement in class org.xml.sax.helpers.DefaultHandler

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
This is part of the ContentHandler interface.
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler