# Package org.apache.sis.util

package org.apache.sis.util
Simple data objects and miscellaneous utilities. This package provides general purpose static methods working on primitive or basic Java types (`Characters`, `CharSequences`, `StringBuilders`, `Locales`, `Numbers`, `Classes`), arrays (`ArraysExt`) or other standard Java types (`Exceptions`). It defines also general purpose annotations, enumerations and exceptions.

Some other noticeable services are:

- `ObjectConverters`, together with the `ObjectConverter` interface, for converting various kinds of objects.
- `Utilities`, together with the `LenientComparable` interface, for comparing objects in various ways.

Since:
  0.3

Defined in the `sis-utility` module

- Related Packages
  Package
  Description
  org.apache.sis.util.collection
  Addition to the collection framework.
  org.apache.sis.util.iso
  Implementations of GeoAPI types from the `org​.opengis​.util` package.
  org.apache.sis.util.logging
  Extensions to the JDK logging framework.
- Class
  Description
  AbstractInternationalString
  Base class for character strings that has been internationalized into several locales.
  ArgumentChecks
  Static methods for performing argument checks.
  ArraysExt
  Static methods for simple operations on arrays and array elements.
  Characters
  Static methods working on `char` values, and some character constants.
  Characters.Filter
  Subsets of Unicode characters identified by their general category.
  CharSequences
  Static methods working with `CharSequence` instances.
  Classes
  Static methods working on `Class` objects.
  ComparisonMode
  Specifies the level of strictness when comparing two `LenientComparable` objects for equality.
  Configuration
  Annotates methods having a system-wide impact on the configuration of the Apache SIS library.
  CorruptedObjectException
  May be thrown on attempt to use an object which has been corrupted by a previous operation.
  Debug
  Annotates classes or methods that are provided mostly for debugging purpose.
  DefaultInternationalString
  An international string using a map of strings for different locales.
  Deprecable
  Interface of classes for which deprecated instances may exist.
  Disposable
  A resource that can be disposed when waiting for the garbage collector would be overly conservative.
  Emptiable
  Interface of classes for which empty instances may exist.
  Exceptions
  Static methods working with `Exception` instances.
  LenientComparable
  Interfaces of classes for which instances can be compared for equality using different levels of strictness.
  Locales
  Static methods working on `Locale` instances.
  Localized
  Interface of classes for which each instance is configured for a particular locale.
  LocalizedException
  An exception which can produce an error message in the client locale.
  NullArgumentException
  Thrown when a null argument has been given to a method that doesn't accept them.
  Numbers
  Static methods working with `Number` objects, and a few primitive types by extension.
  ObjectConverter<S,T>
  A function which converts instances of source type to instances of target type.
  ObjectConverters
  Static methods for creating `ObjectConverter` instances or collection views based on converters.
  ResourceInternationalString
  An international string backed by a `ResourceBundle`.
  SimpleInternationalString
  An international string consisting of a single string for all locales.
  Static
  Parent of SIS classes that contain only static utility methods, for documentation purpose.
  StringBuilders
  Static methods working on `StringBuilder` instances.
  UnconvertibleObjectException
  Thrown when an object can not be converted from the source type to the target type.
  UnknownNameException
  Thrown when an operation can not complete because a given name is unrecognized.
  UnsupportedImplementationException
  Thrown when an operation can not use arbitrary implementation of an interface, and a given instance does not met the requirement.
  Utilities
  Static methods for object comparisons in different ways (deeply, approximately, etc).
  Version
  Holds a version number as a sequence of strings separated by either a dot or a dash.
  Workaround
  Annotates code containing workarounds for bugs or limitations in an external library.