Package org.apache.sis.util
Class AbstractInternationalString
Object
AbstractInternationalString
- All Implemented Interfaces:
- CharSequence,- Comparable<InternationalString>,- Formattable,- InternationalString
- Direct Known Subclasses:
- DefaultInternationalString,- ResourceInternationalString,- SimpleInternationalString
public abstract class AbstractInternationalString
extends Object
implements InternationalString, Formattable
Base class for character strings that has been internationalized into several locales.
 The 
InternationalString interface is used instead of the String class
 whenever an attribute needs to be internationalization capable.
 The default value (as returned by toString() and other CharSequence methods)
 is the string in the current system-wide default locale.
 The natural ordering is defined by the value returned by toString().
Substituting a free text by a code list
The ISO standard allows to substitute some character strings in the "free text" domain by aCodeList value. This can be done with:
 - Types.getCodeTitle(CodeList)for getting the- InternationalStringinstance to store in a metadata property.
- Types.forCodeTitle(CharSequence)for retrieving the- CodeListpreviously stored as an- InternationalString.
- Since:
- 1.1
Defined in the sis-utility module
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedConstructs an international string.
- 
Method SummaryModifier and TypeMethodDescriptioncharcharAt(int index) Returns the character of the string in the default locale at the specified index.intcompareTo(InternationalString object) Compares this string with the specified object for order.voidFormats this international string using the given formatter.intlength()Returns the length of the string in the default locale.subSequence(int start, int end) Returns a subsequence of the string in the default locale.Returns this string in the default locale.abstract StringReturns this string in the given locale.Methods inherited from class Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface CharSequencechars, codePoints, isEmpty
- 
Constructor Details- 
AbstractInternationalStringprotected AbstractInternationalString()Constructs an international string.
 
- 
- 
Method Details- 
lengthpublic int length()Returns the length of the string in the default locale. This is the length of the string returned bytoString().- Specified by:
- lengthin interface- CharSequence
- Returns:
- length of the string in the default locale.
 
- 
charAtReturns the character of the string in the default locale at the specified index. This is a character of the string returned bytoString().- Specified by:
- charAtin interface- CharSequence
- Parameters:
- index- the index of the character.
- Returns:
- the character at the specified index.
- Throws:
- IndexOutOfBoundsException- if the specified index is out of bounds.
 
- 
subSequenceReturns a subsequence of the string in the default locale. The subsequence is aStringobject starting with the character value at the specified index and ending with the character value at indexend - 1.- Specified by:
- subSequencein interface- CharSequence
- Parameters:
- start- the start index, inclusive.
- end- the end index, exclusive.
- Returns:
- the specified subsequence.
- Throws:
- IndexOutOfBoundsException- if- startor- endis out of range.
 
- 
toStringReturns this string in the given locale. If no string is available in the given locale, then some fallback locale is used. The fallback locale is implementation-dependent, and is not necessarily the same than the default locale used by thetoString()method.Handling ofLocale.ROOTargument valueLocale.ROOTcan be given to this method for requesting a "unlocalized" string, typically some programmatic values like enumerations or identifiers. While identifiers often look like English words,Locale.ROOTis not considered synonymous toLocale.ENGLISHbecause the values may differ in the way numbers and dates are formatted (e.g. using the ISO 8601 standard for dates instead of English conventions).Handling ofThenullargument valueLocale.ROOTconstant is new in Java 6. Some other libraries designed for Java 5 use thenullvalue for "unlocalized" strings. Apache SIS acceptsnullvalue for inter-operability with those libraries. However, the behavior is implementation dependent: some subclasses will takenullas a synonymous of the system default locale, while other subclasses will takenullas a synonymous of the root locale. In order to ensure determinist behavior, client code are encouraged to specify only non-null values.- Specified by:
- toStringin interface- InternationalString
- Parameters:
- locale- the desired locale for the string to be returned.
- Returns:
- the string in the given locale if available, or in an implementation-dependent fallback locale otherwise.
- See Also:
 
- 
toStringReturns this string in the default locale. Invoking this method is equivalent to invokingtoString(Locale.getDefault()).All methods from CharSequenceoperate on this string. This string is also used as the criterion for natural ordering.- Specified by:
- toStringin interface- CharSequence
- Specified by:
- toStringin interface- InternationalString
- Overrides:
- toStringin class- Object
- Returns:
- the string in the default locale.
 
- 
formatToFormats this international string using the given formatter. This method appends the string obtained by:toString(formatter.Formatter.locale())- Specified by:
- formatToin interface- Formattable
- Parameters:
- formatter- the formatter to use for formatting this string.
- flags- a bitmask of- FormattableFlagsvalues.
- width- the minimum number of characters, or -1 if none.
- precision- the maximum number of characters (before expanding to the- width), or -1 for no restriction.
 
- 
compareToCompares this string with the specified object for order. This method compares the string in the default locale, as returned bytoString().- Specified by:
- compareToin interface- Comparable<InternationalString>
- Parameters:
- object- the string to compare with this string.
- Returns:
- a negative number if this string is before the given string, a positive number if after, or 0 if equals.
 
 
-