Package org.apache.sis.util

# Class SimpleInternationalString

Object
AbstractInternationalString
SimpleInternationalString

All Implemented Interfaces:
  `Serializable`, `CharSequence`, `Comparable<InternationalString>`, `Formattable`, `InternationalString`

public class SimpleInternationalString extends AbstractInternationalString implements Serializable
An international string consisting of a single string for all locales. For such a particular case, this implementation is more effective than other implementations provided in this package.

## Instantiation

If the characters sequence to wrap is known to be a `String` instance, then the `SimpleInternationalString(String)` constructor is okay. Otherwise use the `Types​.toInternationalString(CharSequence)` method.

## Immutability and thread safety

This class is immutable and thus inherently thread-safe. Subclasses may or may not be immutable, at implementation choice. But implementers are encouraged to make sure that subclasses remain immutable for more predictable behavior.

Since:
  1.1
See Also:
  - Serialized Form

Defined in the `sis-utility` module

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimpleInternationalString(String text)`
  Creates a new instance from the given string.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object object)`
  Compares this international string with the specified object for equality.
  `int`
  `hashCode()`
  Returns a hash code value for this international text.
  `String`
  `toString()`
  Returns the string representation, which is unique for all locales.
  `String`
  `toString(Locale locale)`
  Returns the same string for all locales.

  ### Methods inherited from class AbstractInternationalString

  `charAt, compareTo, formatTo, length, subSequence`

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface CharSequence

  `chars, codePoints, isEmpty`

- ## Constructor Details

  - ### SimpleInternationalString

    public SimpleInternationalString(String text)
    Creates a new instance from the given string. If the type of the text to wrap is the more generic `CharSequence` interface, then use the `Types​.toInternationalString(CharSequence)` method instead.
    Parameters:
      `text` - the string for all locales.

- ## Method Details

  - ### toString

    public String toString()
    Returns the string representation, which is unique for all locales.
    Specified by:
      `toString` in interface `CharSequence`
    Specified by:
      `toString` in interface `InternationalString`
    Overrides:
      `toString` in class `AbstractInternationalString`
    Returns:
      the string in the default locale.

  - ### toString

    public String toString(Locale locale)
    Returns the same string for all locales. This is the string given to the constructor.
    Specified by:
      `toString` in interface `InternationalString`
    Specified by:
      `toString` in class `AbstractInternationalString`
    Parameters:
      `locale` - ignored in the `SimpleInternationalString` implementation.
    Returns:
      the international string as a `String`.
    See Also:
      - `Locale​.getDefault()`
      - `Locale​.ROOT`

  - ### equals

    public boolean equals(Object object)
    Compares this international string with the specified object for equality.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `object` - the object to compare with this international string.
    Returns:
      `true` if the given object is equal to this string.

  - ### hashCode

    public int hashCode()
    Returns a hash code value for this international text.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      the hash code value.