org.codehaus.plexus.i18n
Class I18NTokenizer

java.lang.Object
  extended byorg.codehaus.plexus.i18n.I18NTokenizer
All Implemented Interfaces:
java.util.Iterator

public class I18NTokenizer
extends java.lang.Object
implements java.util.Iterator

Parses the HTTP Accept-Language header as per section 14.4 of RFC 2068 (HTTP 1.1 header field definitions).

Version:
$Id: I18NTokenizer.java 1031 2004-09-23 18:42:42Z jvanzyl $
Author:
Daniel Rall

Nested Class Summary
private  class I18NTokenizer.AcceptLanguage
          Struct representing an element of the HTTP Accept-Language header.
 
Field Summary
private static java.lang.Float DEFAULT_QUALITY
          The default quality value for an AcceptLanguage object.
private static java.lang.String LOCALE_SEPARATOR
          Separates elements of the Accept-Language HTTP header.
private  java.util.ArrayList locales
          The parsed locales.
private static char QUALITY_SEPARATOR
          Separates locale from quality within elements.
 
Constructor Summary
I18NTokenizer(java.lang.String header)
          Parses the Accept-Language header.
 
Method Summary
 boolean hasNext()
           
 java.lang.Object next()
          Creates a Locale from the next element of the Accept-Language header.
 void remove()
          Not implemented.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCALE_SEPARATOR

private static final java.lang.String LOCALE_SEPARATOR
Separates elements of the Accept-Language HTTP header.

See Also:
Constant Field Values

QUALITY_SEPARATOR

private static final char QUALITY_SEPARATOR
Separates locale from quality within elements.

See Also:
Constant Field Values

DEFAULT_QUALITY

private static final java.lang.Float DEFAULT_QUALITY
The default quality value for an AcceptLanguage object.


locales

private java.util.ArrayList locales
The parsed locales.

Constructor Detail

I18NTokenizer

public I18NTokenizer(java.lang.String header)
Parses the Accept-Language header.

Parameters:
header - The Accept-Language header (i.e. en, es;q=0.8, zh-TW;q=0.1).
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator
Returns:
Whether there are more locales.

next

public java.lang.Object next()
Creates a Locale from the next element of the Accept-Language header.

Specified by:
next in interface java.util.Iterator
Returns:
The next highest-rated Locale.
Throws:
java.util.NoSuchElementException - No more locales.

remove

public final void remove()
Not implemented.

Specified by:
remove in interface java.util.Iterator