# Serialized Form

- ## Package org.apache.sis.console

  - ### Exception InvalidCommandException

    class InvalidCommandException extends Exception implements Serializable
    serialVersionUID:
      4751525514150949949L

    - #### Serialized Fields

      - ##### command

            String command

        The name of the invalid command.

  - ### Exception InvalidOptionException

    class InvalidOptionException extends Exception implements Serializable
    serialVersionUID:
      2947996310387227986L

    - #### Serialized Fields

      - ##### option

            String option

        The name of the invalid option.

- ## Package org.apache.sis.coverage

  - ### Exception CannotEvaluateException

    class CannotEvaluateException extends RuntimeException implements Serializable

  - ### Class Category

    class Category extends Object implements Serializable
    serialVersionUID:
      2630516005075467646L

    - #### Serialized Fields

      - ##### converse

            Category converse

        The category that describes values after transfer function has been applied, or if this category is already converted then the original category. Never null, but may be `this` if the transfer function is the identity function.

        This field establishes a bidirectional navigation between sample values and real values. This is in contrast with methods named `converted()`, which establish a unidirectional navigation from sample values to real values.

        See Also:
          - `Category.converted()`
          - `CategoryList.converse`
          - `SampleDimension.converse`

      - ##### name

            InternationalString name

        The category name.
        See Also:
          - `Category.getName()`

      - ##### range

            NumberRange<?> range

        The [minimum … maximum] range of values in this category (never `null`). Notes:
        - The minimum and maximum values may be one of the NaN values (see below).
        - The value type may be different than `Double` (typically `Integer`).
        - The bounds may be exclusive instead of inclusive.
        - The range may be an instance of `MeasurementRange` if the `Category.toConverse` is identity and the units of measurement are known.
        The range may be `NaN` if this category is a qualitative category converted to real values. Those categories are characterized by two apparently contradictory properties, and are implemented using `Float.NaN` values:
        - This category is member of a `SampleDimension` having an identity transfer function.
        - The transfer function of this category is absent (because this category is qualitative).
        See Also:
          - `Category.getSampleRange()`

      - ##### toConverse

            MathTransform1D toConverse

        The conversion from sample values to real values (or conversely), never `null` even for qualitative categories. In the case of qualitative categories, this transfer function shall map to `NaN` values or conversely. In the case of sample values that are already in the units of measurement, this transfer function shall be the identity function.
        See Also:
          - `Category.getTransferFunction()`

  - ### Exception IllegalSampleDimensionException

    class IllegalSampleDimensionException extends IllegalArgumentException implements Serializable
    serialVersionUID:
      6564945210063482395L

  - ### Exception MismatchedCoverageRangeException

    class MismatchedCoverageRangeException extends IllegalArgumentException implements Serializable
    serialVersionUID:
      -8484971745880403661L

  - ### Exception PointOutsideCoverageException

    class PointOutsideCoverageException extends CannotEvaluateException implements Serializable

  - ### Class SampleDimension

    class SampleDimension extends Object implements Serializable
    serialVersionUID:
      -4966135180995819364L

    - #### Serialized Fields

      - ##### background

            Number background

        The background value, or `null` if unspecified. Should be a sample value of a qualitative category in the `SampleDimension.categories` list, but this is not mandatory.
        See Also:
          - `SampleDimension.getBackground()`

      - ##### categories

            CategoryList categories

        The list of categories making this sample dimension. May be empty but shall never be null.

      - ##### converse

            SampleDimension converse

        The `SampleDimension` that describes values after transfer function has been applied, or if this `SampleDimension` is already converted then the original sample dimension. May be `null` if this sample dimension has no transfer function, or `this` if the transfer function is the identity function.

        This field establishes a bidirectional navigation between sample values and real values. This is in contrast with methods named `SampleDimension.converted()`, which establish a unidirectional navigation from sample values to real values.

        See Also:
          - `SampleDimension.converted()`
          - `Category.converse`
          - `CategoryList.converse`

      - ##### name

            GenericName name

        Identification for this sample dimension. Typically used as a way to perform a band select by using human comprehensible descriptions instead of just numbers. Web Coverage Service (WCS) can use this name in order to perform band sub-setting as directed from a user request.
        See Also:
          - `SampleDimension.getName()`

      - ##### transferFunction

            MathTransform1D transferFunction

        The transform from samples to real values. May be `null` if this sample dimension does not define any transform (which is not the same than defining an identity transform).
        See Also:
          - `SampleDimension.getTransferFunction()`

  - ### Exception SubspaceNotSpecifiedException

    class SubspaceNotSpecifiedException extends CannotEvaluateException implements Serializable
    serialVersionUID:
      -8993517725073815199L

- ## Package org.apache.sis.coverage.grid

  - ### Exception DisjointExtentException

    class DisjointExtentException extends IllegalGridGeometryException implements Serializable
    serialVersionUID:
      -1437479443547738220L

  - ### Class FractionalGridCoordinates

    class FractionalGridCoordinates extends Object implements Serializable
    serialVersionUID:
      5652265407347129550L

    - #### Serialized Fields

      - ##### coordinates

            double[] coordinates

        The grid coordinates as floating-point numbers.

  - ### Class GridExtent

    class GridExtent extends Object implements Serializable
    serialVersionUID:
      -4717353677844056017L

    - #### Serialized Fields

      - ##### coordinates

            long[] coordinates

        Minimum and maximum grid coordinates. The first half contains minimum coordinates (inclusive), while the last half contains maximum coordinates (inclusive). Note that the later inclusiveness is the opposite of Java2D usage but conforms to ISO specification.

      - ##### types

            DimensionNameType[] types

        Type of each axis (vertical, temporal, …) or `null` if unspecified. If non-null, the array length shall be equal to `GridExtent.getDimension()`. Any array element may be null if unspecified for that particular axis. The same array may be shared by many `GridExtent` instances.
        See Also:
          - `GridExtent.getAxisType(int)`

  - ### Class GridGeometry

    class GridGeometry extends Object implements Serializable
    serialVersionUID:
      -954786616001606624L

    - #### Serialized Fields

      - ##### cornerToCRS

            MathTransform cornerToCRS

        Same conversion than `GridGeometry.gridToCRS` but from cell corner instead of center. This transform is preferable to `gridToCRS` for transforming envelopes.
        This field is serialized because it may be a value specified explicitly at construction time, in which case it can be more accurate than a computed value.

      - ##### envelope

            ImmutableEnvelope envelope

        The geodetic envelope, or `null` if unknown. If non-null, this envelope is usually the grid `GridGeometry.extent` transformed to real world coordinates. The Coordinate Reference System} (CRS) of this envelope defines the "real world" CRS of this grid geometry.
        See Also:
          - `GridGeometry.ENVELOPE`
          - `GridGeometry.getEnvelope()`

      - ##### extent

            GridExtent extent

        The valid domain of a grid coverage, or `null` if unknown. The lowest valid grid coordinate is zero for `BufferedImage`, but may be non-zero for arbitrary `RenderedImage`. A grid with 512 cells can have a minimum coordinate of 0 and maximum of 511.
        See Also:
          - `GridGeometry.EXTENT`
          - `GridGeometry.getExtent()`

      - ##### gridToCRS

            MathTransform gridToCRS

        The conversion from grid indices to "real world" coordinates, or `null` if unknown. If non-null, the conversion shall map cell center. This conversion is usually, but not necessarily, affine.
        See Also:
          - `GridGeometry.CRS`
          - `GridGeometry.getGridToCRS(PixelInCell)`
          - `PixelInCell.CELL_CENTER`

      - ##### nonLinears

            long nonLinears

        Whether the conversions from grid coordinates to the CRS are linear, for each target axis. The bit located at `1L << dimension` is set to 1 when the conversion at that dimension is non-linear. The dimension indices are those of the CRS, not the grid. The use of `long` type limits the capacity to 64 dimensions. But actually `GridGeometry` can contain more dimensions provided that index of the last non-linear dimension is not greater than 64.
        See Also:
          - `GridGeometry.isConversionLinear(int...)`

      - ##### resolution

            double[] resolution

        An estimation of the grid resolution, in units of the CRS axes. Computed from `GridGeometry.gridToCRS`, eventually together with `GridGeometry.extent`. May be `null` if unknown. If non-null, the array length is equals to the number of CRS dimensions.
        See Also:
          - `GridGeometry.RESOLUTION`
          - `GridGeometry.getResolution(boolean)`

  - ### Class GridOrientation

    class GridOrientation extends Object implements Serializable
    serialVersionUID:
      -1354776950822418237L

    - #### Serialized Fields

      - ##### canReorderGridAxis

            boolean canReorderGridAxis

        Whether `GridExtent` can be rewritten with a different axis order for matching the CRS axis order specified by `GridOrientation.crsVariant`. If `false`, then axis order changes will be handled in the `gridToCRS` transform instead.
        See Also:
          - `GridOrientation.canReorderGridAxis(boolean)`

      - ##### crsVariant

            AxesConvention crsVariant

        If the user-specified CRS should be substituted by a variant of that CRS, the variant to use. Otherwise `null`. If non-null, either the `gridToCRS` matrix may be non-diagonal or the `GridExtent` axes may be ordered, depending on `GridOrientation.canReorderGridAxis` value.
        See Also:
          - `GridOrientation.useVariantOfCRS(AxesConvention)`

      - ##### flippedAxes

            long flippedAxes

        Set of grid axes to reverse, as a bit mask. For any dimension i, the bit at `1L << i` is set to 1 if the grid axis at that dimension should be flipped. This is the argument to give in calls to `GridExtent.cornerToCRS(Envelope, long, int[])`.
        See Also:
          - `GridOrientation.flipGridAxis(int)`

  - ### Exception IllegalGridGeometryException

    class IllegalGridGeometryException extends IllegalArgumentException implements Serializable
    serialVersionUID:
      -7849140502096470380L

  - ### Exception IncompleteGridGeometryException

    class IncompleteGridGeometryException extends IllegalStateException implements Serializable
    serialVersionUID:
      -7386283388753448743L

  - ### Class PixelTranslation

    class PixelTranslation extends Static implements Serializable
    serialVersionUID:
      -5671620211497720808L

    - #### Serialized Fields

      - ##### dx

            double dx

        The translation among the x axis relative to pixel center. The value is typically −½, 0 or +½.

      - ##### dy

            double dy

        The translation among the y axis relative to pixel center. The value is typically −½, 0 or +½.

      - ##### orientation

            PixelOrientation orientation

        The pixel orientation for this translation. Most common values are `PixelOrientation.UPPER_LEFT` and `PixelOrientation.CENTER`.

- ## Package org.apache.sis.feature

  - ### Class AbstractAssociation

    class AbstractAssociation extends Field<AbstractFeature> implements Serializable
    serialVersionUID:
      5992169056331267867L

    - #### Serialized Fields

      - ##### role

            DefaultAssociationRole role

        Information about the association.

  - ### Class AbstractAttribute

    class AbstractAttribute extends Field<V> implements Serializable
    serialVersionUID:
      7442739120526654676L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring the `AbstractAttribute.characteristics` field.
        Parameters:
          `in` - the input stream from which to deserialize an attribute.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Invoked on serialization for saving the `AbstractAttribute.characteristics` field.
        Parameters:
          `out` - the output stream where to serialize this attribute.
        Throws:
          `IOException` - if an I/O error occurred while writing.

    - #### Serialized Fields

      - ##### type

            DefaultAttributeType<V> type

        Information about the attribute (base Java class, domain of values, etc.).

  - ### Class AbstractFeature

    class AbstractFeature extends Object implements Serializable
    serialVersionUID:
      -5637918246427380190L

    - #### Serialized Fields

      - ##### type

            DefaultFeatureType type

        Information about the feature (name, characteristics, etc.).

  - ### Class AbstractIdentifiedType

    class AbstractIdentifiedType extends Object implements Serializable
    serialVersionUID:
      277130188958446740L

    - #### Serialized Fields

      - ##### definition

            InternationalString definition

        Concise definition of the element.
        See Also:
          - `AbstractIdentifiedType.getDefinition()`
          - `AbstractIdentifiedType.DEFINITION_KEY`

      - ##### deprecated

            boolean deprecated

        `true` if this type is deprecated.
        See Also:
          - `AbstractIdentifiedType.isDeprecated()`
          - `AbstractIdentifiedType.DEPRECATED_KEY`

      - ##### description

            InternationalString description

        Optional information beyond that required for concise definition of the element. The description may assist in understanding the element scope and application.
        See Also:
          - `AbstractIdentifiedType.getDescription()`
          - `AbstractIdentifiedType.DESCRIPTION_KEY`

      - ##### designation

            InternationalString designation

        Natural language designator for the element. This can be used as an alternative to the AbstractIdentifiedType.name in user interfaces.
        See Also:
          - `AbstractIdentifiedType.getDesignation()`
          - `AbstractIdentifiedType.DESIGNATION_KEY`

      - ##### name

            GenericName name

        The name of this type.
        See Also:
          - `AbstractIdentifiedType.getName()`
          - `AbstractIdentifiedType.NAME_KEY`

  - ### Class AbstractOperation

    class AbstractOperation extends AbstractIdentifiedType implements Serializable
    serialVersionUID:
      -179930765502963170L

  - ### Class DefaultAssociationRole

    class DefaultAssociationRole extends FieldType implements Serializable
    serialVersionUID:
      1592712639262027124L

    - #### Serialized Fields

      - ##### valueType

            FeatureType valueType

        The type of feature instances to be associated.
        See Also:
          - `DefaultAssociationRole.getValueType()`

  - ### Class DefaultAttributeType

    class DefaultAttributeType extends FieldType implements Serializable
    serialVersionUID:
      -817024213677735239L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring the `DefaultAttributeType.characteristics` field.
        Parameters:
          `in` - the input stream from which to deserialize an attribute type.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Invoked on serialization for saving the `DefaultAttributeType.characteristics` field.
        Parameters:
          `out` - The output stream where to serialize this attribute type.
        Throws:
          `IOException` - if an I/O error occurred while writing.

    - #### Serialized Fields

      - ##### defaultValue

            V defaultValue

        The default value for the attribute, or `null` if none.
        See Also:
          - `DefaultAttributeType.getDefaultValue()`

      - ##### valueClass

            Class<V> valueClass

        The class that describe the type of attribute values.
        See Also:
          - `DefaultAttributeType.getValueClass()`

  - ### Class DefaultFeatureType

    class DefaultFeatureType extends AbstractIdentifiedType implements Serializable
    serialVersionUID:
      -4357370600723922312L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring the `DefaultFeatureType.byName` and other transient fields.
        Parameters:
          `in` - the input stream from which to deserialize a feature type.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### isAbstract

            boolean isAbstract

        If `true`, the feature type acts as an abstract super-type.
        See Also:
          - `DefaultFeatureType.isAbstract()`

      - ##### properties

            List<AbstractIdentifiedType> properties

        Any feature operation, any feature attribute type and any feature association role that carries characteristics of a feature type. This list does not include the properties inherited from the super-types.
        See Also:
          - `DefaultFeatureType.getProperties(boolean)`

      - ##### superTypes

            Set<DefaultFeatureType> superTypes

        The direct parents of this feature type, or an empty set if none.
        See Also:
          - `DefaultFeatureType.getSuperTypes()`

  - ### Class FeatureFormat

    class FeatureFormat extends TabularFormat<Object> implements Serializable
    serialVersionUID:
      -5792086817264884947L

    - #### Serialized Fields

      - ##### columns

            EnumSet<FeatureFormat.Column> columns

        The columns to include in the table formatted by this `FeatureFormat`. By default, all columns having at least one value are included.

      - ##### displayLocale

            Locale displayLocale

        The locale for international strings.

- ## Package org.apache.sis.geometry

  - ### Class CoordinateFormat

    class CoordinateFormat extends CompoundFormat<DirectPosition> implements Serializable
    serialVersionUID:
      6633388113040644304L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring some transient fields.
        Parameters:
          `in` - the input stream from which to deserialize a coordinate format
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### defaultCRS

            CoordinateReferenceSystem defaultCRS

        The coordinate reference system to assume if no CRS is attached to the position to format. May be `null`.
        See Also:
          - `CoordinateFormat.setDefaultCRS(CoordinateReferenceSystem)`

      - ##### desiredPrecisions

            double[] desiredPrecisions

        The desired precisions for each coordinate, or `null` if unspecified. The unit of measurement is given by `CoordinateSystemAxis.getUnit()`. The length of this array does not need to be equal to the number of dimensions; extraneous values are ignored and missing values are assumed equal to 0. A value of 0 means to use the default precision for that dimension.

        Note that this is the precision specified by the user, which may differ from the precision returned by `CoordinateFormat.getPrecisions()`.

        See Also:
          - `CoordinateFormat.setPrecisions(double...)`
          - `CoordinateFormat.getPrecisions()`

      - ##### groundAccuracy

            Quantity<?> groundAccuracy

        The declared accuracy on ground, or `null` if unspecified. The accuracy applies to the same axes than `CoordinateFormat.groundPrecision`. But contrarily to `groundPrecision`, the accuracy does not change the number of fraction digits used by `NumberFormat`. Instead it causes a text such as "± 30 m" to be appended after the coordinates.
        See Also:
          - `CoordinateFormat.accuracyText`
          - `CoordinateFormat.groundDimensions`
          - `CoordinateFormat.accuracyThreshold`
          - `CoordinateFormat.setGroundAccuracy(Quantity)`

      - ##### groundPrecision

            Quantity<?> groundPrecision

        The desired ground precision, or `null` if unspecified. This precision may not apply to all axes. The "ground axes" dimensions are identified by the bits set in the `CoordinateFormat.groundDimensions` bitmask.
        See Also:
          - `CoordinateFormat.groundDimensions`
          - `CoordinateFormat.setGroundPrecision(Quantity)`

      - ##### separator

            String separator

        The separator between each coordinate values to be formatted. The default value is a EM space space (U+2003).
        See Also:
          - `CoordinateFormat.getSeparator()`
          - `CoordinateFormat.setSeparator(String)`

  - ### Class DirectPosition1D

    class DirectPosition1D extends AbstractDirectPosition implements Serializable
    serialVersionUID:
      -8318842301025970006L

    - #### Serialized Fields

      - ##### coordinate

            double coordinate

        The coordinate value.

      - ##### crs

            CoordinateReferenceSystem crs

        The coordinate reference system for this position;

  - ### Class DirectPosition2D

    class DirectPosition2D extends Point2D.Double implements Serializable
    serialVersionUID:
      6063110617109934018L

    - #### Serialized Fields

      - ##### crs

            CoordinateReferenceSystem crs

        The coordinate reference system for this position;

  - ### Class Envelope2D

    class Envelope2D extends Rectangle2D.Double implements Serializable
    serialVersionUID:
      761232175464415062L

    - #### Serialized Fields

      - ##### crs

            CoordinateReferenceSystem crs

        The coordinate reference system, or `null`.

  - ### Class GeneralDirectPosition

    class GeneralDirectPosition extends AbstractDirectPosition implements Serializable
    serialVersionUID:
      -1775358214919832302L

    - #### Serialized Fields

      - ##### coordinates

            double[] coordinates

        The coordinates of the direct position. The length of this array is the dimension of this direct position.

      - ##### crs

            CoordinateReferenceSystem crs

        The coordinate reference system for this position, or `null`.

  - ### Class GeneralEnvelope

    class GeneralEnvelope extends ArrayEnvelope implements Serializable
    serialVersionUID:
      3796799507279068254L

  - ### Class ImmutableEnvelope

    class ImmutableEnvelope extends ArrayEnvelope implements Serializable
    serialVersionUID:
      8740224085449107870L

  - ### Exception MismatchedReferenceSystemException

    class MismatchedReferenceSystemException extends IllegalArgumentException implements Serializable
    serialVersionUID:
      6222334569692693273L

  - ### Exception UnmodifiableGeometryException

    class UnmodifiableGeometryException extends UnsupportedOperationException implements Serializable
    serialVersionUID:
      8679047625299612669L

- ## Package org.apache.sis.image

  - ### Class TransferType

    class TransferType extends Object implements Serializable
    serialVersionUID:
      -2891665589742927570L

    - #### Serialization Methods

      - ##### readResolve

        Object readResolve() throws ObjectStreamException
        Returns a unique instance on deserialization.
        Throws:
          `ObjectStreamException` - if the serialized object defines an unknown data type.

    - #### Serialized Fields

      - ##### dataBufferType

            int dataBufferType

        The type as one of the `DataBuffer` constants. This is the value returned by `Raster.getTransferType()`.

- ## Package org.apache.sis.index.tree

  - ### Class PointTree

    class PointTree extends AbstractSet<E> implements Serializable
    serialVersionUID:
      488727778652772913L

    - #### Serialized Fields

      - ##### count

            long count

        Number of elements in this k-dimensional tree. This is used as an unsigned integer (we do not expect to have as many elements, but in this case it is easy to get the extra bit provided by unsigned integer).
        See Also:
          - `PointTree.size()`

      - ##### crs

            CoordinateReferenceSystem crs

        The coordinate reference system, or `null` if none.
        See Also:
          - `PointTree.getCoordinateReferenceSystem()`

      - ##### elementType

            Class<E> elementType

        The type of elements in this set.
        See Also:
          - `PointTree.getElementType()`

      - ##### locator

            PointTree.Locator<? super E> locator

        Function computing the position of any element in this tree. The length of arrays computed by this locator must be equal to `PointTree.getDimension()`.

      - ##### nodeCapacity

            int nodeCapacity

        The maximal capacity of each node in this tree. It should be a relatively small number. If the number of elements in a leaf node exceeds this capacity, then the node will be transformed into a parent node with children nodes.

      - ##### parallel

            boolean parallel

        Whether the stream can be parallel by default. Should be `false` if the `PointTree.locator` is not thread-safe.

      - ##### root

            PointTreeNode root

        The root node of this k-dimensional tree.

      - ##### treeRegion

            double[] treeRegion

        The regions covered by this tree, encoded as a center and a size. This array contains two parts:
        - The first half contains coordinates of the point in the center of the region covered by this tree.
        - The second half contains the size of the region along each dimension.
        The length of this array is two times the number of dimensions of points in this tree. This array content should not be modified, unless the entire tree is rebuilt (keep in mind that this array may be shared by `PointTree` copies).

- ## Package org.apache.sis.io

  - ### Class CompoundFormat

    class CompoundFormat extends Format implements Serializable
    serialVersionUID:
      -689151528653024968L

    - #### Serialized Fields

      - ##### locale

            Locale locale

        The locale given at construction time, or `Locale.ROOT` (never `null`) for unlocalized format. See `CompoundFormat.getLocale()` for more information on `ROOT` locale.
        See Also:
          - `CompoundFormat.getLocale()`

      - ##### timezone

            TimeZone timezone

        The timezone given at construction time, or `null` for UTC.
        See Also:
          - `CompoundFormat.getTimeZone()`

  - ### Exception InvalidSeekException

    class InvalidSeekException extends IOException implements Serializable
    serialVersionUID:
      -3327667930906602606L

  - ### Class TabularFormat

    class TabularFormat extends CompoundFormat<T> implements Serializable
    serialVersionUID:
      -4556687020021477908L

    - #### Serialized Fields

      - ##### beforeFill

            String beforeFill

        The string to write before the `TabularFormat.fillCharacter`, or an empty string if none. This is the sequence of characters before the "`[ ]`" pair of brackets in the pattern given to the `TabularFormat.setColumnSeparatorPattern(String)` method.

      - ##### columnSeparator

            String columnSeparator

        The string to write after the `TabularFormat.fillCharacter`, or an empty string if none. This is the sequence of characters after the "`[ ]`" pair of brackets in the pattern given to the `TabularFormat.setColumnSeparatorPattern(String)` method.

      - ##### fillCharacter

            char fillCharacter

        The character to repeat after the content of a cell for alignment with the next column. This is the character between the "`[ ]`" pair of brackets in the pattern given to the `TabularFormat.setColumnSeparatorPattern(String)` method.

        Subclasses will typically use this value in calls to `TableAppender.nextColumn(char)`.

      - ##### isParsePatternDefined

            boolean isParsePatternDefined

        `true` if the user defined the parsing pattern explicitly.

      - ##### lineSeparator

            String lineSeparator

        The line separator to use for formatting the tree. The default value is system-dependent.
        See Also:
          - `TabularFormat.getLineSeparator()`
          - `TabularFormat.setLineSeparator(String)`

      - ##### omitTrailingNulls

            boolean omitTrailingNulls

        `true` if the trailing `null` values shall be omitted at formatting time. This flag is controlled by the presence or absence of the `'?'` character at the beginning of the pattern given to the `TabularFormat.setColumnSeparatorPattern(String)` method.

      - ##### parsePattern

            Pattern parsePattern

        The pattern used at parsing time for finding the column separators, or `null` if not yet constructed. This field is serialized because it may be a user-specified pattern. The same `Pattern` instance can be safely shared by many `TabularFormat` instances.

- ## Package org.apache.sis.io.wkt

  - ### Class Colors

    class Colors extends Object implements Serializable
    serialVersionUID:
      256160285861027191L

    - #### Serialization Methods

      - ##### readResolve

        final Object readResolve() throws ObjectStreamException
        Replaces the deserialized instance by `Colors.DEFAULT` one if possible.
        Throws:
          `ObjectStreamException` - required by specification but should never be thrown.

    - #### Serialized Fields

      - ##### isImmutable

            boolean isImmutable

        `true` if this instance shall be considered as immutable.

      - ##### map

            EnumMap<ElementKind,X364> map

        The map of colors. Consider this field as final — it is modified only by `Colors.clone()`.

  - ### Class Symbols

    class Symbols extends Object implements Serializable
    serialVersionUID:
      -1730166945430878916L

    - #### Serialization Methods

      - ##### readResolve

        final Object readResolve() throws ObjectStreamException
        Invoked on deserialization for replacing the deserialized instance by the constant instance. This method also opportunistically recompute the `Symbols.quote` field if no replacement is done.
        Throws:
          `ObjectStreamException` - required by specification but should never be thrown.

    - #### Serialized Fields

      - ##### brackets

            int[] brackets

        List of characters (as Unicode code points) acceptable as opening or closing brackets. The array shall comply to the following restrictions:
        - The characters at index 0 and 1 are the preferred opening and closing brackets respectively.
        - For each even index i, `brackets[i+1]` is the closing bracket matching `brackets[i]`.
        See Also:
          - `Symbols.getOpeningBracket(int)`
          - `Symbols.getClosingBracket(int)`

      - ##### closeSequence

            int closeSequence

        The character (as Unicode code point) used for opening (`openSequence`) or closing (`closeSequence`) an array or enumeration.

      - ##### isImmutable

            boolean isImmutable

        `true` if this instance shall be considered as immutable.

      - ##### locale

            Locale locale

        The locale of decimal format symbols or other symbols.
        See Also:
          - `Symbols.getLocale()`

      - ##### openSequence

            int openSequence

        The character (as Unicode code point) used for opening (`openSequence`) or closing (`closeSequence`) an array or enumeration.

      - ##### quotes

            int[] quotes

        List of characters (as Unicode code point) used for opening or closing a quoted text. The array shall comply to the following restrictions:
        - The characters at index 0 and 1 are the preferred opening and closing quotes respectively.
        - For each even index i, `quotes[i+1]` is the closing quote matching `quotes[i]`.
        Both opening and closing quotes are usually `'"'`.

      - ##### separator

            String separator

        The string used as a separator in a list of values. This is usually `", "`, but may be different if a non-English locale is used for formatting numbers.

  - ### Class Transliterator

    class Transliterator extends Object implements Serializable
    serialVersionUID:
      7115456393795045932L

  - ### Exception UnformattableObjectException

    class UnformattableObjectException extends UnsupportedOperationException implements Serializable
    serialVersionUID:
      3623766455562385536L

  - ### Exception UnparsableObjectException

    class UnparsableObjectException extends ParseException implements Serializable
    serialVersionUID:
      5949195205739826024L

  - ### Class Warnings

    class Warnings extends Object implements Serializable
    serialVersionUID:
      -1825161781642905329L

    - #### Serialized Fields

      - ##### errorLocale

            Locale errorLocale

        The locale in which warning messages are reported. Not necessarily the same than the locale for number and date parsing or formatting.
        See Also:
          - `Warnings.getLocale()`

      - ##### exceptionSources

            Map<Exception,String[]> exceptionSources

        The keywords of elements in which exception occurred. Initially `null` and created when first needed.

        For each `String[]` value, the first array element shall be the keyword of the WKT element in which the exception occurred. The second array element shall be the parent of above-cited first element. Other array elements can optionally be present for declaring the parents of the parent, but they will be ignored by this `Warnings` implementation.

      - ##### ignoredElements

            Map<String,List<String>> ignoredElements

        Keyword of unknown elements. This is initially a direct reference to the `AbstractParser.ignoredElements` map, which is okay only until a new parsing start. If this `Warnings` instance is given to the user, then the `Warnings.publish()` method must be invoked in order to copy this map.
        See Also:
          - `AbstractParser.ignoredElements`

      - ##### isParsing

            boolean isParsing

        `false` if the warnings occurred while formatting, or `true` if they occurred while parsing.

      - ##### messages

            List<Object> messages

        Warning messages or exceptions emitted during parsing or formatting. Initially `null` and created when first needed.

        Objects in this list must be a sequence of the following tuple:

        - An optional message as an `InternationalString`.
        - An optional warning cause as an `Exception`.
        Any element of the above tuple can be null, but at least one element must be non-null.
        See Also:
          - `Warnings.add(InternationalString, Exception, String[])`

      - ##### published

            boolean published

        `true` if `Warnings.publish()` has been invoked.

      - ##### root

            String root

        Name identifier or class name of the root object being parsed or formatted.
        See Also:
          - `Warnings.setRoot(Object)`

  - ### Class WKTFormat

    class WKTFormat extends CompoundFormat<Object> implements Serializable
    serialVersionUID:
      -2909110214650709560L

    - #### Serialized Fields

      - ##### authority

            Citation authority

        The preferred authority for objects or parameter names. A `null` value means that the authority shall be inferred from the WKTFormat.convention.

      - ##### colors

            Colors colors

        The immutable set of colors to use for this formatter, or `null` for no syntax coloring. The default value is `null`. The same object is also referenced in the WKTFormat.formatter. It appears here for serialization purpose.
        See Also:
          - `WKTFormat.setColors(Colors)`

      - ##### convention

            Convention convention

        The convention to use. The same object is also referenced in the WKTFormat.formatter. It appears here for serialization purpose.

      - ##### fragments

            Map<String,StoredTree> fragments

        WKT fragments that can be inserted in longer WKT strings, or `null` if none. Keys are short identifiers and values are WKT subtrees to substitute to the identifiers when they are found in a WKT to parse. The same map instance may be shared by different clones as long as they are not modified.
        See Also:
          - `WKTFormat.fragments(boolean)`

      - ##### indentation

            byte indentation

        The amount of spaces to use in indentation, or -1 if indentation is disabled. The same value is also stored in the WKTFormat.formatter. It appears here for serialization purpose.

      - ##### keywordCase

            KeywordCase keywordCase

        Whether WKT keywords shall be formatted in upper case.

      - ##### keywordStyle

            KeywordStyle keywordStyle

        Whether to use short or long WKT keywords.

      - ##### listSizeLimit

            int listSizeLimit

        Maximum number of elements to show in lists, or `Integer.MAX_VALUE` if unlimited. If a list is longer than this length, only the first and the last elements will be shown. This limit applies in particular to `MathTransform` parameter values of `double[]` type, since those parameters may be large interpolation tables.
        See Also:
          - `WKTFormat.getMaximumListElements()`

      - ##### symbols

            Symbols symbols

        The immutable set of symbols to use for this formatter. The same object is also referenced in the WKTFormat.parser and WKTFormat.formatter. It appears here for serialization purpose.
        See Also:
          - `WKTFormat.setSymbols(Symbols)`

      - ##### transliterator

            Transliterator transliterator

        `Transliterator.IDENTITY` for preserving non-ASCII characters. The default value is `Transliterator.DEFAULT`, which causes replacements like "é" → "e" in all elements except `REMARKS["…"]`. May also be a user-supplied transliterator.

        A `null` value means to infer this property from the WKTFormat.convention.

- ## Package org.apache.sis.math

  - ### Class Fraction

    class Fraction extends Number implements Serializable
    serialVersionUID:
      -4501644254763471216L

    - #### Serialized Fields

      - ##### denominator

            int denominator

        The b term in the a/b fraction. Can be positive, negative or zero. If zero, then the fraction floating point value will be positive infinity, negative infinity or NaN depending on the Fraction.numerator value.
        See Also:
          - `Fraction.doubleValue()`

      - ##### numerator

            int numerator

        The a term in the a/b fraction. Can be positive, negative or zero.
        See Also:
          - `Fraction.doubleValue()`

  - ### Class Line

    class Line extends Object implements Serializable
    serialVersionUID:
      2185952238314399110L

    - #### Serialized Fields

      - ##### slope

            double slope

        The slope for this line.

      - ##### x0

            double x0

        Value of x at y = 0. This value is used for vertical lines.

      - ##### y0

            double y0

        The y value at x = 0.

  - ### Class Plane

    class Plane extends Object implements Serializable
    serialVersionUID:
      2956201711131316723L

    - #### Serialized Fields

      - ##### sx

            double sx

        The slope along the x values. This coefficient appears in the plane equation sx⋅x + sy⋅y + z₀.

      - ##### sy

            double sy

        The slope along the y values. This coefficient appears in the plane equation sx⋅x + sy⋅y + z₀.

      - ##### z0

            double z0

        The z value at (x,y) = (0,0). This coefficient appears in the plane equation sx⋅x + sy⋅y + z₀.

  - ### Class Statistics

    class Statistics extends Object implements Serializable
    serialVersionUID:
      8495118253884975477L

    - #### Serialized Fields

      - ##### count

            int count

        Number of non-NaN values given to the `Statistics.accept(double)` method.

      - ##### countNaN

            int countNaN

        Number of NaN values given to the `Statistics.accept(double)` method. Those value are ignored in the computation of all above values.

      - ##### maximum

            double maximum

        The maximal value given to the `Statistics.accept(double)` method.

      - ##### minimum

            double minimum

        The minimal value given to the `Statistics.accept(double)` method.

      - ##### name

            InternationalString name

        The name of the phenomenon for which this object is collecting statistics. If non-null, then this name will be shown as column header in the table formatted by `StatisticsFormat`.
        See Also:
          - `Statistics.name()`

      - ##### squareSum

            double squareSum

        The sum of square of all values given to the `Statistics.accept(double)` method.

      - ##### sum

            double sum

        The sum of all values given to the `Statistics.accept(double)` method.

  - ### Class StatisticsFormat

    class StatisticsFormat extends TabularFormat<Statistics> implements Serializable
    serialVersionUID:
      6914760410359494163L

    - #### Serialized Fields

      - ##### allPopulation

            boolean allPopulation

        `true` if the sample values given to `Statistics.accept(…)` methods were the totality of the population under study, or `false` if they were only a sampling.
        See Also:
          - `StatisticsFormat.isForAllPopulation()`
          - `StatisticsFormat.setForAllPopulation(boolean)`
          - `Statistics.standardDeviation(boolean)`

      - ##### borderWidth

            byte borderWidth

        The "width" of the border to drawn around the table, in number of lines.
        See Also:
          - `StatisticsFormat.getBorderWidth()`
          - `StatisticsFormat.setBorderWidth(int)`

      - ##### headerLocale

            Locale headerLocale

        The locale for row and column headers. This is usually the same than the format locale, but not necessarily.

- ## Package org.apache.sis.measure

  - ### Class Angle

    class Angle extends Object implements Serializable
    serialVersionUID:
      3701568577051191744L

    - #### Serialized Fields

      - ##### θ

            double θ

        Angle value in decimal degrees. We use decimal degrees as the storage unit instead of radians in order to avoid rounding errors, since there is no way to represent 30°, 45°, 90°, 180°, etc. in radians without errors.

  - ### Class AngleFormat

    class AngleFormat extends Format implements Serializable
    serialVersionUID:
      820524050016391537L

    - #### Serialized Fields

      - ##### degreesFieldWidth

            byte degreesFieldWidth

        Minimal amount of spaces to be used by the degrees, minutes and seconds fields, and by the decimal digits. A value of 0 means that the field is not formatted. `fractionFieldWidth` applies to the last non-zero field. `maximumTotalWidth` is 0 (the default) if there is no restriction.

      - ##### degreesSuffix

            String degreesSuffix

        Characters to insert before the text to format, and after each field. A `null` value means that there is nothing to insert.

      - ##### fractionFieldWidth

            byte fractionFieldWidth

        Minimal amount of spaces to be used by the degrees, minutes and seconds fields, and by the decimal digits. A value of 0 means that the field is not formatted. `fractionFieldWidth` applies to the last non-zero field. `maximumTotalWidth` is 0 (the default) if there is no restriction.

      - ##### isFallbackAllowed

            boolean isFallbackAllowed

        `true` if the `AngleFormat.parse(String, ParsePosition)` method is allowed to fallback on the build-in default symbols if the string to parse doesn't match the pattern.

        This field can not be set by the pattern string, so it needs to be initialized separately.

        See Also:
          - `AngleFormat.isFallbackAllowed()`
          - `AngleFormat.setFallbackAllowed(boolean)`

      - ##### locale

            Locale locale

        The locale specified at construction time (never null).

      - ##### maximumTotalWidth

            byte maximumTotalWidth

        Minimal amount of spaces to be used by the degrees, minutes and seconds fields, and by the decimal digits. A value of 0 means that the field is not formatted. `fractionFieldWidth` applies to the last non-zero field. `maximumTotalWidth` is 0 (the default) if there is no restriction.

      - ##### minimumFractionDigits

            byte minimumFractionDigits

        Minimal amount of spaces to be used by the degrees, minutes and seconds fields, and by the decimal digits. A value of 0 means that the field is not formatted. `fractionFieldWidth` applies to the last non-zero field. `maximumTotalWidth` is 0 (the default) if there is no restriction.

      - ##### minutesFieldWidth

            byte minutesFieldWidth

        Minimal amount of spaces to be used by the degrees, minutes and seconds fields, and by the decimal digits. A value of 0 means that the field is not formatted. `fractionFieldWidth` applies to the last non-zero field. `maximumTotalWidth` is 0 (the default) if there is no restriction.

      - ##### minutesSuffix

            String minutesSuffix

        Characters to insert before the text to format, and after each field. A `null` value means that there is nothing to insert.

      - ##### optionalFields

            byte optionalFields

        A bitmask of optional fields. Optional fields are formatted only if their value is different than zero. The bit position is given by a `*_FIELD` constant, and the actual bitmask is computed by `1 << *_FIELD`. A value of zero means that no field is optional.

      - ##### prefix

            String prefix

        Characters to insert before the text to format, and after each field. A `null` value means that there is nothing to insert.

      - ##### roundingMode

            RoundingMode roundingMode

        The rounding mode, or `null` for the default mode (which is `RoundingMode.HALF_EVEN`).
        See Also:
          - `AngleFormat.getRoundingMode()`

      - ##### secondsFieldWidth

            byte secondsFieldWidth

        Minimal amount of spaces to be used by the degrees, minutes and seconds fields, and by the decimal digits. A value of 0 means that the field is not formatted. `fractionFieldWidth` applies to the last non-zero field. `maximumTotalWidth` is 0 (the default) if there is no restriction.

      - ##### secondsSuffix

            String secondsSuffix

        Characters to insert before the text to format, and after each field. A `null` value means that there is nothing to insert.

      - ##### useDecimalSeparator

            boolean useDecimalSeparator

        Specifies whatever the decimal separator shall be inserted between the integer part and the fraction part of the last field. A `false` value formats the integer and fractional part without separation, e.g. "34867" for 34.867.

  - ### Class AngleFormat.Field

    class Field extends FormatField implements Serializable
    serialVersionUID:
      -5015489890305908251L

  - ### Class ElevationAngle

    class ElevationAngle extends Angle implements Serializable
    serialVersionUID:
      442355803542468396L

  - ### Class Latitude

    class Latitude extends Angle implements Serializable
    serialVersionUID:
      -2227675003893702061L

  - ### Class Longitude

    class Longitude extends Angle implements Serializable
    serialVersionUID:
      -3203511772374891877L

  - ### Class MeasurementRange

    class MeasurementRange extends NumberRange<E extends Number & Comparable<? super E>> implements Serializable
    serialVersionUID:
      -3532903747339978756L

    - #### Serialized Fields

      - ##### unit

            Unit<?> unit

        The unit of measurement, or `null` if unknown.
        See Also:
          - `MeasurementRange.unit()`

  - ### Class NumberRange

    class NumberRange extends Range<E extends Number & Comparable<? super E>> implements Serializable
    serialVersionUID:
      -3198281191274903617L

  - ### Class QuantityFormat

    class QuantityFormat extends Format implements Serializable
    serialVersionUID:
      1014042719969477503L

    - #### Serialized Fields

      - ##### numberFormat

            NumberFormat numberFormat

        The format for parsing and formatting the number part.

      - ##### unitFormat

            UnitFormat unitFormat

        The format for parsing and formatting the unit of measurement part.

  - ### Class Range

    class Range extends Object implements Serializable
    serialVersionUID:
      603508245068333284L

    - #### Serialized Fields

      - ##### elementType

            Class<E extends Comparable<? super E>> elementType

        The base type of elements in this range.
        See Also:
          - `Range.getElementType()`

      - ##### isMaxIncluded

            boolean isMaxIncluded

        Whether the minimal or maximum value is included.

      - ##### isMinIncluded

            boolean isMinIncluded

        Whether the minimal or maximum value is included.

      - ##### maxValue

            E extends Comparable<? super E> maxValue

        The minimal and maximal values.

      - ##### minValue

            E extends Comparable<? super E> minValue

        The minimal and maximal values.

  - ### Class RangeFormat

    class RangeFormat extends Format implements Serializable
    serialVersionUID:
      2459948572315667868L

    - #### Serialized Fields

      - ##### alternateForm

            boolean alternateForm

        `true` if `RangeFormat` shall use the alternate form at formatting time. This flag as no effect on parsing, since both forms are accepted.
        See Also:
          - `RangeFormat.isAlternateForm()`

      - ##### closeExclusive

            int closeExclusive

        The character closing a range in which the maximal value is exclusive. The default value is `')'`. Note that the `'['` character is also sometime used.

      - ##### closeExclusiveAlt

            int closeExclusiveAlt

        An alternative character closing a range in which the maximal value is exclusive. This character is not used for formatting (only `RangeFormat.closeExclusive` is used), but is accepted during parsing. The default value is `'['`.

      - ##### closeInclusive

            int closeInclusive

        The character closing a range in which the maximal value is inclusive. The default value is `']'`.

      - ##### closeSet

            int closeSet

        The character closing an empty range or a range containing only one element. The default value is `'}'`.

      - ##### elementFormat

            Format elementFormat

        The format to use for parsing and formatting the range components. The format is determined from the element type:
        - `AngleFormat` if the element type is assignable to `Angle`.
        - `NumberFormat` if the element type is assignable to `Number`.
        - `DateFormat` if the element type is assignable to `Date`.

      - ##### elementType

            Class<?> elementType

        The type of the range components. Valid types are `Number`, `Angle`, `Date` or a subclass of those types. This value determines the kind of range to be created by the parse method:
        - `NumberRange<?>` if the element type is assignable to `Number` or `Angle`.
        - `Range<Date>` if the element type is assignable to `Date`.
        See Also:
          - `Range.getElementType()`

      - ##### infinity

            String infinity

        Symbols used by this format, inferred from `DecimalFormatSymbols`.

      - ##### locale

            Locale locale

        The locale for error message, or `null` for the default.

      - ##### minusSign

            char minusSign

        Symbols used by this format, inferred from `DecimalFormatSymbols`.

      - ##### openExclusive

            int openExclusive

        The character opening a range in which the minimal value is exclusive. The default value is `'('`. Note that the `']'` character is also sometime used.

      - ##### openExclusiveAlt

            int openExclusiveAlt

        An alternative character opening a range in which the minimal value is exclusive. This character is not used for formatting (only `RangeFormat.openExclusive` is used), but is accepted during parsing. The default value is `']'`.

      - ##### openInclusive

            int openInclusive

        The character opening a range in which the minimal value is inclusive. The default value is `'['`.

      - ##### openSet

            int openSet

        The character opening an empty range or a range containing only one element. The default value is `'{'`.

      - ##### separator

            String separator

        The string to use as a separator between minimal and maximal value, not including whitespaces. The default value is `"…"` (Unicode 2026).

      - ##### unitFormat

            UnitFormat unitFormat

        The format for unit of measurement, or `null` if none. This is non-null if and only if `RangeFormat.elementType` is assignable to `Number` but not to `Angle`.

  - ### Class RangeFormat.Field

    class Field extends FormatField implements Serializable
    serialVersionUID:
      2000378602311146796L

  - ### Class UnitFormat

    class UnitFormat extends Format implements Serializable
    serialVersionUID:
      -3064428584419360693L

    - #### Serialized Fields

      - ##### labelToUnit

            Map<String,Unit<?>> labelToUnit

        Units associated to a given label (in addition to the system-wide `UnitRegistry`). This map is the converse of `UnitFormat.unitToLabel`. The `Unit` instances may differ from the ones specified by user since `AbstractUnit.symbol` may have been set to the label specified by the user. The labels may contain some characters normally not allowed in unit symbols, like white spaces.
        See Also:
          - `UnitFormat.label(Unit, String)`

      - ##### locale

            Locale locale

        The locale specified at construction time or modified by `UnitFormat.setLocale(Locale)`.
        See Also:
          - `UnitFormat.getLocale()`

      - ##### style

            UnitFormat.Style style

        Whether this `UnitFormat` should format long names like "metre" or use unit symbols.
        See Also:
          - `UnitFormat.getStyle()`

      - ##### unitToLabel

            Map<Unit<?>,String> unitToLabel

        Symbols or names to use for formatting units in replacement to the default unit symbols or names. The `Unit` instances are the ones specified by user in calls to `UnitFormat.label(Unit, String)`.
        See Also:
          - `UnitFormat.label(Unit, String)`

- ## Package org.apache.sis.metadata

  - ### Exception InvalidMetadataException

    class InvalidMetadataException extends IllegalStateException implements Serializable
    serialVersionUID:
      947896851753786460L

  - ### Class MetadataStandard

    class MetadataStandard extends Object implements Serializable
    serialVersionUID:
      7549790450195184843L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked during deserialization for restoring the transient fields.
        Parameters:
          `in` - the input stream from which to deserialize a metadata standard.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### citation

            Citation citation

        Bibliographical reference to the international standard.
        See Also:
          - `MetadataStandard.getCitation()`

      - ##### dependencies

            MetadataStandard[] dependencies

        The dependencies, or `null` if none. Note: the `null` value is for serialization compatibility.

      - ##### interfacePackage

            String interfacePackage

        The root package for metadata interfaces. Must have a trailing `'.'`.

  - ### Exception UnmodifiableMetadataException

    class UnmodifiableMetadataException extends UnsupportedOperationException implements Serializable
    serialVersionUID:
      286569086054839096L

- ## Package org.apache.sis.metadata.iso

  - ### Class DefaultApplicationSchemaInformation

    class DefaultApplicationSchemaInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      -884081423040392985L

    - #### Serialized Fields

      - ##### constraintLanguage

            String constraintLanguage

        Formal language used in Application Schema.

      - ##### graphicsFile

            URI graphicsFile

        Full application schema given as a graphics file.

      - ##### name

            Citation name

        Name of the application schema used.

      - ##### schemaAscii

            URI schemaAscii

        Full application schema given as an ASCII file.

      - ##### schemaLanguage

            String schemaLanguage

        Identification of the schema language used.

      - ##### softwareDevelopmentFile

            URI softwareDevelopmentFile

        Full application schema given as a software development file.

      - ##### softwareDevelopmentFileFormat

            String softwareDevelopmentFileFormat

        Software dependent format used for the application schema software dependent file.

  - ### Class DefaultExtendedElementInformation

    class DefaultExtendedElementInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      5892811836634834434L

    - #### Serialized Fields

      - ##### condition

            InternationalString condition

        Condition under which the extended element is mandatory. Non-null value only if the obligation is conditional.

      - ##### dataType

            Datatype dataType

        Code which identifies the kind of value provided in the extended element.

      - ##### definition

            InternationalString definition

        Definition of the extended element.

      - ##### domainCode

            Integer domainCode

        Deprecated.
        Three digit code assigned to the extended element. Non-null only if the data type is code list element.

      - ##### domainValue

            InternationalString domainValue

        Valid values that can be assigned to the extended element. Returns `null` if it doesn't apply, for example if the data type is enumeration, code list or code list element.

      - ##### maximumOccurrence

            Integer maximumOccurrence

        Maximum occurrence of the extended element. Returns `null` if it doesn't apply, for example if the data type is enumeration, code list or code list element.

      - ##### name

            String name

        Name of the extended metadata element.

      - ##### obligation

            Obligation obligation

        Obligation of the extended element.

      - ##### parentEntity

            Collection<String> parentEntity

        Name of the metadata entity(s) under which this extended metadata element may appear. The name(s) may be standard metadata element(s) or other extended metadata element(s).

      - ##### rationales

            Collection<InternationalString> rationales

        Reason for creating the extended element.

      - ##### rule

            InternationalString rule

        Specifies how the extended element relates to other existing elements and entities.

      - ##### shortName

            String shortName

        Deprecated.
        Short form suitable for use in an implementation method such as XML or SGML.

      - ##### sources

            Collection<ResponsibleParty> sources

        Name of the person or organization creating the extended element.

  - ### Class DefaultIdentifier

    class DefaultIdentifier extends ISOMetadata implements Serializable
    serialVersionUID:
      -23375776954553866L

    - #### Serialized Fields

      - ##### authority

            Citation authority

        Person or party responsible for maintenance of the namespace.
        See Also:
          - `DefaultIdentifier.getAuthority()`

      - ##### code

            String code

        Alphanumeric value identifying an instance in the namespace.
        See Also:
          - `DefaultIdentifier.getCode()`

      - ##### codeSpace

            String codeSpace

        Identifier or namespace in which the code is valid.
        See Also:
          - `DefaultIdentifier.getCodeSpace()`

      - ##### description

            InternationalString description

        Natural language description of the meaning of the code value.
        See Also:
          - `DefaultIdentifier.getDescription()`

      - ##### version

            String version

        Version identifier for the namespace, as specified by the code authority. This version is included only when the code uses versions. When appropriate, the edition is identified by the effective date, coded using ISO 8601 date format.
        See Also:
          - `DefaultIdentifier.getVersion()`

  - ### Class DefaultMetadata

    class DefaultMetadata extends ISOMetadata implements Serializable
    serialVersionUID:
      -76483485174667242L

    - #### Serialized Fields

      - ##### acquisitionInformation

            Collection<AcquisitionInformation> acquisitionInformation

        Provides information about the acquisition of the data.

      - ##### alternativeMetadataReferences

            Collection<Citation> alternativeMetadataReferences

        Reference(s) to alternative metadata or metadata in a non-ISO standard for the same resource.

      - ##### applicationSchemaInfo

            Collection<ApplicationSchemaInformation> applicationSchemaInfo

        Provides information about the conceptual schema of a dataset.

      - ##### contacts

            Collection<ResponsibleParty> contacts

        Parties responsible for the metadata information.

      - ##### contentInfo

            Collection<ContentInformation> contentInfo

        Provides information about the feature catalogue and describes the coverage and image data characteristics.

      - ##### dataQualityInfo

            Collection<DataQuality> dataQualityInfo

        Provides overall assessment of quality of a resource(s).

      - ##### dateInfo

            Collection<CitationDate> dateInfo

        Date(s) associated with the metadata.

      - ##### distributionInfo

            Distribution distributionInfo

        Provides information about the distributor of and options for obtaining the resource(s).

      - ##### identificationInfo

            Collection<Identification> identificationInfo

        Basic information about the resource(s) to which the metadata applies.

      - ##### locales

            Map<Locale,Charset> locales

        Language(s) and character set(s) used within the dataset.

      - ##### metadataConstraints

            Collection<Constraints> metadataConstraints

        Provides restrictions on the access and use of metadata.

      - ##### metadataExtensionInfo

            Collection<MetadataExtensionInformation> metadataExtensionInfo

        Information describing metadata extensions.

      - ##### metadataLinkages

            Collection<OnlineResource> metadataLinkages

        Online location(s) where the metadata is available.

      - ##### metadataMaintenance

            MaintenanceInformation metadataMaintenance

        Provides information about the frequency of metadata updates, and the scope of those updates.

      - ##### metadataProfiles

            Collection<Citation> metadataProfiles

        Citation(s) for the profile(s) of the metadata standard to which the metadata conform.

      - ##### metadataScopes

            Collection<DefaultMetadataScope> metadataScopes

        Scope to which the metadata applies.

      - ##### metadataStandards

            Collection<Citation> metadataStandards

        Citation(s) for the standard(s) to which the metadata conform.

      - ##### parentMetadata

            Citation parentMetadata

        Identification of the parent metadata record.

      - ##### portrayalCatalogueInfo

            Collection<PortrayalCatalogueReference> portrayalCatalogueInfo

        Provides information about the catalogue of rules defined for the portrayal of a resource(s).

      - ##### referenceSystemInfo

            Collection<ReferenceSystem> referenceSystemInfo

        Description of the spatial and temporal reference systems used in the dataset.

      - ##### resourceLineages

            Collection<Lineage> resourceLineages

        Information about the provenance, sources and/or the production processes applied to the resource.

      - ##### spatialRepresentationInfo

            Collection<SpatialRepresentation> spatialRepresentationInfo

        Digital representation of spatial information in the dataset.

  - ### Class DefaultMetadataExtensionInformation

    class DefaultMetadataExtensionInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      1471486028607039929L

    - #### Serialized Fields

      - ##### extendedElementInformation

            Collection<ExtendedElementInformation> extendedElementInformation

        Provides information about a new metadata element, not found in ISO 19115, which is required to describe geographic data.

      - ##### extensionOnLineResource

            OnlineResource extensionOnLineResource

        Information about on-line sources containing the community profile name and the extended metadata elements. Information for all new metadata elements.

  - ### Class DefaultMetadataScope

    class DefaultMetadataScope extends ISOMetadata implements Serializable
    serialVersionUID:
      -7186722085106176683L

    - #### Serialized Fields

      - ##### name

            InternationalString name

        Description of the scope.

      - ##### resourceScope

            ScopeCode resourceScope

        Code for the scope.

  - ### Class DefaultPortrayalCatalogueReference

    class DefaultPortrayalCatalogueReference extends ISOMetadata implements Serializable
    serialVersionUID:
      -6211960792438534868L

    - #### Serialized Fields

      - ##### portrayalCatalogueCitations

            Collection<Citation> portrayalCatalogueCitations

        Bibliographic reference to the portrayal catalogue cited.

  - ### Class ISOMetadata

    class ISOMetadata extends ModifiableMetadata implements Serializable
    serialVersionUID:
      -4997239501383133209L

    - #### Serialized Fields

      - ##### identifiers

            Collection<Identifier> identifiers

        All identifiers associated with this metadata, or `null` if none. This field is initialized to a non-null value when first needed.

- ## Package org.apache.sis.metadata.iso.acquisition

  - ### Class DefaultAcquisitionInformation

    class DefaultAcquisitionInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      6115581617356679324L

    - #### Serialized Fields

      - ##### acquisitionPlans

            Collection<Plan> acquisitionPlans

        Identifies the plan as implemented by the acquisition.

      - ##### acquisitionRequirements

            Collection<Requirement> acquisitionRequirements

        Identifies the requirement the data acquisition intends to satisfy.

      - ##### environmentalConditions

            EnvironmentalRecord environmentalConditions

        A record of the environmental circumstances during the data acquisition.

      - ##### instruments

            Collection<Instrument> instruments

        General information about the instrument used in data acquisition.

      - ##### objectives

            Collection<Objective> objectives

        Identification of the area or object to be sensed.

      - ##### operations

            Collection<Operation> operations

        General information about an identifiable activity which provided the data.

      - ##### platforms

            Collection<Platform> platforms

        General information about the platform from which the data were taken.

  - ### Class DefaultEnvironmentalRecord

    class DefaultEnvironmentalRecord extends ISOMetadata implements Serializable
    serialVersionUID:
      3634348015931833471L

    - #### Serialized Fields

      - ##### averageAirTemperature

            Double averageAirTemperature

        Average air temperature along the flight pass during the photo flight.

      - ##### maxAltitude

            Double maxAltitude

        Maximum altitude during the photo flight.

      - ##### maxRelativeHumidity

            Double maxRelativeHumidity

        Maximum relative humidity along the flight pass during the photo flight.

      - ##### meteorologicalConditions

            InternationalString meteorologicalConditions

        Meteorological conditions in the photo flight area, in particular clouds, snow and wind.

  - ### Class DefaultEvent

    class DefaultEvent extends ISOMetadata implements Serializable
    serialVersionUID:
      -519920133287763009L

    - #### Serialized Fields

      - ##### context

            Context context

        Meaning of the event.

      - ##### expectedObjectives

            Collection<Objective> expectedObjectives

        Objective or objectives satisfied by an event.

      - ##### relatedPass

            PlatformPass relatedPass

        Pass during which an event occurs.

      - ##### relatedSensors

            Collection<Instrument> relatedSensors

        Instrument or instruments for which the event is meaningful.

      - ##### sequence

            Sequence sequence

        Relative time ordering of the event.

      - ##### time

            long time

        Time the event occurred, or `Long.MIN_VALUE` if none.

      - ##### trigger

            Trigger trigger

        Initiator of the event.

  - ### Class DefaultInstrument

    class DefaultInstrument extends ISOMetadata implements Serializable
    serialVersionUID:
      -7439143424271079960L

    - #### Serialized Fields

      - ##### citations

            Collection<Citation> citations

        Complete citation of the instrument.

      - ##### description

            InternationalString description

        Textual description of the instrument.

      - ##### mountedOn

            Platform mountedOn

        Platform on which the instrument is mounted.

      - ##### type

            InternationalString type

        Name of the type of instrument. Examples: framing, line-scan, push-broom, pan-frame.

  - ### Class DefaultObjective

    class DefaultObjective extends ISOMetadata implements Serializable
    serialVersionUID:
      8273806197892815938L

    - #### Serialized Fields

      - ##### extents

            Collection<Extent> extents

        Extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective.

      - ##### functions

            Collection<InternationalString> functions

        Role or purpose performed by or activity performed at the objective.

      - ##### objectiveOccurences

            Collection<Event> objectiveOccurences

        Event or events associated with objective completion.

      - ##### pass

            Collection<PlatformPass> pass

        Pass of the platform over the objective.

      - ##### priority

            InternationalString priority

        Priority applied to the target.

      - ##### sensingInstruments

            Collection<Instrument> sensingInstruments

        Instrument which senses the objective data.

      - ##### types

            Collection<ObjectiveType> types

        Collection technique for the objective.

  - ### Class DefaultOperation

    class DefaultOperation extends ISOMetadata implements Serializable
    serialVersionUID:
      4828650802232651791L

    - #### Serialized Fields

      - ##### childOperations

            Collection<Operation> childOperations

        Sub-missions that make up part of a larger mission.

      - ##### citation

            Citation citation

        Identification of the mission.

      - ##### description

            InternationalString description

        Description of the mission on which the platform observations are made and the objectives of that mission.

      - ##### objectives

            Collection<Objective> objectives

        Object(s) or area(s) of interest to be sensed.

      - ##### parentOperation

            Operation parentOperation

        Heritage of the operation.

      - ##### plan

            Plan plan

        Plan satisfied by the operation.

      - ##### platforms

            Collection<Platform> platforms

        Platform (or platforms) used in the operation.

      - ##### significantEvents

            Collection<Event> significantEvents

        Record of an event occurring during an operation.

      - ##### status

            Progress status

        Status of the data acquisition.

      - ##### type

            OperationType type

        Collection technique for the operation.

  - ### Class DefaultPlan

    class DefaultPlan extends ISOMetadata implements Serializable
    serialVersionUID:
      -1212695055582082867L

    - #### Serialized Fields

      - ##### citation

            Citation citation

        Identification of authority requesting target collection.

      - ##### operations

            Collection<Operation> operations

        Identification of the activity or activities that satisfy a plan.

      - ##### satisfiedRequirements

            Collection<Requirement> satisfiedRequirements

        Requirement satisfied by the plan.

      - ##### status

            Progress status

        Current status of the plan (pending, completed, etc.)

      - ##### type

            GeometryType type

        Manner of sampling geometry that the planner expects for collection of objective data.

  - ### Class DefaultPlatform

    class DefaultPlatform extends ISOMetadata implements Serializable
    serialVersionUID:
      -1607271701134014369L

    - #### Serialized Fields

      - ##### citation

            Citation citation

        Source where information about the platform is described.

      - ##### description

            InternationalString description

        Narrative description of the platform supporting the instrument.

      - ##### instruments

            Collection<Instrument> instruments

        Instrument(s) mounted on a platform.

      - ##### sponsors

            Collection<ResponsibleParty> sponsors

        Organization responsible for building, launch, or operation of the platform.

  - ### Class DefaultPlatformPass

    class DefaultPlatformPass extends ISOMetadata implements Serializable
    serialVersionUID:
      -6447077434254133293L

    - #### Serialized Fields

      - ##### extent

            Geometry extent

        Area covered by the pass.

      - ##### relatedEvents

            Collection<Event> relatedEvents

        Occurrence of one or more events for a pass.

  - ### Class DefaultRequestedDate

    class DefaultRequestedDate extends ISOMetadata implements Serializable
    serialVersionUID:
      942236885315159329L

    - #### Serialized Fields

      - ##### latestAcceptableDate

            long latestAcceptableDate

        Latest date and time collection must be completed, or `Long.MIN_VALUE` if none.

      - ##### requestedDateOfCollection

            long requestedDateOfCollection

        Preferred date and time of collection, or `Long.MIN_VALUE` if none.

  - ### Class DefaultRequirement

    class DefaultRequirement extends ISOMetadata implements Serializable
    serialVersionUID:
      -4987984804974769238L

    - #### Serialized Fields

      - ##### citation

            Citation citation

        Identification of reference or guidance material for the requirement.

      - ##### expiryDate

            long expiryDate

        Date and time after which collection is no longer valid, or `Long.MIN_VALUE` if none.

      - ##### priority

            Priority priority

        Relative ordered importance, or urgency, of the requirement.

      - ##### recipients

            Collection<ResponsibleParty> recipients

        Person(s), or body(ies), to receive results of requirement.

      - ##### requestedDate

            RequestedDate requestedDate

        Required or preferred acquisition date and time.

      - ##### requestors

            Collection<ResponsibleParty> requestors

        Origin of requirement.

      - ##### satisfiedPlans

            Collection<Plan> satisfiedPlans

        Plan that identifies solution to satisfy the requirement.

- ## Package org.apache.sis.metadata.iso.citation

  - ### Class AbstractParty

    class AbstractParty extends ISOMetadata implements Serializable
    serialVersionUID:
      1486981243884830979L

    - #### Serialized Fields

      - ##### contactInfo

            Collection<Contact> contactInfo

        Contact information for the party.

      - ##### name

            InternationalString name

        Name of the party.

  - ### Class DefaultAddress

    class DefaultAddress extends ISOMetadata implements Serializable
    serialVersionUID:
      1357443146723845129L

    - #### Serialized Fields

      - ##### administrativeArea

            InternationalString administrativeArea

        State, province of the location.

      - ##### city

            InternationalString city

        The city of the location

      - ##### country

            InternationalString country

        Country of the physical address.

      - ##### deliveryPoints

            Collection<String> deliveryPoints

        Address line for the location (as described in ISO 11180, Annex A).

      - ##### electronicMailAddresses

            Collection<String> electronicMailAddresses

        Address of the electronic mailbox of the responsible organization or individual.

      - ##### postalCode

            String postalCode

        ZIP or other postal code.

  - ### Class DefaultCitation

    class DefaultCitation extends ISOMetadata implements Serializable
    serialVersionUID:
      3490090845236158848L

    - #### Serialized Fields

      - ##### alternateTitles

            Collection<InternationalString> alternateTitles

        Short name or other language name by which the cited information is known. Example: "DCW" as an alternative title for "Digital Chart of the World.

      - ##### citedResponsibleParties

            Collection<ResponsibleParty> citedResponsibleParties

        Roles, Name, contact, and position information for an individual or organization that is responsible for the resource.

      - ##### collectiveTitle

            InternationalString collectiveTitle

        Deprecated.
        Removed as of ISO 19115:2014.
        Common title with holdings note. Note: title identifies elements of a series collectively, combined with information about what volumes are available at the source cited. May be `null` if there is no title.

      - ##### dates

            Collection<CitationDate> dates

        Reference date for the cited resource.

      - ##### edition

            InternationalString edition

        Version of the cited resource.

      - ##### editionDate

            long editionDate

        Date of the edition in milliseconds elapsed sine January 1st, 1970, or `Long.MIN_VALUE` if none.

      - ##### graphics

            Collection<BrowseGraphic> graphics

        Citation graphic or logo for cited party.

      - ##### onlineResources

            Collection<OnlineResource> onlineResources

        Online references to the cited resource.

      - ##### otherCitationDetails

            InternationalString otherCitationDetails

        Other information required to complete the citation that is not recorded elsewhere. May be `null` if none.

      - ##### presentationForms

            Collection<PresentationForm> presentationForms

        Mode in which the resource is represented, or an empty collection if none.

      - ##### series

            Series series

        Information about the series, or aggregate dataset, of which the dataset is a part. May be `null` if none.

      - ##### title

            InternationalString title

        Name by which the cited resource is known.

  - ### Class DefaultCitationDate

    class DefaultCitationDate extends ISOMetadata implements Serializable
    serialVersionUID:
      5140213754542273710L

    - #### Serialized Fields

      - ##### date

            long date

        Reference date for the cited resource in milliseconds elapsed sine January 1st, 1970, or `Long.MIN_VALUE` if none.

      - ##### dateType

            DateType dateType

        Event used for reference date.

  - ### Class DefaultContact

    class DefaultContact extends ISOMetadata implements Serializable
    serialVersionUID:
      -969735574940462381L

    - #### Serialized Fields

      - ##### addresses

            Collection<Address> addresses

        Physical and email addresses at which the organization or individual may be contacted.

      - ##### contactInstructions

            InternationalString contactInstructions

        Supplemental instructions on how or when to contact the individual or organization.

      - ##### contactType

            InternationalString contactType

        Type of the contact.

      - ##### hoursOfService

            InternationalString hoursOfService

        Time period (including time zone) when individuals can contact the organization or individual.

      - ##### onlineResources

            Collection<OnlineResource> onlineResources

        On-line information that can be used to contact the individual or organization.

      - ##### phones

            Collection<Telephone> phones

        Telephone numbers at which the organization or individual may be contacted.

  - ### Class DefaultIndividual

    class DefaultIndividual extends AbstractParty implements Serializable
    serialVersionUID:
      -5116802681895278739L

    - #### Serialized Fields

      - ##### positionName

            InternationalString positionName

        Position of the individual in an organization.

  - ### Class DefaultOnlineResource

    class DefaultOnlineResource extends ISOMetadata implements Serializable
    serialVersionUID:
      1413613911128890864L

    - #### Serialized Fields

      - ##### applicationProfile

            String applicationProfile

        Name of an application profile that can be used with the online resource.

      - ##### description

            InternationalString description

        Detailed text description of what the online resource is/does.

      - ##### function

            OnLineFunction function

        Code for function performed by the online resource.

      - ##### linkage

            URI linkage

        Location (address) for on-line access using a Uniform Resource Locator address or similar addressing scheme such as "`http://www.statkart.no/isotc211`".

      - ##### name

            String name

        Name of the online resources.

      - ##### protocol

            String protocol

        The connection protocol to be used.

      - ##### protocolRequest

            String protocolRequest

        Request used to access the resource depending on the protocol. This is used mainly for POST requests.

  - ### Class DefaultOrganisation

    class DefaultOrganisation extends AbstractParty implements Serializable
    serialVersionUID:
      5113656476176154532L

    - #### Serialized Fields

      - ##### individual

            Collection<DefaultIndividual> individual

        Individuals in the named organization.

      - ##### logo

            Collection<BrowseGraphic> logo

        Graphic identifying organization.

  - ### Class DefaultResponsibility

    class DefaultResponsibility extends ISOMetadata implements Serializable
    serialVersionUID:
      -8290895980682233572L

    - #### Serialized Fields

      - ##### extents

            Collection<Extent> extents

        Spatial or temporal extents of the role.

      - ##### parties

            Collection<AbstractParty> parties

        Information about the parties.

      - ##### role

            Role role

        Function performed by the responsible party.

  - ### Class DefaultResponsibleParty

    class DefaultResponsibleParty extends DefaultResponsibility implements Serializable
    serialVersionUID:
      -1022635486627088812L

  - ### Class DefaultSeries

    class DefaultSeries extends ISOMetadata implements Serializable
    serialVersionUID:
      7061644572814855051L

    - #### Serialized Fields

      - ##### issueIdentification

            String issueIdentification

        Information identifying the issue of the series.

      - ##### name

            InternationalString name

        Name of the series, or aggregate dataset, of which the dataset is a part.

      - ##### page

            String page

        Details on which pages of the publication the article was published.

  - ### Class DefaultTelephone

    class DefaultTelephone extends ISOMetadata implements Serializable
    serialVersionUID:
      5156405432420742237L

    - #### Serialized Fields

      - ##### number

            String number

        Telephone number by which individuals can contact responsible organization or individual.

      - ##### numberType

            CodeList<?> numberType

        Type of telephone number.

      - ##### owner

            Collection<Telephone> owner

        Deprecated.
        This field will be removed after we removed the deprecated public methods.
        For implementation of `DefaultTelephone.getVoices()` and `DefaultTelephone.getFacsimiles()` deprecated methods. Shall be the telephones list of the enclosing `DefaultContact` object.

        This field references the same collection than `DefaultContact.phones` when possible. Note that the link between this collection and `DefaultContact.phones` is broken when `DefaultContact` is copied by `MetadataCopier`, since the `Cloner.clone(Object)` method creates a new (unmodifiable) collection.

- ## Package org.apache.sis.metadata.iso.constraint

  - ### Class DefaultConstraints

    class DefaultConstraints extends ISOMetadata implements Serializable
    serialVersionUID:
      -5622398793237824161L

    - #### Serialized Fields

      - ##### constraintApplicationScope

            Scope constraintApplicationScope

        Spatial and / or temporal extent and or level of the application of the constraints restrictions.

      - ##### graphics

            Collection<BrowseGraphic> graphics

        Graphic / symbol indicating the constraint.

      - ##### references

            Collection<Citation> references

        Citation for the limitation of constraint.

      - ##### releasability

            DefaultReleasability releasability

        Information concerning the parties to whom the resource can or cannot be released.

      - ##### responsibleParties

            Collection<DefaultResponsibility> responsibleParties

        Party responsible for the resource constraints.

      - ##### useLimitations

            Collection<InternationalString> useLimitations

        Limitation affecting the fitness for use of the resource. Example: "not to be used for navigation".

  - ### Class DefaultLegalConstraints

    class DefaultLegalConstraints extends DefaultConstraints implements Serializable
    serialVersionUID:
      -228007779747439839L

    - #### Serialized Fields

      - ##### accessConstraints

            Collection<Restriction> accessConstraints

        Access constraints applied to assure the protection of privacy or intellectual property, and any special restrictions or limitations on obtaining the resource.

      - ##### otherConstraints

            Collection<InternationalString> otherConstraints

        Other restrictions and legal prerequisites for accessing and using the resource. Should be a non-empty value only if access constraints or use constraints declares other restrictions.

      - ##### useConstraints

            Collection<Restriction> useConstraints

        Constraints applied to assure the protection of privacy or intellectual property, and any special restrictions or limitations or warnings on using the resource.

  - ### Class DefaultReleasability

    class DefaultReleasability extends ISOMetadata implements Serializable
    serialVersionUID:
      4449531804328254887L

    - #### Serialized Fields

      - ##### addressees

            Collection<DefaultResponsibility> addressees

        Party to which the release statement applies.

      - ##### disseminationConstraints

            Collection<Restriction> disseminationConstraints

        Component in determining releasability.

      - ##### statement

            InternationalString statement

        Release statement.

  - ### Class DefaultSecurityConstraints

    class DefaultSecurityConstraints extends DefaultConstraints implements Serializable
    serialVersionUID:
      621767670847345848L

    - #### Serialized Fields

      - ##### classification

            Classification classification

        Name of the handling restrictions on the resource.

      - ##### classificationSystem

            InternationalString classificationSystem

        Name of the classification system.

      - ##### handlingDescription

            InternationalString handlingDescription

        Additional information about the restrictions on handling the resource.

      - ##### userNote

            InternationalString userNote

        Explanation of the application of the legal constraints or other restrictions and legal prerequisites for obtaining and using the resource.

- ## Package org.apache.sis.metadata.iso.content

  - ### Class AbstractContentInformation

    class AbstractContentInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      -3237461458526348999L

  - ### Class DefaultAttributeGroup

    class DefaultAttributeGroup extends ISOMetadata implements Serializable
    serialVersionUID:
      -2198484393626051875L

    - #### Serialized Fields

      - ##### attributes

            Collection<RangeDimension> attributes

        Content type for attributes groups for a `RangeDimension`.

      - ##### contentTypes

            Collection<CoverageContentType> contentTypes

        Type of information represented by the value(s).

  - ### Class DefaultBand

    class DefaultBand extends DefaultSampleDimension implements Serializable
    serialVersionUID:
      -2474871120376144737L

    - #### Serialized Fields

      - ##### bandBoundaryDefinition

            BandDefinition bandBoundaryDefinition

        Designation of criterion for defining maximum and minimum wavelengths for a spectral band.

      - ##### boundMax

            Double boundMax

        Longest wavelength that the sensor is capable of collecting within a designated band.

      - ##### boundMin

            Double boundMin

        Shortest wavelength that the sensor is capable of collecting within a designated band.

      - ##### boundUnits

            Unit<Length> boundUnits

        Units in which sensor wavelengths are expressed.

      - ##### detectedPolarization

            PolarizationOrientation detectedPolarization

        Polarization of the radiation detected.

      - ##### peakResponse

            Double peakResponse

        Wavelength at which the response is the highest.

      - ##### toneGradation

            Integer toneGradation

        Number of discrete numerical values in the grid data.

      - ##### transmittedPolarization

            PolarizationOrientation transmittedPolarization

        Polarization of the radiation transmitted.

  - ### Class DefaultCoverageDescription

    class DefaultCoverageDescription extends AbstractContentInformation implements Serializable
    serialVersionUID:
      2161065580202989466L

    - #### Serialized Fields

      - ##### attributeDescription

            RecordType attributeDescription

        Description of the attribute described by the measurement value.

      - ##### attributeGroups

            Collection<DefaultAttributeGroup> attributeGroups

        Information on attribute groups of the resource.

      - ##### processingLevelCode

            Identifier processingLevelCode

        Identifier for the level of processing that has been applied to the resource.

      - ##### rangeElementDescriptions

            Collection<RangeElementDescription> rangeElementDescriptions

        Provides the description of the specific range elements of a coverage.

  - ### Class DefaultFeatureCatalogueDescription

    class DefaultFeatureCatalogueDescription extends AbstractContentInformation implements Serializable
    serialVersionUID:
      4637544662644655274L

    - #### Serialized Fields

      - ##### compliant

            Boolean compliant

        Whether or not the cited feature catalogue complies with ISO 19110.

        Implementation note: we need to store the reference to the `Boolean` instance instead than using bitmask because `PrimitiveTypeProperties` may associate some properties to that particular instance.

      - ##### featureCatalogueCitations

            Collection<Citation> featureCatalogueCitations

        Complete bibliographic reference to one or more external feature catalogues.

      - ##### featureTypes

            Collection<DefaultFeatureTypeInfo> featureTypes

        Subset of feature types from cited feature catalogue occurring in resource.

      - ##### includedWithDataset

            boolean includedWithDataset

        Whether or not the feature catalogue is included with the resource.

      - ##### locales

            Map<Locale,Charset> locales

        Language(s) and character set(s) used within the catalogue.

  - ### Class DefaultFeatureTypeInfo

    class DefaultFeatureTypeInfo extends ISOMetadata implements Serializable
    serialVersionUID:
      -4103901642915981422L

    - #### Serialized Fields

      - ##### featureInstanceCount

            Integer featureInstanceCount

        Number of occurrence of feature instances for this feature types.

      - ##### featureTypeName

            GenericName featureTypeName

        Name of the feature type.

  - ### Class DefaultImageDescription

    class DefaultImageDescription extends DefaultCoverageDescription implements Serializable
    serialVersionUID:
      -239683653229623567L

    - #### Serialized Fields

      - ##### cameraCalibrationInformationAvailable

            Boolean cameraCalibrationInformationAvailable

        Indication of whether or not constants are available which allow for camera calibration corrections.

      - ##### cloudCoverPercentage

            Double cloudCoverPercentage

        Area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.

      - ##### compressionGenerationQuantity

            Integer compressionGenerationQuantity

        Count of the number of lossy compression cycles performed on the image.

      - ##### filmDistortionInformationAvailable

            Boolean filmDistortionInformationAvailable

        Indication of whether or not Calibration Reseau information is available.

      - ##### illuminationAzimuthAngle

            Double illuminationAzimuthAngle

        Illumination azimuth measured in degrees clockwise from true north at the time the image is taken. For images from a scanning device, refer to the centre pixel of the image.

      - ##### illuminationElevationAngle

            Double illuminationElevationAngle

        Illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earths surface. For images from a scanning device, refer to the centre pixel of the image.

      - ##### imageQualityCode

            Identifier imageQualityCode

        Specifies the image quality.

      - ##### imagingCondition

            ImagingCondition imagingCondition

        Conditions affected the image.

      - ##### lensDistortionInformationAvailable

            Boolean lensDistortionInformationAvailable

        Indication of whether or not lens aberration correction information is available.

      - ##### radiometricCalibrationDataAvailable

            Boolean radiometricCalibrationDataAvailable

        Indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.

      - ##### triangulationIndicator

            Boolean triangulationIndicator

        Indication of whether or not triangulation has been performed upon the image.

        Implementation note: we need to store the reference to the `Boolean` instance instead than using bitmask because `PrimitiveTypeProperties` may associate some properties to that particular instance.

  - ### Class DefaultRangeDimension

    class DefaultRangeDimension extends ISOMetadata implements Serializable
    serialVersionUID:
      4517148689016920767L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        Description of the attribute.

      - ##### names

            Collection<Identifier> names

        Identifiers for each attribute included in the resource. These identifiers can be use to provide names for the attribute from a standard set of names.

      - ##### sequenceIdentifier

            MemberName sequenceIdentifier

        Unique name or number that identifies attributes included in the coverage.

  - ### Class DefaultRangeElementDescription

    class DefaultRangeElementDescription extends ISOMetadata implements Serializable
    serialVersionUID:
      -8891149098619355114L

    - #### Serialized Fields

      - ##### definition

            InternationalString definition

        Description of a set of specific range elements.

      - ##### name

            InternationalString name

        Designation associated with a set of range elements.

      - ##### rangeElements

            Collection<Record> rangeElements

        Specific range elements, i.e. range elements associated with a name and their definition.

  - ### Class DefaultSampleDimension

    class DefaultSampleDimension extends DefaultRangeDimension implements Serializable
    serialVersionUID:
      4517148689016920767L

    - #### Serialized Fields

      - ##### bitsPerValue

            Integer bitsPerValue

        Maximum number of significant bits in the uncompressed representation for the value in each band of each pixel.

      - ##### maxValue

            Double maxValue

        Maximum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given by `DefaultSampleDimension.units`.

      - ##### meanValue

            Double meanValue

        Mean value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given by `DefaultSampleDimension.units`.

      - ##### minValue

            Double minValue

        Minimum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given by `DefaultSampleDimension.units`.

      - ##### nominalSpatialResolution

            Double nominalSpatialResolution

        Smallest distance between which separate points can be distinguished, as specified in instrument design.

      - ##### numberOfValues

            Integer numberOfValues

        Number of values used in a thematic classification resource. This value should be expressed in the unit of measurement given by `DefaultSampleDimension.units`.

      - ##### offset

            Double offset

        Physical value corresponding to a cell value of zero.

      - ##### otherProperty

            Record otherProperty

        Instance of other/attributeType that defines attributes not explicitly included in `CoverageContentType`.

      - ##### otherPropertyType

            RecordType otherPropertyType

        Type of other attribute description.

      - ##### scaleFactor

            Double scaleFactor

        Scale factor which has been applied to the cell value.

      - ##### standardDeviation

            Double standardDeviation

        Standard deviation of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given by `DefaultSampleDimension.units`.

      - ##### transferFunctionType

            TransferFunctionType transferFunctionType

        Type of transfer function to be used when scaling a physical value for a given element.

      - ##### units

            Unit<?> units

        Units of data in each dimension included in the resource.

- ## Package org.apache.sis.metadata.iso.distribution

  - ### Class DefaultDataFile

    class DefaultDataFile extends ISOMetadata implements Serializable
    serialVersionUID:
      -4556006719009557349L

    - #### Serialized Fields

      - ##### featureTypes

            Collection<LocalName> featureTypes

        Provides the list of feature types concerned by the transfer data file. Depending on the transfer choices, a data file may contain data related to one or many feature types. This attribute may be omitted when the dataset is composed of a single file and/or the data does not relate to a feature catalogue.

      - ##### fileDescription

            InternationalString fileDescription

        Text description of the file.
        Since:
          1.0

      - ##### fileFormat

            Format fileFormat

        Deprecated.
        Removed in latest XSD schemas.
        Defines the format of the transfer data file.

      - ##### fileName

            URI fileName

        Name or path of the file.
        Since:
          1.0

      - ##### fileType

            String fileType

        Format in which the file is encoded.
        Since:
          1.0

  - ### Class DefaultDigitalTransferOptions

    class DefaultDigitalTransferOptions extends ISOMetadata implements Serializable
    serialVersionUID:
      -2901375920581273330L

    - #### Serialized Fields

      - ##### distributionFormats

            Collection<Format> distributionFormats

        Formats of distribution.

      - ##### offLines

            Collection<Medium> offLines

        Information about offline media on which the resource can be obtained.

      - ##### onLines

            Collection<OnlineResource> onLines

        Information about online sources from which the resource can be obtained.

      - ##### transferFrequency

            PeriodDuration transferFrequency

        Rate of occurrence of distribution.

      - ##### transferSize

            Double transferSize

        Estimated size of a unit in the specified transfer format, expressed in megabytes. The transfer size shall be greater than 0.

      - ##### unitsOfDistribution

            InternationalString unitsOfDistribution

        Tiles, layers, geographic areas, etc., in which data is available.

  - ### Class DefaultDistribution

    class DefaultDistribution extends ISOMetadata implements Serializable
    serialVersionUID:
      1331353255189686369L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        Brief description of a set of distribution options.

      - ##### distributionFormats

            Collection<Format> distributionFormats

        Provides a description of the format of the data to be distributed.

      - ##### distributors

            Collection<Distributor> distributors

        Provides information about the distributor.

      - ##### transferOptions

            Collection<DigitalTransferOptions> transferOptions

        Provides information about technical means and media by which a resource is obtained from the distributor.

  - ### Class DefaultDistributor

    class DefaultDistributor extends ISOMetadata implements Serializable
    serialVersionUID:
      5706757156163948001L

    - #### Serialized Fields

      - ##### distributionOrderProcesses

            Collection<StandardOrderProcess> distributionOrderProcesses

        Provides information about how the resource may be obtained, and related instructions and fee information.

      - ##### distributorContact

            ResponsibleParty distributorContact

        Party from whom the resource may be obtained. This list need not be exhaustive.

      - ##### distributorFormats

            Collection<Format> distributorFormats

        Provides information about the format used by the distributor.

      - ##### distributorTransferOptions

            Collection<DigitalTransferOptions> distributorTransferOptions

        Provides information about the technical means and media used by the distributor.

  - ### Class DefaultFormat

    class DefaultFormat extends ISOMetadata implements Serializable
    serialVersionUID:
      -8346373589075887348L

    - #### Serialized Fields

      - ##### amendmentNumber

            InternationalString amendmentNumber

        Amendment number of the format version.

      - ##### fileDecompressionTechnique

            InternationalString fileDecompressionTechnique

        Recommendations of algorithms or processes that can be applied to read or expand resources to which compression techniques have been applied.

      - ##### formatDistributors

            Collection<Distributor> formatDistributors

        Provides information about the distributor's format.

      - ##### formatSpecificationCitation

            Citation formatSpecificationCitation

        Citation / URL of the specification format.

      - ##### media

            Collection<Medium> media

        Media used by the format.

  - ### Class DefaultMedium

    class DefaultMedium extends ISOMetadata implements Serializable
    serialVersionUID:
      7751002701087451894L

    - #### Serialized Fields

      - ##### densities

            Collection<Double> densities

        Density at which the data is recorded. If non-null, then the number shall be greater than zero.

      - ##### densityUnits

            Unit<?> densityUnits

        Units of measure for the recording density.

      - ##### mediumFormats

            Collection<MediumFormat> mediumFormats

        Methods used to write to the medium.

      - ##### mediumNote

            InternationalString mediumNote

        Description of other limitations or requirements for using the medium.

      - ##### name

            MediumName name

        Name of the medium on which the resource can be received.

      - ##### volumes

            Integer volumes

        Number of items in the media identified.

  - ### Class DefaultStandardOrderProcess

    class DefaultStandardOrderProcess extends ISOMetadata implements Serializable
    serialVersionUID:
      1948951192071039775L

    - #### Serialized Fields

      - ##### currency

            Currency currency

        The `DefaultStandardOrderProcess.fees` currency, or `null` if unknown or unspecified.

      - ##### fees

            InternationalString fees

        Fees and terms for retrieving the resource. Include monetary units (as specified in ISO 4217).

      - ##### orderingInstructions

            InternationalString orderingInstructions

        General instructions, terms and services provided by the distributor.

      - ##### orderOptions

            Record orderOptions

        Request/purchase choices.

      - ##### orderOptionsType

            RecordType orderOptionsType

        Description of the order options record.

      - ##### plannedAvailableDateTime

            long plannedAvailableDateTime

        Date and time when the dataset will be available, in milliseconds elapsed since January 1st, 1970.

      - ##### turnaround

            InternationalString turnaround

        Typical turnaround time for the filling of an order.

- ## Package org.apache.sis.metadata.iso.extent

  - ### Class AbstractGeographicExtent

    class AbstractGeographicExtent extends ISOMetadata implements Serializable
    serialVersionUID:
      4819196764221609265L

    - #### Serialized Fields

      - ##### inclusion

            Boolean inclusion

        Indication of whether the bounding polygon encompasses an area covered by the data (inclusion) or an area where data is not present (exclusion).

        Implementation note: we need to store the reference to the `Boolean` instance instead than using bitmask because `PrimitiveTypeProperties` may associate some properties to that particular instance.

  - ### Class DefaultBoundingPolygon

    class DefaultBoundingPolygon extends AbstractGeographicExtent implements Serializable
    serialVersionUID:
      3404580901560754370L

    - #### Serialized Fields

      - ##### polygons

            Collection<Geometry> polygons

        The sets of points defining the bounding polygon.

  - ### Class DefaultExtent

    class DefaultExtent extends ISOMetadata implements Serializable
    serialVersionUID:
      2979058128422252800L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        The spatial and temporal extent for the referring object.

      - ##### geographicElements

            Collection<GeographicExtent> geographicElements

        Provides geographic component of the extent of the referring object.

      - ##### temporalElements

            Collection<TemporalExtent> temporalElements

        Provides temporal component of the extent of the referring object.

      - ##### verticalElements

            Collection<VerticalExtent> verticalElements

        Provides vertical component of the extent of the referring object.

  - ### Class DefaultGeographicBoundingBox

    class DefaultGeographicBoundingBox extends AbstractGeographicExtent implements Serializable
    serialVersionUID:
      -9200149606040429957L

    - #### Serialized Fields

      - ##### eastBoundLongitude

            double eastBoundLongitude

        The eastern-most coordinate of the limit of the dataset extent. The value is expressed in longitude in decimal degrees (positive east).

      - ##### northBoundLatitude

            double northBoundLatitude

        The northern-most, coordinate of the limit of the dataset extent. The value is expressed in latitude in decimal degrees (positive north).

      - ##### southBoundLatitude

            double southBoundLatitude

        The southern-most coordinate of the limit of the dataset extent. The value is expressed in latitude in decimal degrees (positive north).

      - ##### westBoundLongitude

            double westBoundLongitude

        The western-most coordinate of the limit of the dataset extent. The value is expressed in longitude in decimal degrees (positive east).

  - ### Class DefaultGeographicDescription

    class DefaultGeographicDescription extends AbstractGeographicExtent implements Serializable
    serialVersionUID:
      7876194854687370299L

    - #### Serialized Fields

      - ##### geographicIdentifier

            Identifier geographicIdentifier

        The identifier used to represent a geographic area.

  - ### Class DefaultSpatialTemporalExtent

    class DefaultSpatialTemporalExtent extends DefaultTemporalExtent implements Serializable
    serialVersionUID:
      -2461142677245013474L

    - #### Serialized Fields

      - ##### spatialExtent

            Collection<GeographicExtent> spatialExtent

        The spatial extent component of composite spatial and temporal extent.

      - ##### verticalExtent

            VerticalExtent verticalExtent

        Vertical extent component.

  - ### Class DefaultTemporalExtent

    class DefaultTemporalExtent extends ISOMetadata implements Serializable
    serialVersionUID:
      -6149873501105795242L

    - #### Serialized Fields

      - ##### extent

            TemporalPrimitive extent

        The date and time for the content of the dataset.

  - ### Class DefaultVerticalExtent

    class DefaultVerticalExtent extends ISOMetadata implements Serializable
    serialVersionUID:
      -1963873471175296153L

    - #### Serialized Fields

      - ##### maximumValue

            Double maximumValue

        The highest vertical extent contained in the dataset.

      - ##### minimumValue

            Double minimumValue

        The lowest vertical extent contained in the dataset.

      - ##### verticalCRS

            VerticalCRS verticalCRS

        Provides information about the vertical coordinate reference system to which the maximum and minimum elevation values are measured. The CRS identification includes unit of measure.

- ## Package org.apache.sis.metadata.iso.identification

  - ### Class AbstractIdentification

    class AbstractIdentification extends ISOMetadata implements Serializable
    serialVersionUID:
      157053637951213015L

    - #### Serialized Fields

      - ##### abstracts

            InternationalString abstracts

        Brief narrative summary of the resource(s).

      - ##### additionalDocumentations

            Collection<Citation> additionalDocumentations

        Other documentation associated with the resource.

      - ##### associatedResources

            Collection<DefaultAssociatedResource> associatedResources

        Provides aggregate dataset information.

      - ##### citation

            Citation citation

        Citation for the resource(s).

      - ##### credits

            Collection<String> credits

        Recognition of those who contributed to the resource(s).

      - ##### descriptiveKeywords

            Collection<Keywords> descriptiveKeywords

        Provides category keywords, their type, and reference source.

      - ##### extents

            Collection<Extent> extents

        Spatial and temporal extent of the resource.

      - ##### graphicOverviews

            Collection<BrowseGraphic> graphicOverviews

        Provides a graphic that illustrates the resource(s) (should include a legend for the graphic).

      - ##### pointOfContacts

            Collection<ResponsibleParty> pointOfContacts

        Identification of, and means of communication with, person(s) and organizations(s) associated with the resource(s).

      - ##### processingLevel

            Identifier processingLevel

        Code that identifies the level of processing in the producers coding system of a resource.

      - ##### purpose

            InternationalString purpose

        Summary of the intentions with which the resource(s) was developed.

      - ##### resourceConstraints

            Collection<Constraints> resourceConstraints

        Provides information about constraints which apply to the resource(s).

      - ##### resourceFormats

            Collection<Format> resourceFormats

        Provides a description of the format of the resource(s).

      - ##### resourceMaintenances

            Collection<MaintenanceInformation> resourceMaintenances

        Provides information about the frequency of resource updates, and the scope of those updates.

      - ##### resourceSpecificUsages

            Collection<Usage> resourceSpecificUsages

        Provides basic information about specific application(s) for which the resource(s) has/have been or is being used by different users.

      - ##### spatialRepresentationTypes

            Collection<SpatialRepresentationType> spatialRepresentationTypes

        Methods used to spatially represent geographic information.

      - ##### spatialResolutions

            Collection<Resolution> spatialResolutions

        Factor which provides a general understanding of the density of spatial data in the resource(s).

      - ##### status

            Collection<Progress> status

        Status of the resource(s).

      - ##### topicCategories

            Collection<TopicCategory> topicCategories

        Main theme(s) of the resource.

  - ### Class DefaultAggregateInformation

    class DefaultAggregateInformation extends DefaultAssociatedResource implements Serializable
    serialVersionUID:
      -8769840909779188495L

  - ### Class DefaultAssociatedResource

    class DefaultAssociatedResource extends ISOMetadata implements Serializable
    serialVersionUID:
      -803259032236939135L

    - #### Serialized Fields

      - ##### associationType

            AssociationType associationType

        Type of relation between the resources.

      - ##### initiativeType

            InitiativeType initiativeType

        Type of initiative under which the associated resource was produced.

      - ##### metadataReference

            Citation metadataReference

        Reference to the metadata of the associated resource.

      - ##### name

            Citation name

        Citation information about the associated resource.

  - ### Class DefaultBrowseGraphic

    class DefaultBrowseGraphic extends ISOMetadata implements Serializable
    serialVersionUID:
      1769063690091153678L

    - #### Serialized Fields

      - ##### fileDescription

            InternationalString fileDescription

        Text description of the illustration.

      - ##### fileName

            URI fileName

        Name of the file that contains a graphic that provides an illustration of the dataset.

      - ##### fileType

            String fileType

        Format in which the illustration is encoded. Examples: CGM, EPS, GIF, JPEG, PBM, PS, TIFF, XWD.

      - ##### imageConstraints

            Collection<Constraints> imageConstraints

        Restrictions on access and/or of browse graphic.

      - ##### linkages

            Collection<OnlineResource> linkages

        Links to browse graphic.

  - ### Class DefaultCoupledResource

    class DefaultCoupledResource extends ISOMetadata implements Serializable
    serialVersionUID:
      154704781596732747L

    - #### Serialized Fields

      - ##### operation

            DefaultOperationMetadata operation

        The service operation.

      - ##### resourceReferences

            Collection<Citation> resourceReferences

        References to the resource on which the services operates.

      - ##### resources

            Collection<DataIdentification> resources

        The tightly coupled resources.

      - ##### scopedName

            ScopedName scopedName

        Scoped identifier of the resource in the context of the given service instance.

  - ### Class DefaultDataIdentification

    class DefaultDataIdentification extends AbstractIdentification implements Serializable
    serialVersionUID:
      7302901752833238436L

    - #### Serialized Fields

      - ##### environmentDescription

            InternationalString environmentDescription

        Description of the dataset in the producers processing environment, including items such as the software, the computer operating system, file name, and the dataset size

      - ##### locales

            Map<Locale,Charset> locales

        Language(s) and character set(s) used within the dataset.

      - ##### supplementalInformation

            InternationalString supplementalInformation

        Any other descriptive information about the dataset.

  - ### Class DefaultKeywordClass

    class DefaultKeywordClass extends ISOMetadata implements Serializable
    serialVersionUID:
      5353835680916000713L

    - #### Serialized Fields

      - ##### className

            InternationalString className

        A character string to label the keyword category in natural language.

      - ##### conceptIdentifier

            URI conceptIdentifier

        URI of concept in the ontology specified by the ontology citation.

      - ##### ontology

            Citation ontology

        Reference that binds the keyword class to a formal conceptualization of a knowledge domain.

  - ### Class DefaultKeywords

    class DefaultKeywords extends ISOMetadata implements Serializable
    serialVersionUID:
      -2765705888428016211L

    - #### Serialized Fields

      - ##### keywordClass

            DefaultKeywordClass keywordClass

        User-defined categorization of groups of keywords that extend or are orthogonal to the standardized keyword type codes.

      - ##### keywords

            Collection<InternationalString> keywords

        Commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.

      - ##### thesaurusName

            Citation thesaurusName

        Name of the formally registered thesaurus or a similar authoritative source of keywords.

      - ##### type

            KeywordType type

        Subject matter used to group similar keywords.

  - ### Class DefaultOperationChainMetadata

    class DefaultOperationChainMetadata extends ISOMetadata implements Serializable
    serialVersionUID:
      4132508877114835286L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        A narrative explanation of the services in the chain and resulting output.

      - ##### name

            InternationalString name

        The name as used by the service for this chain.

      - ##### operations

            List<DefaultOperationMetadata> operations

        Information about the operations applied by the chain.

  - ### Class DefaultOperationMetadata

    class DefaultOperationMetadata extends ISOMetadata implements Serializable
    serialVersionUID:
      -3513177609655567627L

    - #### Serialized Fields

      - ##### connectPoints

            Collection<OnlineResource> connectPoints

        Handle for accessing the service interface.

      - ##### dependsOn

            List<DefaultOperationMetadata> dependsOn

        List of operation that must be completed immediately.

      - ##### distributedComputingPlatforms

            Collection<CodeList<?>> distributedComputingPlatforms

        Distributed computing platforms on which the operation has been implemented.

      - ##### invocationName

            InternationalString invocationName

        The name used to invoke this interface within the context of the DCP.

      - ##### operationDescription

            InternationalString operationDescription

        Free text description of the intent of the operation and the results of the operation.

      - ##### operationName

            String operationName

        An unique identifier for this interface.

      - ##### parameters

            Collection<ParameterDescriptor<?>> parameters

        The parameters that are required for this interface.

  - ### Class DefaultRepresentativeFraction

    class DefaultRepresentativeFraction extends Number implements Serializable
    serialVersionUID:
      -6043871487256529207L

    - #### Serialized Fields

      - ##### denominator

            long denominator

        The number below the line in a vulgar fraction, or 0 if undefined.

      - ##### identifiers

            Collection<Identifier> identifiers

        All identifiers associated with this metadata, or `null` if none. This field is initialized to a non-null value when first needed.

  - ### Class DefaultResolution

    class DefaultResolution extends ISOMetadata implements Serializable
    serialVersionUID:
      4333582736458380544L

    - #### Serialized Fields

      - ##### property

            byte property

        Specifies which property is set, or 0 if none.

      - ##### value

            Object value

        Either the scale as a `RepresentativeFraction` instance, the distance, the angle, or the level of details as an `InternationalString` instance.

  - ### Class DefaultServiceIdentification

    class DefaultServiceIdentification extends AbstractIdentification implements Serializable
    serialVersionUID:
      7700836694236616300L

    - #### Serialized Fields

      - ##### accessProperties

            StandardOrderProcess accessProperties

        Information about the availability of the service.

      - ##### containsChain

            Collection<DefaultOperationChainMetadata> containsChain

        Information about the chain applied by the service.

      - ##### containsOperations

            Collection<DefaultOperationMetadata> containsOperations

        Information about the operations that comprise the service.

      - ##### coupledResources

            Collection<DefaultCoupledResource> coupledResources

        Further description of the data coupling in the case of tightly coupled services.

      - ##### couplingType

            CodeList<?> couplingType

        Type of coupling between service and associated data (if exist).

      - ##### operatedDatasets

            Collection<Citation> operatedDatasets

        References to the resource on which the service operates.

      - ##### operatesOn

            Collection<DataIdentification> operatesOn

        Information on the resources that the service operates on.

      - ##### profiles

            Collection<Citation> profiles

        Profiles to which the service adheres.

      - ##### serviceStandards

            Collection<Citation> serviceStandards

        Standards to which the service adheres.

      - ##### serviceType

            GenericName serviceType

        A service type name.

      - ##### serviceTypeVersions

            Collection<String> serviceTypeVersions

        The version of the service, supports searching based on the version of serviceType.

  - ### Class DefaultUsage

    class DefaultUsage extends ISOMetadata implements Serializable
    serialVersionUID:
      7464000583573398579L

    - #### Serialized Fields

      - ##### additionalDocumentation

            Collection<Citation> additionalDocumentation

        Publication that describe usage of data.

      - ##### identifiedIssues

            Collection<Citation> identifiedIssues

        Citation of a description of known issues associated with the resource along with proposed solutions if available.

      - ##### responses

            Collection<InternationalString> responses

        Responses to the user-determined limitations.

      - ##### specificUsage

            InternationalString specificUsage

        Brief description of the resource and/or resource series usage.

      - ##### usageDate

            long usageDate

        Date and time of the first use or range of uses of the resource and/or resource series. Values are milliseconds elapsed since January 1st, 1970, or `Long.MIN_VALUE` if this value is not set.

      - ##### userContactInfo

            Collection<ResponsibleParty> userContactInfo

        Identification of and means of communicating with person(s) and organization(s) using the resource(s).

      - ##### userDeterminedLimitations

            InternationalString userDeterminedLimitations

        Applications, determined by the user for which the resource and/or resource series is not suitable.

- ## Package org.apache.sis.metadata.iso.lineage

  - ### Class DefaultAlgorithm

    class DefaultAlgorithm extends ISOMetadata implements Serializable
    serialVersionUID:
      5718445163047946957L

    - #### Serialized Fields

      - ##### citation

            Citation citation

        Information identifying the algorithm and version or date.

      - ##### description

            InternationalString description

        Information describing the algorithm used to generate the data.

  - ### Class DefaultLineage

    class DefaultLineage extends ISOMetadata implements Serializable
    serialVersionUID:
      6214461492323186254L

    - #### Serialized Fields

      - ##### additionalDocumentation

            Collection<Citation> additionalDocumentation

        A resources (for example publication) that describes the whole process to generate this resource (for example a dataset).

      - ##### processSteps

            Collection<ProcessStep> processSteps

        Information about an event in the creation process for the data specified by the scope.

      - ##### scope

            Scope scope

        Type of resource and / or extent to which the lineage information applies.

      - ##### sources

            Collection<Source> sources

        Information about the source data used in creating the data specified by the scope.

      - ##### statement

            InternationalString statement

        General explanation of the data producer's knowledge about the lineage of a dataset. Should be provided only if scope level is dataset or series.

  - ### Class DefaultNominalResolution

    class DefaultNominalResolution extends ISOMetadata implements Serializable
    serialVersionUID:
      -4000422414866855607L

    - #### Serialized Fields

      - ##### groundResolution

            Double groundResolution

        Distance between consistent parts of (centre, left side, right side) adjacent pixels in the object space.

      - ##### scanningResolution

            Double scanningResolution

        Distance between consistent parts of (centre, left side, right side) adjacent pixels in the scan plane.

  - ### Class DefaultProcessing

    class DefaultProcessing extends ISOMetadata implements Serializable
    serialVersionUID:
      5698533358975632857L

    - #### Serialized Fields

      - ##### algorithms

            Collection<Algorithm> algorithms

        Details of the methodology by which geographic information was derived from the instrument readings.

      - ##### documentations

            Collection<Citation> documentations

        Reference to documentation describing the processing.

      - ##### procedureDescription

            InternationalString procedureDescription

        Additional details about the processing procedures.

      - ##### runTimeParameters

            InternationalString runTimeParameters

        Parameters to control the processing operations, entered at run time.

      - ##### softwareReferences

            Collection<Citation> softwareReferences

        Reference to document describing processing software.

  - ### Class DefaultProcessStep

    class DefaultProcessStep extends ISOMetadata implements Serializable
    serialVersionUID:
      -2338712901907082970L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        Description of the event, including related parameters or tolerances.

      - ##### outputs

            Collection<Source> outputs

        Description of the product generated as a result of the process step.

      - ##### processingInformation

            Processing processingInformation

        Comprehensive information about the procedure by which the algorithm was applied to derive geographic data from the raw instrument measurements, such as datasets, software used, and the processing environment.

      - ##### processors

            Collection<ResponsibleParty> processors

        Identification of, and means of communication with, person(s) and organization(s) associated with the process step.

      - ##### rationale

            InternationalString rationale

        Requirement or purpose for the process step.

      - ##### references

            Collection<Citation> references

        Process step documentation.

      - ##### reports

            Collection<ProcessStepReport> reports

        Report generated by the process step.

      - ##### scope

            Scope scope

        Type of resource and / or extent to which the process step applies.

      - ##### sources

            Collection<Source> sources

        Information about the source data used in creating the data specified by the scope.

      - ##### stepDateTime

            TemporalPrimitive stepDateTime

        Date, time or range of date and time over which the process step occurred.

  - ### Class DefaultProcessStepReport

    class DefaultProcessStepReport extends ISOMetadata implements Serializable
    serialVersionUID:
      -6413716753156038081L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        Textual description of what occurred during the process step.

      - ##### fileType

            InternationalString fileType

        Type of file that contains the processing report.

      - ##### name

            InternationalString name

        Name of the processing report.

  - ### Class DefaultSource

    class DefaultSource extends ISOMetadata implements Serializable
    serialVersionUID:
      -8444238043227180224L

    - #### Serialized Fields

      - ##### description

            InternationalString description

        Detailed description of the level of the source data.

      - ##### processedLevel

            Identifier processedLevel

        Processing level of the source data.

      - ##### resolution

            NominalResolution resolution

        Distance between consistent parts (centre, left side, right side) of two adjacent pixels.

      - ##### scope

            Scope scope

        Type and / or extent of the source.

      - ##### sourceCitation

            Citation sourceCitation

        Recommended reference to be used for the source data.

      - ##### sourceMetadata

            Collection<Citation> sourceMetadata

        Reference to metadata for the source.

      - ##### sourceReferenceSystem

            ReferenceSystem sourceReferenceSystem

        Spatial reference system used by the source data.

      - ##### sourceSpatialResolution

            Resolution sourceSpatialResolution

        Spatial resolution expressed as a scale factor, an angle or a level of detail.

      - ##### sourceSteps

            Collection<ProcessStep> sourceSteps

        Information about an event in the creation process for the source data.

- ## Package org.apache.sis.metadata.iso.maintenance

  - ### Class DefaultMaintenanceInformation

    class DefaultMaintenanceInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      -8736825706141936429L

    - #### Serialized Fields

      - ##### contacts

            Collection<ResponsibleParty> contacts

        Identification of, and means of communicating with, person(s) and organization(s) with responsibility for maintaining the resource.

      - ##### maintenanceAndUpdateFrequency

            MaintenanceFrequency maintenanceAndUpdateFrequency

        Frequency with which changes and additions are made to the resource after the initial resource is completed.

      - ##### maintenanceDates

            Collection<CitationDate> maintenanceDates

        Date information associated with maintenance of resource.

      - ##### maintenanceNotes

            Collection<InternationalString> maintenanceNotes

        Information regarding specific requirements for maintaining the resource.

      - ##### maintenanceScopes

            Collection<Scope> maintenanceScopes

        Type of resource and / or extent to which the maintenance information applies.

      - ##### userDefinedMaintenanceFrequency

            PeriodDuration userDefinedMaintenanceFrequency

        Maintenance period other than those defined, in milliseconds.

  - ### Class DefaultScope

    class DefaultScope extends ISOMetadata implements Serializable
    serialVersionUID:
      -979575548481874359L

    - #### Serialized Fields

      - ##### extents

            Collection<Extent> extents

        Information about the spatial, vertical and temporal extent of the resource specified by the scope.

      - ##### level

            ScopeCode level

        Hierarchical level of the data specified by the scope.

      - ##### levelDescription

            Collection<ScopeDescription> levelDescription

        Detailed description about the level of the data specified by the scope.

  - ### Class DefaultScopeDescription

    class DefaultScopeDescription extends ISOMetadata implements Serializable
    serialVersionUID:
      -2029119689389845656L

    - #### Serialized Fields

      - ##### property

            byte property

        Specifies which property is set, or 0 if none.

      - ##### value

            Object value

        The value, as one of the following types:
        - `Set<FeatureType>` for the `features` property
        - `Set<AttributeType>` for the `attributes` property
        - `Set<FeatureType>` for the `featureInstances` property
        - `Set<AttributeType>` for the `attributeInstances` property
        - `String` for the `dataset` property
        - `String` for the `other` property

- ## Package org.apache.sis.metadata.iso.quality

  - ### Class AbstractCompleteness

    class AbstractCompleteness extends AbstractElement implements Serializable
    serialVersionUID:
      8839542601508369777L

  - ### Class AbstractElement

    class AbstractElement extends ISOMetadata implements Serializable
    serialVersionUID:
      3963454452767190970L

    - #### Serialized Fields

      - ##### dates

            AbstractElement.Dates dates

        Start time (`date1`) and end time (`date2`) on which a data quality measure was applied.
        TODO:
          Needs to be made unmodifiable after transition to `ModifiableMetadata.State.FINAL`.

      - ##### evaluationMethodDescription

            InternationalString evaluationMethodDescription

        Description of the evaluation method.

      - ##### evaluationMethodType

            EvaluationMethodType evaluationMethodType

        Type of method used to evaluate quality of the dataset, or `null` if unspecified.

      - ##### evaluationProcedure

            Citation evaluationProcedure

        Reference to the procedure information, or `null` if none.

      - ##### measureDescription

            InternationalString measureDescription

        Description of the measure being determined.

      - ##### measureIdentification

            Identifier measureIdentification

        Code identifying a registered standard procedure, or `null` if none.

      - ##### namesOfMeasure

            Collection<InternationalString> namesOfMeasure

        Name of the test applied to the data.

      - ##### results

            Collection<Result> results

        Value (or set of values) obtained from applying a data quality measure or the out come of evaluating the obtained value (or set of values) against a specified acceptable conformance quality level.

  - ### Class AbstractLogicalConsistency

    class AbstractLogicalConsistency extends AbstractElement implements Serializable
    serialVersionUID:
      -1795493465311213248L

  - ### Class AbstractPositionalAccuracy

    class AbstractPositionalAccuracy extends AbstractElement implements Serializable
    serialVersionUID:
      1127147951521512624L

  - ### Class AbstractResult

    class AbstractResult extends ISOMetadata implements Serializable
    serialVersionUID:
      3510023908820052467L

  - ### Class AbstractTemporalAccuracy

    class AbstractTemporalAccuracy extends AbstractElement implements Serializable
    serialVersionUID:
      -6273519060177989201L

  - ### Class AbstractThematicAccuracy

    class AbstractThematicAccuracy extends AbstractElement implements Serializable
    serialVersionUID:
      7256282057348615018L

  - ### Class DefaultAbsoluteExternalPositionalAccuracy

    class DefaultAbsoluteExternalPositionalAccuracy extends AbstractPositionalAccuracy implements Serializable
    serialVersionUID:
      -5520313307277547148L

  - ### Class DefaultAccuracyOfATimeMeasurement

    class DefaultAccuracyOfATimeMeasurement extends AbstractTemporalAccuracy implements Serializable
    serialVersionUID:
      2248263966450664491L

  - ### Class DefaultCompletenessCommission

    class DefaultCompletenessCommission extends AbstractCompleteness implements Serializable
    serialVersionUID:
      1941293019209523920L

  - ### Class DefaultCompletenessOmission

    class DefaultCompletenessOmission extends AbstractCompleteness implements Serializable
    serialVersionUID:
      6782225824097039360L

  - ### Class DefaultConceptualConsistency

    class DefaultConceptualConsistency extends AbstractLogicalConsistency implements Serializable
    serialVersionUID:
      -8842701325499002671L

  - ### Class DefaultConformanceResult

    class DefaultConformanceResult extends AbstractResult implements Serializable
    serialVersionUID:
      -2958690684356371311L

    - #### Serialized Fields

      - ##### explanation

            InternationalString explanation

        Explanation of the meaning of conformance for this result.

      - ##### pass

            Boolean pass

        Indication of the conformance result.

        The field is directly annotated here, because the getter method is called `DefaultConformanceResult.pass()`, and JAXB does not recognize it. The method should have been called getPass() or isPass().

      - ##### specification

            Citation specification

        Citation of product specification or user requirement against which data is being evaluated.

  - ### Class DefaultCoverageResult

    class DefaultCoverageResult extends AbstractResult implements Serializable
    serialVersionUID:
      5860811052940576277L

    - #### Serialized Fields

      - ##### resultContentDescription

            CoverageDescription resultContentDescription

        Provides the description of the content of the result coverage, i.e. semantic definition of the data quality measures.

      - ##### resultFile

            DataFile resultFile

        Provides information about the data file containing the result coverage data.

      - ##### resultFormat

            Format resultFormat

        Provides information about the format of the result coverage data.

      - ##### resultSpatialRepresentation

            SpatialRepresentation resultSpatialRepresentation

        Provides the digital representation of data quality measures composing the coverage result.

      - ##### spatialRepresentationType

            SpatialRepresentationType spatialRepresentationType

        Method used to spatially represent the coverage result.

  - ### Class DefaultDataQuality

    class DefaultDataQuality extends ISOMetadata implements Serializable
    serialVersionUID:
      5036527927404894540L

    - #### Serialized Fields

      - ##### lineage

            Lineage lineage

        Non-quantitative quality information about the lineage of the data specified by the scope. Should be provided only if scope level is dataset.

      - ##### reports

            Collection<Element> reports

        Quantitative quality information for the data specified by the scope. Should be provided only if scope level is dataset.

      - ##### scope

            Scope scope

        The specific data to which the data quality information applies.

  - ### Class DefaultDomainConsistency

    class DefaultDomainConsistency extends AbstractLogicalConsistency implements Serializable
    serialVersionUID:
      -2397510938251794672L

  - ### Class DefaultFormatConsistency

    class DefaultFormatConsistency extends AbstractLogicalConsistency implements Serializable
    serialVersionUID:
      -1891952351079148415L

  - ### Class DefaultGriddedDataPositionalAccuracy

    class DefaultGriddedDataPositionalAccuracy extends AbstractPositionalAccuracy implements Serializable
    serialVersionUID:
      1006810371734607137L

  - ### Class DefaultNonQuantitativeAttributeAccuracy

    class DefaultNonQuantitativeAttributeAccuracy extends AbstractThematicAccuracy implements Serializable
    serialVersionUID:
      -8777909940058192886L

  - ### Class DefaultQuantitativeAttributeAccuracy

    class DefaultQuantitativeAttributeAccuracy extends AbstractThematicAccuracy implements Serializable
    serialVersionUID:
      4190822658851541881L

  - ### Class DefaultQuantitativeResult

    class DefaultQuantitativeResult extends AbstractResult implements Serializable
    serialVersionUID:
      -403671810118461829L

    - #### Serialized Fields

      - ##### errorStatistic

            InternationalString errorStatistic

        Statistical method used to determine the value, or `null` if none.

      - ##### values

            List<Record> values

        Quantitative value or values, content determined by the evaluation procedure used.

      - ##### valueType

            RecordType valueType

        Value type for reporting a data quality result, or `null` if none.

      - ##### valueUnit

            Unit<?> valueUnit

        Value unit for reporting a data quality result, or `null` if none.

  - ### Class DefaultRelativeInternalPositionalAccuracy

    class DefaultRelativeInternalPositionalAccuracy extends AbstractPositionalAccuracy implements Serializable
    serialVersionUID:
      8385667875833802576L

  - ### Class DefaultScope

    class DefaultScope extends DefaultScope implements Serializable
    serialVersionUID:
      7517784393752337009L

  - ### Class DefaultTemporalConsistency

    class DefaultTemporalConsistency extends AbstractTemporalAccuracy implements Serializable
    serialVersionUID:
      5468604313098465903L

  - ### Class DefaultTemporalValidity

    class DefaultTemporalValidity extends AbstractTemporalAccuracy implements Serializable
    serialVersionUID:
      7271555924670981058L

  - ### Class DefaultThematicClassificationCorrectness

    class DefaultThematicClassificationCorrectness extends AbstractThematicAccuracy implements Serializable
    serialVersionUID:
      2503537202481975130L

  - ### Class DefaultTopologicalConsistency

    class DefaultTopologicalConsistency extends AbstractLogicalConsistency implements Serializable
    serialVersionUID:
      5797622283821358613L

  - ### Class DefaultUsability

    class DefaultUsability extends AbstractElement implements Serializable
    serialVersionUID:
      -7316059750787640719L

- ## Package org.apache.sis.metadata.iso.spatial

  - ### Class AbstractGeolocationInformation

    class AbstractGeolocationInformation extends ISOMetadata implements Serializable
    serialVersionUID:
      2234791083092464542L

    - #### Serialized Fields

      - ##### qualityInfo

            Collection<DataQuality> qualityInfo

        Provides an overall assessment of quality of geolocation information.

  - ### Class AbstractSpatialRepresentation

    class AbstractSpatialRepresentation extends ISOMetadata implements Serializable
    serialVersionUID:
      -2238840586154687777L

  - ### Class DefaultDimension

    class DefaultDimension extends ISOMetadata implements Serializable
    serialVersionUID:
      1104542984724265236L

    - #### Serialized Fields

      - ##### dimensionDescription

            InternationalString dimensionDescription

        Description of the axis.

      - ##### dimensionName

            DimensionNameType dimensionName

        Name of the axis.

      - ##### dimensionSize

            Integer dimensionSize

        Number of elements along the axis.

      - ##### dimensionTitle

            InternationalString dimensionTitle

        Enhancement/ modifier of the dimension name. Example: dimensionName = "column", dimensionTitle = "longitude"

      - ##### resolution

            Double resolution

        Degree of detail in the grid dataset.

  - ### Class DefaultGCP

    class DefaultGCP extends ISOMetadata implements Serializable
    serialVersionUID:
      -2021981491910341192L

    - #### Serialized Fields

      - ##### accuracyReports

            Collection<Element> accuracyReports

        Accuracy of a ground control point.

      - ##### geographicCoordinates

            DirectPosition geographicCoordinates

        Geographic or map position of the control point, in either two or three dimensions.

  - ### Class DefaultGCPCollection

    class DefaultGCPCollection extends AbstractGeolocationInformation implements Serializable
    serialVersionUID:
      -2757911443659529373L

    - #### Serialized Fields

      - ##### collectionIdentification

            Integer collectionIdentification

        Identifier of the GCP collection.

      - ##### collectionName

            InternationalString collectionName

        Name of the GCP collection.

      - ##### coordinateReferenceSystem

            ReferenceSystem coordinateReferenceSystem

        Coordinate system in which the ground control points are defined.

      - ##### GCPs

            Collection<GCP> GCPs

        Ground control point(s) used in the collection.

  - ### Class DefaultGeometricObjects

    class DefaultGeometricObjects extends ISOMetadata implements Serializable
    serialVersionUID:
      -7965994170083468201L

    - #### Serialized Fields

      - ##### geometricObjectCount

            Integer geometricObjectCount

        Total number of the point or vector object type occurring in the dataset.

      - ##### geometricObjectType

            GeometricObjectType geometricObjectType

        Total number of the point or vector object type occurring in the dataset.

  - ### Class DefaultGeorectified

    class DefaultGeorectified extends DefaultGridSpatialRepresentation implements Serializable
    serialVersionUID:
      -2924562334097446037L

    - #### Serialized Fields

      - ##### centerPoint

            Point centerPoint

        Earth location in the coordinate system defined by the Spatial Reference System and the grid coordinate of the cell halfway between opposite ends of the grid in the spatial dimensions.

      - ##### checkPointDescription

            InternationalString checkPointDescription

        Description of geographic position points used to test the accuracy of the georeferenced grid data.

      - ##### checkPoints

            Collection<GCP> checkPoints

        Geographic references used to validate georectification of the data.

      - ##### cornerPoints

            List<Point> cornerPoints

        Earth location in the coordinate system defined by the Spatial Reference System and the grid coordinate of the cells at opposite ends of grid coverage along two diagonals in the grid spatial dimensions. There are four corner points in a georectified grid; at least two corner points along one diagonal are required.

      - ##### pointInPixel

            PixelOrientation pointInPixel

        Point in a pixel corresponding to the Earth location of the pixel.

      - ##### transformationDimensionDescription

            InternationalString transformationDimensionDescription

        Description of the information about which grid dimensions are the spatial dimensions.

      - ##### transformationDimensionMapping

            Collection<InternationalString> transformationDimensionMapping

        Information about which grid dimensions are the spatial dimensions.

  - ### Class DefaultGeoreferenceable

    class DefaultGeoreferenceable extends DefaultGridSpatialRepresentation implements Serializable
    serialVersionUID:
      -334605303200205283L

    - #### Serialized Fields

      - ##### geolocationInformation

            Collection<GeolocationInformation> geolocationInformation

        Information that can be used to geolocate the data.

      - ##### georeferencedParameters

            Record georeferencedParameters

        Terms which support grid data georeferencing.

      - ##### orientationParameterDescription

            InternationalString orientationParameterDescription

        Description of parameters used to describe sensor orientation.

      - ##### parameterCitations

            Collection<Citation> parameterCitations

        Reference providing description of the parameters.

  - ### Class DefaultGridSpatialRepresentation

    class DefaultGridSpatialRepresentation extends AbstractSpatialRepresentation implements Serializable
    serialVersionUID:
      -1111392086980738831L

    - #### Serialized Fields

      - ##### axisDimensionProperties

            List<Dimension> axisDimensionProperties

        Information about spatial-temporal axis properties.

      - ##### booleans

            byte booleans

        The set of booleans values. Bits are read and written using the `*_MASK` constants.
        See Also:
          - `DefaultGridSpatialRepresentation.TRANSFORMATION_MASK`
          - `DefaultGeorectified.CHECK_POINT_MASK`
          - `DefaultGeoreferenceable.CONTROL_POINT_MASK`
          - `DefaultGeoreferenceable.OPERATION_MASK`

      - ##### cellGeometry

            CellGeometry cellGeometry

        Identification of grid data as point or cell.

      - ##### numberOfDimensions

            Integer numberOfDimensions

        Number of independent spatial-temporal axes.

  - ### Class DefaultVectorSpatialRepresentation

    class DefaultVectorSpatialRepresentation extends AbstractSpatialRepresentation implements Serializable
    serialVersionUID:
      -5891825325520101913L

    - #### Serialized Fields

      - ##### geometricObjects

            Collection<GeometricObjects> geometricObjects

        Information about the geometric objects used in the dataset.

      - ##### topologyLevel

            TopologyLevel topologyLevel

        Code which identifies the degree of complexity of the spatial relationships.

- ## Package org.apache.sis.metadata.sql

  - ### Exception MetadataStoreException

    class MetadataStoreException extends Exception implements Serializable
    serialVersionUID:
      -7156617726114815455L

- ## Package org.apache.sis.parameter

  - ### Class AbstractParameterDescriptor

    class AbstractParameterDescriptor extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      -4346475760810353590L

    - #### Serialized Fields

      - ##### maximumOccurs

            short maximumOccurs

        The maximum number of times that values for this parameter group are required, as an unsigned short. Value `0xFFFF` (or -1) means an unrestricted number of occurrences.

        We use a short because this value is usually 1 or a very small number like 2 or 3. This also serve as a safety since a large number would be a bad idea with this parameter implementation.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractParameterDescriptor.setNonDefaultMaximumOccurs(Integer)`

      - ##### minimumOccurs

            short minimumOccurs

        The minimum number of times that values for this parameter group are required, as an unsigned short. We use a short because this value is usually either 0 or 1, or a very small number like 2 or 3. A large number would be a bad idea with this parameter implementation.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractParameterDescriptor.setNonDefaultMinimumOccurs(Integer)`

  - ### Class DefaultParameterDescriptor

    class DefaultParameterDescriptor extends AbstractParameterDescriptor implements Serializable
    serialVersionUID:
      -1978932430298071693L

    - #### Serialized Fields

      - ##### defaultValue

            T defaultValue

        The default value for the parameter, or `null`.
        See Also:
          - `DefaultParameterDescriptor.getDefaultValue()`

      - ##### validValues

            Set<T> validValues

        A set of valid values (usually from a code list) or `null` if it does not apply. This set is immutable.
        See Also:
          - `DefaultParameterDescriptor.getValidValues()`

      - ##### valueClass

            Class<T> valueClass

        The class that describe the type of parameter values.
        See Also:
          - `DefaultParameterDescriptor.getValueClass()`

      - ##### valueDomain

            Range<?> valueDomain

        The minimum and maximum parameter value with their unit of measurement, or `null` if none. If this field is non-null, then `valueDomain.getElementType()` shall be one of the following:
        - If `DefaultParameterDescriptor.valueClass` is not an array, then the range element type shall be the same class.
        - If `valueClass` is an array, then the range element type shall be the wrapper of `valueClass.getComponentType()`.
        See Also:
          - `DefaultParameterDescriptor.getValueDomain()`

  - ### Class DefaultParameterDescriptorGroup

    class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor implements Serializable
    serialVersionUID:
      6058599597772994456L

    - #### Serialized Fields

      - ##### descriptors

            List<GeneralParameterDescriptor> descriptors

        The parameter descriptors for this group.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultParameterDescriptorGroup.setDescriptors(GeneralParameterDescriptor[])`

        See Also:
          - `DefaultParameterDescriptorGroup.descriptors()`

  - ### Class DefaultParameterValue

    class DefaultParameterValue extends FormattableObject implements Serializable
    serialVersionUID:
      -5837826787089486776L

    - #### Serialized Fields

      - ##### descriptor

            ParameterDescriptor<T> descriptor

        The definition of this parameter.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultParameterValue.setDescriptor(ParameterDescriptor)`

        See Also:
          - `DefaultParameterValue.getDescriptor()`

      - ##### unit

            Unit<?> unit

        The unit of measure for the value, or `null` if it does not apply. Except for the constructors, the `DefaultParameterValue.equals(Object)` and the `DefaultParameterValue.hashCode()` methods, this field should be read only by `DefaultParameterValue.getUnit()` and written only by `DefaultParameterValue.setValue(Object, Unit)`.
        Since:
          0.7

      - ##### value

            T value

        The value, or `null` if undefined. Except for the constructors, the `DefaultParameterValue.equals(Object)` and the `DefaultParameterValue.hashCode()` methods, this field should be read only by `DefaultParameterValue.getValue()` and written only by `DefaultParameterValue.setValue(Object, Unit)`.
        Since:
          0.7

  - ### Class DefaultParameterValueGroup

    class DefaultParameterValueGroup extends Parameters implements Serializable
    serialVersionUID:
      -1985309386356545126L

    - #### Serialized Fields

      - ##### values

            ParameterValueList values

        Contains the descriptor and the parameter values for this group.

        Consider this field as final! This field is modified only by the `DefaultParameterValueGroup.clone()` method and at unmarshalling time by `DefaultParameterValueGroup.setValues(GeneralParameterValue[])`

        See Also:
          - `DefaultParameterValueGroup.values()`

  - ### Class ParameterFormat

    class ParameterFormat extends TabularFormat<Object> implements Serializable
    serialVersionUID:
      -1345231739800152411L

    - #### Serialized Fields

      - ##### colors

            Colors colors

        The colors for an output on X3.64 compatible terminal, or `null` if none.
        See Also:
          - `ParameterFormat.getColors()`

      - ##### contentLevel

            ParameterFormat.ContentLevel contentLevel

        The amount of information to put in the table.
        See Also:
          - `ParameterFormat.getContentLevel()`

      - ##### displayLocale

            Locale displayLocale

        The locale for international strings.

      - ##### preferredCodespaces

            Set<String> preferredCodespaces

        If the identifier should be written only for some code spaces, those code spaces. Otherwise `null`. This set should not be modified; new set are created if needed.
        See Also:
          - `ParameterFormat.getPreferredCodespaces()`

  - ### Class TensorParameters

    class TensorParameters extends Object implements Serializable
    serialVersionUID:
      -7386537348359343836L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring the `TensorParameters.parameters` array.
        Parameters:
          `in` - the input stream from which to deserialize a group of tensor parameters.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### dimensions

            ParameterDescriptor<Integer>[] dimensions

        The parameters that define the number of rows, columns or other dimensions. In WKT1, the parameter names are `"num_row"` and `"num_col"` respectively.

        The length of this array determine the tensor rank.

      - ##### elementType

            Class<E> elementType

        The type of tensor element values.

      - ##### prefix

            String prefix

        The prefix of parameter names for tensor elements. This is `"elt_"` in WKT 1.

      - ##### separator

            String separator

        The separator between row and column in parameter names for tensor elements. This is `"_"` in WKT 1.

- ## Package org.apache.sis.portrayal

  - ### Exception RenderException

    class RenderException extends Exception implements Serializable
    serialVersionUID:
      4185833217030999642L

- ## Package org.apache.sis.referencing

  - ### Class AbstractIdentifiedObject

    class AbstractIdentifiedObject extends FormattableObject implements Serializable
    serialVersionUID:
      -5173281694258483264L

    - #### Serialized Fields

      - ##### alias

            Collection<GenericName> alias

        An alternative name by which this object is identified, or `null` if none. We must be prepared to handle either null or an empty set for "no alias" because we may get both on unmarshalling.

        Consider this field as final! This field is modified only at unmarshalling time by `Names.add(Identifier)`.

      - ##### deprecated

            boolean deprecated

        `true` if this object is deprecated.
        Since:
          0.6

      - ##### identifiers

            Set<ReferenceIdentifier> identifiers

        An identifier which references elsewhere the object's defining information. Alternatively an identifier by which this object can be referenced.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractIdentifiedObject.setIdentifier(Code)`

        See Also:
          - `AbstractIdentifiedObject.getIdentifiers()`
          - `AbstractIdentifiedObject.getIdentifier()`

      - ##### name

            ReferenceIdentifier name

        The name for this object or code. Shall never be `null`.

        Consider this field as final! This field is modified only at unmarshalling time by `Names.add(Identifier)`.

        See Also:
          - `AbstractIdentifiedObject.getName()`
          - `AbstractIdentifiedObject.getNames()`

      - ##### remarks

            InternationalString remarks

        Comments on or information about this object, or `null` if none.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractIdentifiedObject.setRemarks(InternationalString)`

        See Also:
          - `AbstractIdentifiedObject.getRemarks()`

  - ### Class AbstractReferenceSystem

    class AbstractReferenceSystem extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      3337659819553899435L

    - #### Serialized Fields

      - ##### domainOfValidity

            Extent domainOfValidity

        Area for which the (coordinate) reference system is valid.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractReferenceSystem.setDomainOfValidity(Extent)`

        See Also:
          - `AbstractReferenceSystem.getDomainOfValidity()`

      - ##### scope

            InternationalString scope

        Description of domain of usage, or limitations of usage, for which this (coordinate) reference system object is valid.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractReferenceSystem.setScope(InternationalString)`

        See Also:
          - `AbstractReferenceSystem.getScope()`

  - ### Exception GeodeticException

    class GeodeticException extends RuntimeException implements Serializable
    serialVersionUID:
      -7844524593329236175L

  - ### Class ImmutableIdentifier

    class ImmutableIdentifier extends FormattableObject implements Serializable
    serialVersionUID:
      1804606250548055829L

    - #### Serialized Fields

      - ##### authority

            Citation authority

        The person or party responsible for maintenance of the namespace, or `null` if not available.
        See Also:
          - `ImmutableIdentifier.getAuthority()`

      - ##### code

            String code

        Alphanumeric value identifying an instance in the namespace.
        See Also:
          - `ImmutableIdentifier.getCode()`

      - ##### codeSpace

            String codeSpace

        Identifier or namespace in which the code is valid, or `null` if not available. This is often an abbreviation of the authority name.
        See Also:
          - `ImmutableIdentifier.getCodeSpace()`

      - ##### description

            InternationalString description

        Natural language description of the meaning of the code value.

      - ##### version

            String version

        Version identifier for the namespace, as specified by the code authority. This version is included only when the code uses versions. When appropriate, the edition is identified by the effective date, coded using ISO 8601 date format.
        See Also:
          - `ImmutableIdentifier.getVersion()`

  - ### Class NamedIdentifier

    class NamedIdentifier extends ImmutableIdentifier implements Serializable
    serialVersionUID:
      -3982456534858346939L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for reading the name written by `NamedIdentifier.writeObject(ObjectOutputStream)`, if any.
        Parameters:
          `in` - the input stream from which to deserialize a named identifier.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Invoked on serialization for writing the NamedIdentifier.name if it was supplied by the user. Otherwise, we will let `NamedIdentifier.getName()` recompute the name only when needed.
        Parameters:
          `out` - the output stream where to serialize this named identifier.
        Throws:
          `IOException` - if an I/O error occurred while writing.

- ## Package org.apache.sis.referencing.crs

  - ### Class AbstractCRS

    class AbstractCRS extends AbstractReferenceSystem implements Serializable
    serialVersionUID:
      -7433284548909530047L

    - #### Serialized Fields

      - ##### coordinateSystem

            CoordinateSystem coordinateSystem

        The coordinate system.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractCRS.setCoordinateSystem(String, CoordinateSystem)`

        See Also:
          - `AbstractCRS.getCoordinateSystem()`

  - ### Class DefaultCompoundCRS

    class DefaultCompoundCRS extends AbstractCRS implements Serializable
    serialVersionUID:
      -2656710314586929287L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Computes the single CRS list on deserialization.
        Parameters:
          `in` - the input stream from which to deserialize a compound CRS.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### components

            List<? extends CoordinateReferenceSystem> components

        The coordinate reference systems in this compound CRS. May be the same reference than `DefaultCompoundCRS.singles`.

        Consider this field as final! This field is modified only at construction and unmarshalling time by `DefaultCompoundCRS.setComponents(List)`

  - ### Class DefaultDerivedCRS

    class DefaultDerivedCRS extends AbstractDerivedCRS<Conversion> implements Serializable
    serialVersionUID:
      -8149602276542469876L

  - ### Class DefaultEngineeringCRS

    class DefaultEngineeringCRS extends AbstractCRS implements Serializable
    serialVersionUID:
      6695541732063382701L

    - #### Serialized Fields

      - ##### datum

            EngineeringDatum datum

        The datum.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultEngineeringCRS.setDatum(EngineeringDatum)`

        See Also:
          - `DefaultEngineeringCRS.getDatum()`

  - ### Class DefaultGeocentricCRS

    class DefaultGeocentricCRS extends DefaultGeodeticCRS implements Serializable
    serialVersionUID:
      6784642848287659827L

  - ### Class DefaultGeographicCRS

    class DefaultGeographicCRS extends DefaultGeodeticCRS implements Serializable
    serialVersionUID:
      861224913438092335L

  - ### Class DefaultImageCRS

    class DefaultImageCRS extends AbstractCRS implements Serializable
    serialVersionUID:
      7312452786096397847L

    - #### Serialized Fields

      - ##### datum

            ImageDatum datum

        The datum.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultImageCRS.setDatum(ImageDatum)`

        See Also:
          - `DefaultImageCRS.getDatum()`

  - ### Class DefaultParametricCRS

    class DefaultParametricCRS extends AbstractCRS implements Serializable
    serialVersionUID:
      4013698133331342649L

    - #### Serialized Fields

      - ##### datum

            DefaultParametricDatum datum

        The datum.

        Consider this field as final! This field is modified only at unmarshalling time by `setDatum(ParametricDatum)`

        See Also:
          - `DefaultParametricCRS.getDatum()`

  - ### Class DefaultProjectedCRS

    class DefaultProjectedCRS extends AbstractDerivedCRS<Projection> implements Serializable
    serialVersionUID:
      -4502680112031773028L

  - ### Class DefaultTemporalCRS

    class DefaultTemporalCRS extends AbstractCRS implements Serializable
    serialVersionUID:
      3000119849197222007L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring the transient fields.
        Parameters:
          `in` - the input stream from which to deserialize an attribute.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### datum

            TemporalDatum datum

        The datum.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultTemporalCRS.setDatum(TemporalDatum)`

        See Also:
          - `DefaultTemporalCRS.getDatum()`

  - ### Class DefaultVerticalCRS

    class DefaultVerticalCRS extends AbstractCRS implements Serializable
    serialVersionUID:
      3565878468719941800L

    - #### Serialized Fields

      - ##### datum

            VerticalDatum datum

        The datum.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultVerticalCRS.setDatum(VerticalDatum)`

        See Also:
          - `DefaultVerticalCRS.getDatum()`

- ## Package org.apache.sis.referencing.cs

  - ### Class AbstractCS

    class AbstractCS extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      6757665252533744744L

    - #### Serialized Fields

      - ##### axes

            CoordinateSystemAxis[] axes

        The sequence of axes for this coordinate system.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractCS.setAxis(CoordinateSystemAxis[])`

        See Also:
          - `AbstractCS.getAxis(int)`

  - ### Class DefaultAffineCS

    class DefaultAffineCS extends AbstractCS implements Serializable
    serialVersionUID:
      7977674229369042440L

  - ### Class DefaultCartesianCS

    class DefaultCartesianCS extends DefaultAffineCS implements Serializable
    serialVersionUID:
      -6182037957705712945L

  - ### Class DefaultCompoundCS

    class DefaultCompoundCS extends AbstractCS implements Serializable
    serialVersionUID:
      -5726410275278843373L

    - #### Serialized Fields

      - ##### components

            List<CoordinateSystem> components

        The coordinate systems.

  - ### Class DefaultCoordinateSystemAxis

    class DefaultCoordinateSystemAxis extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      -7883614853277827689L

    - #### Serialized Fields

      - ##### abbreviation

            String abbreviation

        The abbreviation used for this coordinate system axes. Examples are "X" and "Y".

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultCoordinateSystemAxis.setAbbreviation(String)`

        See Also:
          - `DefaultCoordinateSystemAxis.getAbbreviation()`

      - ##### direction

            AxisDirection direction

        Direction of this coordinate system axis. In the case of Cartesian projected coordinates, this is the direction of this coordinate system axis locally.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultCoordinateSystemAxis.setDirection(AxisDirection)`

        See Also:
          - `DefaultCoordinateSystemAxis.getDirection()`

      - ##### maximumValue

            double maximumValue

        Minimal and maximal value for this axis, or negative/positive infinity if none.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultCoordinateSystemAxis.setMinimum(Double)` or `DefaultCoordinateSystemAxis.setMaximum(Double)`

      - ##### minimumValue

            double minimumValue

        Minimal and maximal value for this axis, or negative/positive infinity if none.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultCoordinateSystemAxis.setMinimum(Double)` or `DefaultCoordinateSystemAxis.setMaximum(Double)`

      - ##### rangeMeaning

            RangeMeaning rangeMeaning

        The range meaning for this axis, or `null` if unspecified.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultCoordinateSystemAxis.setRangeMeaning(RangeMeaning)`

        See Also:
          - `DefaultCoordinateSystemAxis.getRangeMeaning()`

      - ##### unit

            Unit<?> unit

        The unit of measure used for this coordinate system axis.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultCoordinateSystemAxis.setUnit(Unit)`

        See Also:
          - `DefaultCoordinateSystemAxis.getUnit()`

  - ### Class DefaultCylindricalCS

    class DefaultCylindricalCS extends AbstractCS implements Serializable
    serialVersionUID:
      -8290402732390917907L

  - ### Class DefaultEllipsoidalCS

    class DefaultEllipsoidalCS extends AbstractCS implements Serializable
    serialVersionUID:
      -1452492488902329211L

  - ### Class DefaultLinearCS

    class DefaultLinearCS extends AbstractCS implements Serializable
    serialVersionUID:
      -6890723478287625763L

  - ### Class DefaultParametricCS

    class DefaultParametricCS extends AbstractCS implements Serializable
    serialVersionUID:
      -5588239024582484514L

  - ### Class DefaultPolarCS

    class DefaultPolarCS extends AbstractCS implements Serializable
    serialVersionUID:
      3960197260975470951L

  - ### Class DefaultSphericalCS

    class DefaultSphericalCS extends AbstractCS implements Serializable
    serialVersionUID:
      196295996465774477L

  - ### Class DefaultTimeCS

    class DefaultTimeCS extends AbstractCS implements Serializable
    serialVersionUID:
      5222911412381303989L

  - ### Class DefaultUserDefinedCS

    class DefaultUserDefinedCS extends AbstractCS implements Serializable
    serialVersionUID:
      -4904091898305706316L

  - ### Class DefaultVerticalCS

    class DefaultVerticalCS extends AbstractCS implements Serializable
    serialVersionUID:
      1201155778896630499L

- ## Package org.apache.sis.referencing.datum

  - ### Class AbstractDatum

    class AbstractDatum extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      -4894180465652474930L

    - #### Serialized Fields

      - ##### anchorDefinition

            InternationalString anchorDefinition

        Description, possibly including coordinates, of the point or points used to anchor the datum to the Earth. Also known as the "origin", especially for Engineering and Image Datums.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractDatum.setAnchorPoint(InternationalString)`

        See Also:
          - `AbstractDatum.getAnchorPoint()`

      - ##### domainOfValidity

            Extent domainOfValidity

        Area or region in which this datum object is valid.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractDatum.setDomainOfValidity(Extent)`

        See Also:
          - `AbstractDatum.getDomainOfValidity()`

      - ##### realizationEpoch

            long realizationEpoch

        The time after which this datum definition is valid. This time may be precise (e.g. 1997 for IRTF97) or merely a year (e.g. 1983 for NAD83). If the time is not defined, then the value is `Long.MIN_VALUE`.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractDatum.setRealizationEpoch(Date)`

      - ##### scope

            InternationalString scope

        Description of domain of usage, or limitations of usage, for which this datum object is valid.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractDatum.setScope(InternationalString)`

        See Also:
          - `AbstractDatum.getScope()`

  - ### Class BursaWolfParameters

    class BursaWolfParameters extends FormattableObject implements Serializable
    serialVersionUID:
      754825592343010900L

    - #### Serialized Fields

      - ##### domainOfValidity

            Extent domainOfValidity

        Region or timeframe in which a coordinate transformation based on those Bursa-Wolf parameters is valid, or `null` if unspecified.
        See Also:
          - `BursaWolfParameters.getDomainOfValidity()`

      - ##### dS

            double dS

        The scale difference in parts per million (EPSG:8611). The legacy OGC parameter name is `"ppm"`.
        Example: If a distance of 100 km in the source coordinate reference system translates into a distance of 100.001 km in the target coordinate reference system, the scale difference is 1 ppm (the ratio being 1.000001).

      - ##### rX

            double rX

        X-axis rotation in arc-seconds (EPSG:8608), sign following the Position Vector convention. The legacy OGC parameter name is `"ex"`.

      - ##### rY

            double rY

        Y-axis rotation in arc-seconds (EPSG:8609), sign following the Position Vector convention. The legacy OGC parameter name is `"ey"`.

      - ##### rZ

            double rZ

        Z-axis rotation in arc-seconds (EPSG:8610), sign following the Position Vector convention. The legacy OGC parameter name is `"ez"`.

      - ##### targetDatum

            GeodeticDatum targetDatum

        The target datum for this set of parameters, or `null` if unknown. This is usually the WGS 84 datum, but other targets are allowed.

        The source datum is the `DefaultGeodeticDatum` that contain this `BursaWolfParameters` instance.

        See Also:
          - `BursaWolfParameters.getTargetDatum()`

      - ##### tX

            double tX

        X-axis translation in metres (EPSG:8605). The legacy OGC parameter name is `"dx"`.

      - ##### tY

            double tY

        Y-axis translation in metres (EPSG:8606). The legacy OGC parameter name is `"dy"`.

      - ##### tZ

            double tZ

        Z-axis translation in metres (EPSG:8607). The legacy OGC parameter name is `"dz"`.

  - ### Class DatumShiftGrid

    class DatumShiftGrid extends Object implements Serializable
    serialVersionUID:
      8405276545243175808L

    - #### Serialized Fields

      - ##### coordinateToGrid

            LinearTransform coordinateToGrid

        Conversion from the "real world" coordinates to grid indices including fractional parts. This is the conversion that needs to be applied before to interpolate.
        See Also:
          - `DatumShiftGrid.getCoordinateToGrid()`

      - ##### coordinateUnit

            Unit<C extends Quantity<C>> coordinateUnit

        The unit of measurements of input values, before conversion to grid indices by `DatumShiftGrid.coordinateToGrid`. The coordinate unit is typically `Units.DEGREE`.
        See Also:
          - `DatumShiftGrid.getCoordinateUnit()`

      - ##### gridSize

            int[] gridSize

        Number of grid cells along each dimension. This is usually an array of length 2 containing the number of grid cells along the x and y axes.
        See Also:
          - `DatumShiftGrid.getGridSize()`
          - `DatumShiftGrid.getGridSize(int)`

      - ##### isCellValueRatio

            boolean isCellValueRatio

        `true` if the translation interpolated by `interpolateInCell(…)` are divided by grid cell size. If `true`, then the inverse of `DatumShiftGrid.coordinateToGrid` needs to be applied on the interpolated values as a delta transform. Such conversion is applied (if needed) by the `DatumShiftGrid.interpolateAt(double...)` method.
        See Also:
          - `DatumShiftGrid.isCellValueRatio()`

      - ##### translationUnit

            Unit<T extends Quantity<T>> translationUnit

        The unit of measurement of output values, as interpolated by the `DatumShiftGrid.interpolateAt(double...)` method.
        See Also:
          - `DatumShiftGrid.getTranslationUnit()`

  - ### Class DefaultEllipsoid

    class DefaultEllipsoid extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      -1149451543954764081L

    - #### Serialized Fields

      - ##### inverseFlattening

            double inverseFlattening

        The inverse of the flattening value, or `Double.POSITIVE_INFINITY` if the ellipsoid is a sphere. This field shall be considered as final. It is modified only by JAXB at unmarshalling time.
        See Also:
          - `DefaultEllipsoid.getInverseFlattening()`

      - ##### ivfDefinitive

            boolean ivfDefinitive

        Tells if the Inverse Flattening is definitive for this ellipsoid. This field shall be considered as final. It is modified only by JAXB at unmarshalling time.
        See Also:
          - `DefaultEllipsoid.isIvfDefinitive()`

      - ##### semiMajorAxis

            double semiMajorAxis

        The equatorial radius. This field should be considered as final. It is modified only by JAXB at unmarshalling time.
        See Also:
          - `DefaultEllipsoid.getSemiMajorAxis()`

      - ##### semiMinorAxis

            double semiMinorAxis

        The polar radius. This field should be considered as final. It is modified only by JAXB at unmarshalling time.
        See Also:
          - `DefaultEllipsoid.getSemiMinorAxis()`

      - ##### unit

            Unit<Length> unit

        The units of the semi-major and semi-minor axis values.

  - ### Class DefaultEngineeringDatum

    class DefaultEngineeringDatum extends AbstractDatum implements Serializable
    serialVersionUID:
      1498304918725248637L

  - ### Class DefaultGeodeticDatum

    class DefaultGeodeticDatum extends AbstractDatum implements Serializable
    serialVersionUID:
      8832100095648302943L

    - #### Serialized Fields

      - ##### bursaWolf

            BursaWolfParameters[] bursaWolf

        Bursa-Wolf parameters for datum shifts, or `null` if none.

      - ##### ellipsoid

            Ellipsoid ellipsoid

        The ellipsoid.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultGeodeticDatum.setEllipsoid(Ellipsoid)`

        See Also:
          - `DefaultGeodeticDatum.getEllipsoid()`

      - ##### primeMeridian

            PrimeMeridian primeMeridian

        The prime meridian.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultGeodeticDatum.setPrimeMeridian(PrimeMeridian)`

        See Also:
          - `DefaultGeodeticDatum.getPrimeMeridian()`

  - ### Class DefaultImageDatum

    class DefaultImageDatum extends AbstractDatum implements Serializable
    serialVersionUID:
      -4304193511244150936L

    - #### Serialized Fields

      - ##### pixelInCell

            PixelInCell pixelInCell

        Specification of the way the image grid is associated with the image data attributes.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultImageDatum.setPixelInCell(PixelInCell)`

        See Also:
          - `DefaultImageDatum.getPixelInCell()`

  - ### Class DefaultParametricDatum

    class DefaultParametricDatum extends AbstractDatum implements Serializable
    serialVersionUID:
      4951496470378888681L

  - ### Class DefaultPrimeMeridian

    class DefaultPrimeMeridian extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      541978454643213305L

    - #### Serialized Fields

      - ##### angularUnit

            Unit<Angle> angularUnit

        The angular unit of the Greenwich longitude.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultPrimeMeridian.setGreenwichMeasure(Measure)`

      - ##### greenwichLongitude

            double greenwichLongitude

        Longitude of the prime meridian measured from the Greenwich meridian, positive eastward.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultPrimeMeridian.setGreenwichMeasure(Measure)`

  - ### Class DefaultTemporalDatum

    class DefaultTemporalDatum extends AbstractDatum implements Serializable
    serialVersionUID:
      3357241732140076884L

    - #### Serialized Fields

      - ##### origin

            long origin

        The date and time origin of this temporal datum, or `Long.MIN_VALUE` if none. This information is mandatory, but SIS is tolerant to missing value is case a XML fragment was incomplete.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultTemporalDatum.setOrigin(Date)`

  - ### Class DefaultVerticalDatum

    class DefaultVerticalDatum extends AbstractDatum implements Serializable
    serialVersionUID:
      380347456670516572L

    - #### Serialized Fields

      - ##### type

            VerticalDatumType type

        The type of this vertical datum. If `null`, a value will be inferred from the name by `DefaultVerticalDatum.type()`.
        See Also:
          - `DefaultVerticalDatum.type()`
          - `DefaultVerticalDatum.getVerticalDatumType()`

  - ### Class TimeDependentBWP

    class TimeDependentBWP extends BursaWolfParameters implements Serializable
    serialVersionUID:
      -4628799278259080258L

    - #### Serialized Fields

      - ##### ddS

            double ddS

        Rate of change of the scale difference in parts per million per year (EPSG:1046).

      - ##### drX

            double drX

        Rate of change of X-axis rotation in milli arc-seconds per year (EPSG:1043), sign following the Position Vector convention.

      - ##### drY

            double drY

        Rate of change of Y-axis rotation in milli arc-seconds per year (EPSG:1044), sign following the Position Vector convention.

      - ##### drZ

            double drZ

        Rate of change of Z-axis rotation in milli arc-seconds per year (EPSG:1045), sign following the Position Vector convention.

      - ##### dtX

            double dtX

        Rate of change of X-axis translation in millimetres per year (EPSG:1040).

      - ##### dtY

            double dtY

        Rate of change of Y-axis translation in millimetres per year (EPSG:1041).

      - ##### dtZ

            double dtZ

        Rate of change of Z-axis translation in millimetres per year (EPSG:1042).

      - ##### timeReference

            long timeReference

        The reference epoch for time-dependent parameters (EPSG:1047).

- ## Package org.apache.sis.referencing.factory

  - ### Exception FactoryDataException

    class FactoryDataException extends FactoryException implements Serializable
    serialVersionUID:
      -6296443455120500463L

  - ### Exception InvalidGeodeticParameterException

    class InvalidGeodeticParameterException extends FactoryException implements Serializable
    serialVersionUID:
      -546427967147139788L

  - ### Exception MissingFactoryResourceException

    class MissingFactoryResourceException extends FactoryException implements Serializable
    serialVersionUID:
      -6726760720630526886L

  - ### Exception NoSuchAuthorityFactoryException

    class NoSuchAuthorityFactoryException extends NoSuchAuthorityCodeException implements Serializable
    serialVersionUID:
      -871607314555498523L

  - ### Exception UnavailableFactoryException

    class UnavailableFactoryException extends MissingFactoryResourceException implements Serializable
    serialVersionUID:
      -661925454228937249L

    - #### Serialized Fields

      - ##### factory

            AuthorityFactory factory

        The factory that can not perform its work, or `null` if unknown.

- ## Package org.apache.sis.referencing.gazetteer

  - ### Exception GazetteerException

    class GazetteerException extends TransformException implements Serializable
    serialVersionUID:
      3607149545794483627L

  - ### Class GeohashReferenceSystem

    class GeohashReferenceSystem extends ReferencingByIdentifiers implements Serializable
    serialVersionUID:
      9162259764027168776L

    - #### Serialized Fields

      - ##### denormalize

            CoordinateOperation denormalize

        The coordinate operation from `GeohashReferenceSystem.normalizedCRS` to the CRS specified by the user. The target CRS is the coordinate reference system to assign to the decoded positions.

      - ##### format

            GeohashReferenceSystem.Format format

        The format used by the `GeohashReferenceSystem.Coder`.

      - ##### normalizedCRS

            DefaultGeographicCRS normalizedCRS

        The user-supplied CRS with (longitude, latitude) axis order in degrees.

  - ### Class LocationFormat

    class LocationFormat extends TabularFormat<AbstractLocation> implements Serializable
    serialVersionUID:
      -3440801316594167279L

  - ### Class MilitaryGridReferenceSystem

    class MilitaryGridReferenceSystem extends ReferencingByIdentifiers implements Serializable
    serialVersionUID:
      8337394374656125471L

    - #### Serialized Fields

      - ##### avoidDatumChange

            boolean avoidDatumChange

        Whether `MilitaryGridReferenceSystem.Encoder` should infer the datum from the given coordinates instead of using `MilitaryGridReferenceSystem.datum`.

      - ##### datum

            CommonCRS datum

        The datum to which to transform the coordinate before formatting the MGRS reference. Only the datums enumerated in `CommonCRS` are currently supported.

  - ### Exception ReferenceVerifyException

    class ReferenceVerifyException extends GazetteerException implements Serializable
    serialVersionUID:
      7501102047565324537L

  - ### Class ReferencingByIdentifiers

    class ReferencingByIdentifiers extends AbstractReferenceSystem implements Serializable
    serialVersionUID:
      5353942546043471933L

    - #### Serialized Fields

      - ##### locationTypes

            List<AbstractLocationType> locationTypes

        Description of location type(s) in the spatial reference system. This collection shall be unmodifiable.
        See Also:
          - `ReferencingByIdentifiers.getLocationTypes()`

      - ##### overallOwner

            AbstractParty overallOwner

        Authority with overall responsibility for the spatial reference system.
        See Also:
          - `ReferencingByIdentifiers.getOverallOwner()`

      - ##### theme

            InternationalString theme

        Property used to characterize the spatial reference system.
        See Also:
          - `ReferencingByIdentifiers.getTheme()`

- ## Package org.apache.sis.referencing.operation

  - ### Class AbstractCoordinateOperation

    class AbstractCoordinateOperation extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      1237358357729193885L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Computes transient fields after deserialization.
        Parameters:
          `in` - the input stream from which to deserialize a coordinate operation.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### coordinateOperationAccuracy

            Collection<PositionalAccuracy> coordinateOperationAccuracy

        Estimate(s) of the impact of this operation on point accuracy, or `null` if none.

        Consider this field as final! This field is non-final only for the convenience of constructors and for initialization at XML unmarshalling time by `AbstractCoordinateOperation.setAccuracy(PositionalAccuracy[])`.

        See Also:
          - `AbstractCoordinateOperation.getCoordinateOperationAccuracy()`

      - ##### domainOfValidity

            Extent domainOfValidity

        Area in which this operation is valid, or `null` if not available.

        Consider this field as final! This field is non-final only for the convenience of constructors and for initialization at XML unmarshalling time by `AbstractCoordinateOperation.setDomainOfValidity(Extent)`.

        See Also:
          - `AbstractCoordinateOperation.getDomainOfValidity()`

      - ##### interpolationCRS

            CoordinateReferenceSystem interpolationCRS

        The CRS which is neither the source CRS or target CRS but still required for performing the operation.

        Consider this field as final! This field is non-final only for the convenience of constructors.

        See Also:
          - `AbstractCoordinateOperation.getInterpolationCRS()`

      - ##### operationVersion

            String operationVersion

        Version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters).

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractCoordinateOperation.setOperationVersion(String)`.

        See Also:
          - `AbstractCoordinateOperation.getOperationVersion()`

      - ##### scope

            InternationalString scope

        Description of domain of usage, or limitations of usage, for which this operation is valid.

        Consider this field as final! This field is modified only at unmarshalling time by `AbstractCoordinateOperation.setScope(InternationalString)`.

        See Also:
          - `AbstractCoordinateOperation.getScope()`

      - ##### sourceCRS

            CoordinateReferenceSystem sourceCRS

        The source CRS, or `null` if not available.

        Consider this field as final! This field is non-final only for the convenience of constructors and for initialization at XML unmarshalling time by `AbstractCoordinateOperation.setSource(CoordinateReferenceSystem)`.

        See Also:
          - `AbstractCoordinateOperation.getSourceCRS()`

      - ##### targetCRS

            CoordinateReferenceSystem targetCRS

        The target CRS, or `null` if not available.

        Consider this field as final! This field is non-final only for the convenience of constructors and for initialization at XML unmarshalling time by `AbstractCoordinateOperation.setTarget(CoordinateReferenceSystem)`.

        See Also:
          - `AbstractCoordinateOperation.getTargetCRS()`

      - ##### transform

            MathTransform transform

        Transform from positions in the source coordinate reference system to positions in the target coordinate reference system.

        Consider this field as final! This field is non-final only for the convenience of constructors and for initialization at XML unmarshalling time by `AbstractSingleOperation.afterUnmarshal(Unmarshaller, Object)`.

  - ### Class CoordinateOperationContext

    class CoordinateOperationContext extends Object implements Serializable
    serialVersionUID:
      -6944460471653277973L

    - #### Serialized Fields

      - ##### areaOfInterest

            Extent areaOfInterest

        The spatiotemporal area of interest, or `null` if none. This instance may be updated or replaced by other methods in this class, or (indirectly) by `CoordinateOperationFinder`.

      - ##### desiredAccuracy

            double desiredAccuracy

        The desired accuracy in metres, or 0 for the best accuracy available. See `CoordinateOperationContext.getDesiredAccuracy()` for more details about what we mean by "best accuracy".

  - ### Class DefaultConversion

    class DefaultConversion extends AbstractSingleOperation implements Serializable
    serialVersionUID:
      -2148164324805562793L

  - ### Class DefaultFormula

    class DefaultFormula extends FormattableObject implements Serializable
    serialVersionUID:
      1929966748615362698L

    - #### Serialized Fields

      - ##### citation

            Citation citation

        Reference to a publication giving the formula(s) or procedure used by the coordinate operation method.

      - ##### formula

            InternationalString formula

        Formula(s) or procedure used by the operation method.

  - ### Class DefaultOperationMethod

    class DefaultOperationMethod extends AbstractIdentifiedObject implements Serializable
    serialVersionUID:
      2870579345991143357L

    - #### Serialized Fields

      - ##### formula

            Formula formula

        Formula(s) or procedure used by this operation method. This may be a reference to a publication. Note that the operation method may not be analytic, in which case this attribute references or contains the procedure, not an analytic formula.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultOperationMethod.setFormulaCitation(Citation)` or `DefaultOperationMethod.setFormulaDescription(String)`.

      - ##### parameters

            ParameterDescriptorGroup parameters

        The set of parameters, or `null` if none.

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultOperationMethod.setDescriptors(GeneralParameterDescriptor[])`

      - ##### sourceDimensions

            Integer sourceDimensions

        Deprecated.
        ISO 19111:2019 removed source/target dimensions attributes.
        Number of dimensions in the source CRS of this operation method. May be `null` if this method can work with any number of source dimensions (e.g. Affine Transform).

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultOperationMethod.setSourceDimensions(Integer)`

        See Also:
          - `DefaultOperationMethod.getSourceDimensions()`

      - ##### targetDimensions

            Integer targetDimensions

        Deprecated.
        ISO 19111:2019 removed source/target dimensions attributes.
        Number of dimensions in the target CRS of this operation method. May be `null` if this method can work with any number of target dimensions (e.g. Affine Transform).

        Consider this field as final! This field is modified only at unmarshalling time by `DefaultOperationMethod.setTargetDimensions(Integer)`

        See Also:
          - `DefaultOperationMethod.getTargetDimensions()`

  - ### Class DefaultPassThroughOperation

    class DefaultPassThroughOperation extends AbstractCoordinateOperation implements Serializable
    serialVersionUID:
      4308173919747248695L

    - #### Serialized Fields

      - ##### operation

            SingleOperation operation

        The operation to apply on the subset of a coordinate tuple.

        Consider this field as final! This field is modified only at unmarshalling time by `setOperation(CoordinateOperation)`

        See Also:
          - `DefaultPassThroughOperation.getOperation()`

  - ### Class DefaultTransformation

    class DefaultTransformation extends AbstractSingleOperation implements Serializable
    serialVersionUID:
      -7486704846151648971L

  - ### Exception MismatchedDatumException

    class MismatchedDatumException extends IllegalArgumentException implements Serializable
    serialVersionUID:
      9209713725368948171L

- ## Package org.apache.sis.referencing.operation.matrix

  - ### Class Matrix1

    class Matrix1 extends MatrixSIS implements Serializable
    serialVersionUID:
      -4829171016106097031L

    - #### Serialized Fields

      - ##### m00

            double m00

        The only element in this matrix.

  - ### Class Matrix2

    class Matrix2 extends MatrixSIS implements Serializable
    serialVersionUID:
      7116561372481474290L

    - #### Serialized Fields

      - ##### m00

            double m00

        The first matrix element in the first row.

      - ##### m01

            double m01

        The second matrix element in the first row.

      - ##### m10

            double m10

        The first matrix element in the second row.

      - ##### m11

            double m11

        The second matrix element in the second row.

  - ### Class Matrix3

    class Matrix3 extends MatrixSIS implements Serializable
    serialVersionUID:
      8902061778871586611L

    - #### Serialized Fields

      - ##### m00

            double m00

        The first matrix element in the first row.

      - ##### m01

            double m01

        The second matrix element in the first row.

      - ##### m02

            double m02

        The third matrix element in the first row.

      - ##### m10

            double m10

        The first matrix element in the second row.

      - ##### m11

            double m11

        The second matrix element in the second row.

      - ##### m12

            double m12

        The third matrix element in the second row.

      - ##### m20

            double m20

        The first matrix element in the third row.

      - ##### m21

            double m21

        The second matrix element in the third row.

      - ##### m22

            double m22

        The third matrix element in the third row.

  - ### Class Matrix4

    class Matrix4 extends MatrixSIS implements Serializable
    serialVersionUID:
      5685762518066856310L

    - #### Serialized Fields

      - ##### m00

            double m00

        The first matrix element in the first row.

      - ##### m01

            double m01

        The second matrix element in the first row.

      - ##### m02

            double m02

        The third matrix element in the first row.

      - ##### m03

            double m03

        The forth matrix element in the first row.

      - ##### m10

            double m10

        The first matrix element in the second row.

      - ##### m11

            double m11

        The second matrix element in the second row.

      - ##### m12

            double m12

        The third matrix element in the second row.

      - ##### m13

            double m13

        The forth matrix element in the second row.

      - ##### m20

            double m20

        The first matrix element in the third row.

      - ##### m21

            double m21

        The second matrix element in the third row.

      - ##### m22

            double m22

        The third matrix element in the third row.

      - ##### m23

            double m23

        The forth matrix element in the third row.

      - ##### m30

            double m30

        The first matrix element in the forth row.

      - ##### m31

            double m31

        The second matrix element in the forth row.

      - ##### m32

            double m32

        The third matrix element in the forth row.

      - ##### m33

            double m33

        The forth matrix element in the forth row.

  - ### Class MatrixSIS

    class MatrixSIS extends Object implements Serializable
    serialVersionUID:
      3075280376118406219L

  - ### Exception MismatchedMatrixSizeException

    class MismatchedMatrixSizeException extends MismatchedDimensionException implements Serializable
    serialVersionUID:
      -6055645640691056657L

  - ### Exception NoninvertibleMatrixException

    class NoninvertibleMatrixException extends NoninvertibleTransformException implements Serializable
    serialVersionUID:
      -4776332020257526053L

- ## Package org.apache.sis.referencing.operation.projection

  - ### Class AlbersEqualArea

    class AlbersEqualArea extends EqualAreaProjection implements Serializable
    serialVersionUID:
      -3466040922402982480L

    - #### Serialized Fields

      - ##### C

            double C

        Internal coefficients for computation, depending only on values of standards parallels. This is defined as C = m₁² + (n⋅α₁) in §1.3.13 of IOGP Publication 373-7-2 – Geomatics Guidance Note number 7, part 2 – April 2015.

      - ##### nm

            double nm

        Internal coefficients for computation, depending only on eccentricity and values of standards parallels. This is defined as n = (m₁² – m₂²) / (α₂ – α₁) in §1.3.13 of IOGP Publication 373-7-2 (april 2015).

        In Apache SIS implementation, we use modified formulas in which the (1 - ℯ²) factor is omitted in `EqualAreaProjection.qm(double)` calculation. Consequently what we get is a modified value nm which is related to Snyder's n value by n = nm / (1 - ℯ²). The omitted (1 - ℯ²) factor is either taken in account by the (de)normalization matrix, or cancels with other (1 - ℯ²) factors when we develop the formulas.

        Note that in the spherical case, nm = Snyder's n.

      - ##### θ_bound

            double θ_bound

        A bound of the [−n⋅π … n⋅π] range, which is the valid range of θ = n⋅λ values. Some (not all) θ values need to be shifted inside that range before to use them in trigonometric functions.
        See Also:
          - `Initializer.boundOfScaledLongitude(DoubleDouble)`

  - ### Class AzimuthalEquidistant

    class AzimuthalEquidistant extends NormalizedProjection implements Serializable
    serialVersionUID:
      -6969752149232210847L

    - #### Serialized Fields

      - ##### cosφ0

            double cosφ0

        Sine and cosine of the latitude of origin φ₀.

      - ##### sinφ0

            double sinφ0

        Sine and cosine of the latitude of origin φ₀.

  - ### Class CassiniSoldner

    class CassiniSoldner extends MeridianArcBased implements Serializable
    serialVersionUID:
      8306467537772990906L

    - #### Serialized Fields

      - ##### M0

            double M0

        Meridional distance M from equator to latitude of origin φ₀. This parameter is explicit only for the hyperbolic variants. The standard variant does not need it because `CassiniSoldner.M0` is subtracted in the denormalization matrix.

      - ##### variant

            byte variant

        The type of Cassini-Soldner projection. Possible values are:
        - `NormalizedProjection.STANDARD_VARIANT` if this projection is the standard variant.
        - `CassiniSoldner.HYPERBOLIC` if this projection is the "Hyperbolic Cassini-Soldner" case.
        - `CassiniSoldner.VANUA` if this projection is the "Hyperbolic Cassini-Soldner" case at φ₀=16°15′S.
        Other cases may be added in the future.

  - ### Class CylindricalEqualArea

    class CylindricalEqualArea extends EqualAreaProjection implements Serializable
    serialVersionUID:
      8840395516658904421L

    - #### Serialized Fields

      - ##### variant

            byte variant

        The type of Cylindrical Equal Area projection. Possible values are:
        - `NormalizedProjection.STANDARD_VARIANT` if this projection is a default variant.
        - `Initializer.AUTHALIC_RADIUS` if this projection is the "Lambert Cylindrical Equal Area (Spherical)" case, in which case the semi-major and semi-minor axis lengths should be replaced by the authalic radius (this replacement is performed by the `Initializer` constructor).
        Other cases may be added in the future.
        See Also:
          - `CylindricalEqualArea.getVariant(OperationMethod)`

  - ### Class LambertConicConformal

    class LambertConicConformal extends ConformalProjection implements Serializable
    serialVersionUID:
      -8971522854919443706L

    - #### Serialized Fields

      - ##### n

            double n

        Internal coefficients for computation, depending only on eccentricity and values of standards parallels. This is defined as n = (ln m₁ – ln m₂) / (ln t₁ – ln t₂) in §1.3.1.1 of IOGP Publication 373-7-2 – Geomatics Guidance Note number 7, part 2 – April 2015.

        Note:

        - If φ₁ = -φ₂, then the cone become a cylinder and this `n` value become 0. This limiting case is the Mercator projection, but we can not use this class because `n=0` causes indetermination like 0 × ∞ in the equations of this class.
        - If φ₁ = φ₂ = ±90°, then this `n` value become ±1. The formulas in the transform and inverse transform methods become basically the same than the ones in `PolarStereographic`, but (de)normalization matrices contain NaN values.
        - Depending on how the formulas are written, n may be positive in the South hemisphere and negative in the North hemisphere (or conversely). However Apache SIS adjusts the coefficients of the (de)normalization matrices in order to keep n positive, because the formulas are slightly more accurate for positive n values. However this adjustment is optional and can be disabled in the constructor.

      - ##### θ_bound

            double θ_bound

        A bound of the [−n⋅π … n⋅π] range, which is the valid range of θ = n⋅λ values. Some (not all) θ values need to be shifted inside that range before to use them in trigonometric functions.
        See Also:
          - `Initializer.boundOfScaledLongitude(DoubleDouble)`

  - ### Class Mercator

    class Mercator extends ConformalProjection implements Serializable
    serialVersionUID:
      2564172914329253286L

    - #### Serialized Fields

      - ##### variant

            byte variant

        The type of Mercator projection. Possible values are:
        - `NormalizedProjection.STANDARD_VARIANT` if this projection is a Mercator variant A or B.
        - `Mercator.REGIONAL` if this projection is the "Mercator (variant C)" case.
        - `Mercator.SPHERICAL` if this projection is the "Mercator (Spherical)" case.
        - `Mercator.PSEUDO` if this projection is the "Pseudo Mercator" case.
        - `Mercator.MILLER` if this projection is the "Miller Cylindrical" case.
        Other cases may be added in the future.
        See Also:
          - `Mercator.getVariant(OperationMethod)`

  - ### Class ModifiedAzimuthalEquidistant

    class ModifiedAzimuthalEquidistant extends AzimuthalEquidistant implements Serializable
    serialVersionUID:
      96569177715708509L

    - #### Serialized Fields

      - ##### Bp

            double Bp

        The 3⋅ℯ²⋅sin(φ₀)⋅cos(φ₀)/(1 − ℯ²) term. This is the B term in EPSG guidance notes for inverse projection but without the terms that depend on coordinates of transformed point.

      - ##### G

            double G

        The ℯ⋅sin(φ₀)/√(1 − ℯ²) term, used in direct projection.

      - ##### Hp

            double Hp

        The ℯ⋅cos(φ₀)/√(1 − ℯ²) term. This is the H term in EPSG guidance notes but without the cos(α) term (omitted because α depends on the point to project).

        Note that during inverse projection, EPSG guidance notes has a A as: −ℯ²⋅cos²φ₀/(1 − ℯ²)⋅cos²α. We opportunistically use Hp² for that purpose.

      - ##### ℯ2_ν0_sinφ0

            double ℯ2_ν0_sinφ0

        A term involving radius of curvature ν₀, the latitude of origin φ₀ and the eccentricity. The semi-major axis length a is omitted since it is handled outside this class.

  - ### Class Mollweide

    class Mollweide extends NormalizedProjection implements Serializable
    serialVersionUID:
      712275000459795291L

  - ### Class NormalizedProjection

    class NormalizedProjection extends AbstractMathTransform2D implements Serializable
    serialVersionUID:
      -4010883312927645853L

    - #### Serialized Fields

      - ##### context

            ContextualParameters context

        The parameters used for creating this projection. They are used for formatting Well Known Text (WKT) and error messages. Subclasses shall not use the values defined in this object for computation purpose, except at construction time.
        See Also:
          - `NormalizedProjection.getContextualParameters()`

      - ##### eccentricity

            double eccentricity

        Ellipsoid eccentricity, equals to `sqrt(NormalizedProjection.eccentricitySquared)`. Value 0 means that the ellipsoid is spherical.

      - ##### eccentricitySquared

            double eccentricitySquared

        The square of eccentricity: ℯ² = (a²-b²)/a² where ℯ is the eccentricity, a is the semi-major axis length and b is the semi-minor axis length.

      - ##### inverse

            MathTransform2D inverse

        The inverse of this map projection.
        Note: creation of this object is not deferred to the first call to the `NormalizedProjection.inverse()` method because this object is lightweight and typically needed soon anyway (may be as soon as `ConcatenatedTransform` construction time). In addition this field is part of serialization form in order to preserve the references graph.

  - ### Class ObliqueMercator

    class ObliqueMercator extends ConformalProjection implements Serializable
    serialVersionUID:
      -5289761492678147674L

    - #### Serialized Fields

      - ##### B

            double B

        Constants used in the transformation. Those coefficients depend only on the latitude of center.

      - ##### cosγ0

            double cosγ0

        Sine and Cosine values for `γ0` (the angle between the meridian and central line at the intersection between the central line and the Earth equator on aposphere).

      - ##### H

            double H

        Constants used in the transformation. Those coefficients depend only on the latitude of center.

      - ##### sinγ0

            double sinγ0

        Sine and Cosine values for `γ0` (the angle between the meridian and central line at the intersection between the central line and the Earth equator on aposphere).

  - ### Class ObliqueStereographic

    class ObliqueStereographic extends NormalizedProjection implements Serializable
    serialVersionUID:
      -1725537881127730658L

    - #### Serialized Fields

      - ##### c

            double c

        Parameters used in the conformal sphere definition. Those parameters are used in both the forward and inverse projection. If the user-supplied ellipsoid is already a sphere, then those parameters are equal to 1.

      - ##### cosχ0

            double cosχ0

        Conformal latitude of origin (χ₀), together with its sine and cosine. In the spherical case, χ₀ = φ₀ (the geodetic latitude of origin).

      - ##### g

            double g

        Parameters used in the inverse projection. More precisely g and h are used to compute intermediate parameters i and j, which are themselves used to compute conformal latitude and longitude.

      - ##### h

            double h

        Parameters used in the inverse projection. More precisely g and h are used to compute intermediate parameters i and j, which are themselves used to compute conformal latitude and longitude.

      - ##### n

            double n

        Parameters used in the conformal sphere definition. Those parameters are used in both the forward and inverse projection. If the user-supplied ellipsoid is already a sphere, then those parameters are equal to 1.

      - ##### sinχ0

            double sinχ0

        Conformal latitude of origin (χ₀), together with its sine and cosine. In the spherical case, χ₀ = φ₀ (the geodetic latitude of origin).

      - ##### θ_bound

            double θ_bound

        A bound of the [−n⋅π … n⋅π] range, which is the valid range of θ = n⋅λ values. Some (not all) θ values need to be shifted inside that range before to use them in trigonometric functions.
        See Also:
          - `Initializer.boundOfScaledLongitude(DoubleDouble)`

      - ##### χ0

            double χ0

        Conformal latitude of origin (χ₀), together with its sine and cosine. In the spherical case, χ₀ = φ₀ (the geodetic latitude of origin).

  - ### Class Orthographic

    class Orthographic extends NormalizedProjection implements Serializable
    serialVersionUID:
      -6140156868989213344L

    - #### Serialized Fields

      - ##### cosφ0

            double cosφ0

        Sine and cosine of latitude of origin.

      - ##### mℯ2_cosφ0

            double mℯ2_cosφ0

        Value of (1 – ℯ²)⋅cosφ₀.

      - ##### sinφ0

            double sinφ0

        Sine and cosine of latitude of origin.

  - ### Class PolarStereographic

    class PolarStereographic extends ConformalProjection implements Serializable
    serialVersionUID:
      -6635298308431138524L

  - ### Class Polyconic

    class Polyconic extends MeridianArcBased implements Serializable
    serialVersionUID:
      -808283103170618880L

    - #### Serialized Fields

      - ##### ci2

            double ci2

        Coefficients for inverse projection. Snyder 18-17 gives:

        >     c₀ =    (-5/256 ⋅e⁶  +  -3/64 ⋅e⁴  +  -1/4⋅e²  +  1)
        >     c₂ = -2⋅(45/1024⋅e⁶  +   3/32 ⋅e⁴  +   3/8⋅e²)
        >     c₄ = +4⋅(45/1024⋅e⁶  +  15/256⋅e⁴)
        >     c₆ = -6⋅(35/3072⋅e⁶)
        >     M′  = c₀ + c₂cos(2φ) + c₄cos(4φ) + c₆cos(6φ)

        but using trigonometric identities we rewrite as:

        >     c₀ =    1 - e²
        >     c₂ = - 3/2 ⋅e⁴  +   3/2⋅e²
        >     c₄ = -15/8 ⋅e⁶  +  15/8⋅e⁴
        >     c₆ =  35/16⋅e⁶
        >     M′  = c₀ + sin²φ⋅(c₂ + sin²φ⋅(c₄ + sin²φ⋅c₆))

        See Also:
          - Coefficients derivation

      - ##### ci4

            double ci4

        Coefficients for inverse projection. Snyder 18-17 gives:

        >     c₀ =    (-5/256 ⋅e⁶  +  -3/64 ⋅e⁴  +  -1/4⋅e²  +  1)
        >     c₂ = -2⋅(45/1024⋅e⁶  +   3/32 ⋅e⁴  +   3/8⋅e²)
        >     c₄ = +4⋅(45/1024⋅e⁶  +  15/256⋅e⁴)
        >     c₆ = -6⋅(35/3072⋅e⁶)
        >     M′  = c₀ + c₂cos(2φ) + c₄cos(4φ) + c₆cos(6φ)

        but using trigonometric identities we rewrite as:

        >     c₀ =    1 - e²
        >     c₂ = - 3/2 ⋅e⁴  +   3/2⋅e²
        >     c₄ = -15/8 ⋅e⁶  +  15/8⋅e⁴
        >     c₆ =  35/16⋅e⁶
        >     M′  = c₀ + sin²φ⋅(c₂ + sin²φ⋅(c₄ + sin²φ⋅c₆))

        See Also:
          - Coefficients derivation

      - ##### ci6

            double ci6

        Coefficients for inverse projection. Snyder 18-17 gives:

        >     c₀ =    (-5/256 ⋅e⁶  +  -3/64 ⋅e⁴  +  -1/4⋅e²  +  1)
        >     c₂ = -2⋅(45/1024⋅e⁶  +   3/32 ⋅e⁴  +   3/8⋅e²)
        >     c₄ = +4⋅(45/1024⋅e⁶  +  15/256⋅e⁴)
        >     c₆ = -6⋅(35/3072⋅e⁶)
        >     M′  = c₀ + c₂cos(2φ) + c₄cos(4φ) + c₆cos(6φ)

        but using trigonometric identities we rewrite as:

        >     c₀ =    1 - e²
        >     c₂ = - 3/2 ⋅e⁴  +   3/2⋅e²
        >     c₄ = -15/8 ⋅e⁶  +  15/8⋅e⁴
        >     c₆ =  35/16⋅e⁶
        >     M′  = c₀ + sin²φ⋅(c₂ + sin²φ⋅(c₄ + sin²φ⋅c₆))

        See Also:
          - Coefficients derivation

  - ### Exception ProjectionException

    class ProjectionException extends TransformException implements Serializable
    serialVersionUID:
      3031350727691500915L

  - ### Class SatelliteTracking

    class SatelliteTracking extends NormalizedProjection implements Serializable
    serialVersionUID:
      -209787336760184649L

    - #### Serialized Fields

      - ##### cos_i

            double cos_i

        Sines and cosines of inclination between the plane of the Earth's Equator and the plane of the satellite orbit. The angle variable name is i in Snyder's book.
        See Also:
          - `SatelliteTracking.SATELLITE_ORBIT_INCLINATION`

      - ##### cos2_i

            double cos2_i

        Sines and cosines of inclination between the plane of the Earth's Equator and the plane of the satellite orbit. The angle variable name is i in Snyder's book.
        See Also:
          - `SatelliteTracking.SATELLITE_ORBIT_INCLINATION`

      - ##### isConic

            boolean isConic

        `true` if this projection is conic, or `false` if cylindrical or unknown.

      - ##### n

            double n

        Coefficients for the Conic Satellite-Tracking Projection. Those values are `Double.NaN` in the cylindrical case.

      - ##### p2_on_p1

            double p2_on_p1

        Ratio of satellite orbital period (P₂) over ascending node period (P₁).
        See Also:
          - `SatelliteTracking.SATELLITE_ORBITAL_PERIOD`
          - `SatelliteTracking.ASCENDING_NODE_PERIOD`

      - ##### s0

            double s0

        Coefficients for the Conic Satellite-Tracking Projection. Those values are `Double.NaN` in the cylindrical case.

      - ##### sin_i

            double sin_i

        Sines and cosines of inclination between the plane of the Earth's Equator and the plane of the satellite orbit. The angle variable name is i in Snyder's book.
        See Also:
          - `SatelliteTracking.SATELLITE_ORBIT_INCLINATION`

      - ##### θ_bound

            double θ_bound

        A bound of the [−n⋅π … n⋅π] range, which is the valid range of θ = n⋅λ values. Some (not all) θ values need to be shifted inside that range before to use them in trigonometric functions.
        See Also:
          - `Initializer.boundOfScaledLongitude(DoubleDouble)`

  - ### Class Sinusoidal

    class Sinusoidal extends MeridianArcBased implements Serializable
    serialVersionUID:
      7908925241331303236L

  - ### Class TransverseMercator

    class TransverseMercator extends NormalizedProjection implements Serializable
    serialVersionUID:
      -627685138188387835L

    - #### Serialized Fields

      - ##### cf2

            double cf2

        Coefficients in the series expansion of the forward projection, depending only on eccentricity value. The series expansion is of the following form:

        > cf₂⋅ｆ(2θ) + cf₄⋅ｆ(4θ) + cf₆⋅ｆ(6θ) + cf₈⋅ｆ(8θ)

        Those coefficients are named h₁, h₂, h₃ and h₄ in §1.3.5.1 of IOGP Publication 373-7-2 – Geomatics Guidance Note number 7, part 2 – April 2015.
        Serialization note: we do not strictly need to serialize those fields since they could be computed after deserialization. Bu we serialize them anyway in order to simplify a little bit this class (it allows us to keep those fields final) and because values computed after deserialization could be slightly different than the ones computed after construction since the constructor uses the double-double values provided by `Initializer`.

      - ##### cf4

            double cf4

        Coefficients in the series expansion of the forward projection, depending only on eccentricity value. The series expansion is of the following form:

        > cf₂⋅ｆ(2θ) + cf₄⋅ｆ(4θ) + cf₆⋅ｆ(6θ) + cf₈⋅ｆ(8θ)

        Those coefficients are named h₁, h₂, h₃ and h₄ in §1.3.5.1 of IOGP Publication 373-7-2 – Geomatics Guidance Note number 7, part 2 – April 2015.
        Serialization note: we do not strictly need to serialize those fields since they could be computed after deserialization. Bu we serialize them anyway in order to simplify a little bit this class (it allows us to keep those fields final) and because values computed after deserialization could be slightly different than the ones computed after construction since the constructor uses the double-double values provided by `Initializer`.

      - ##### cf6

            double cf6

        Coefficients in the series expansion of the forward projection, depending only on eccentricity value. The series expansion is of the following form:

        > cf₂⋅ｆ(2θ) + cf₄⋅ｆ(4θ) + cf₆⋅ｆ(6θ) + cf₈⋅ｆ(8θ)

        Those coefficients are named h₁, h₂, h₃ and h₄ in §1.3.5.1 of IOGP Publication 373-7-2 – Geomatics Guidance Note number 7, part 2 – April 2015.
        Serialization note: we do not strictly need to serialize those fields since they could be computed after deserialization. Bu we serialize them anyway in order to simplify a little bit this class (it allows us to keep those fields final) and because values computed after deserialization could be slightly different than the ones computed after construction since the constructor uses the double-double values provided by `Initializer`.

      - ##### cf8

            double cf8

        Coefficients in the series expansion of the forward projection, depending only on eccentricity value. The series expansion is of the following form:

        > cf₂⋅ｆ(2θ) + cf₄⋅ｆ(4θ) + cf₆⋅ｆ(6θ) + cf₈⋅ｆ(8θ)

        Those coefficients are named h₁, h₂, h₃ and h₄ in §1.3.5.1 of IOGP Publication 373-7-2 – Geomatics Guidance Note number 7, part 2 – April 2015.
        Serialization note: we do not strictly need to serialize those fields since they could be computed after deserialization. Bu we serialize them anyway in order to simplify a little bit this class (it allows us to keep those fields final) and because values computed after deserialization could be slightly different than the ones computed after construction since the constructor uses the double-double values provided by `Initializer`.

      - ##### ci2

            double ci2

        Coefficients in the series expansion of the inverse projection, depending only on eccentricity value.

      - ##### ci4

            double ci4

        Coefficients in the series expansion of the inverse projection, depending only on eccentricity value.

      - ##### ci6

            double ci6

        Coefficients in the series expansion of the inverse projection, depending only on eccentricity value.

      - ##### ci8

            double ci8

        Coefficients in the series expansion of the inverse projection, depending only on eccentricity value.

  - ### Class ZonedGridSystem

    class ZonedGridSystem extends AbstractMathTransform2D implements Serializable
    serialVersionUID:
      -7219325241026170925L

    - #### Serialized Fields

      - ##### initialLongitude

            double initialLongitude

        Westernmost longitude of the first zone.

      - ##### inverse

            MathTransform2D inverse

        The inverse of this map projection.

      - ##### projection

            AbstractMathTransform projection

        The projection that performs the actual work before we add the zone number.

      - ##### zoneWidth

            double zoneWidth

        Width of each Transverse Mercator zone, in the same units than longitude values. This is usually 6°.

- ## Package org.apache.sis.referencing.operation.transform

  - ### Class ContextualParameters

    class ContextualParameters extends Parameters implements Serializable
    serialVersionUID:
      6769546741493459341L

    - #### Serialized Fields

      - ##### denormalize

            Matrix denormalize

        The affine transform to be applied before (normalize) and after (denormalize) the kernel operation. On `ContextualParameters` construction, those affines are initially identity transforms, to be modified in-place by callers of `ContextualParameters.getMatrix(MatrixRole)` or related methods. After the `ContextualParameters.completeTransform(MathTransformFactory, MathTransform)` method has been invoked, those matrices are typically (but not necessarily) replaced by the `LinearTransform` instances itself.
        See Also:
          - `ContextualParameters.getMatrix(MatrixRole)`

      - ##### descriptor

            ParameterDescriptorGroup descriptor

        The parameters that represents the sequence of transforms as a whole. The parameter values may be used in the (de)normalization transforms, in the kernel, or both.
        See Also:
          - `ContextualParameters.getDescriptor()`

      - ##### inverse

            ContextualParameters inverse

        If the inverse coordinate operation can be described by another `ContextualParameters` instance, a reference to that instance. Otherwise `null`.

      - ##### isFrozen

            boolean isFrozen

        `false` if this parameter group is modifiable, or `true` if it has been made unmodifiable (frozen) by a call to `ContextualParameters.completeTransform(MathTransformFactory, MathTransform)`.
        See Also:
          - `ContextualParameters.freeze()`

      - ##### normalize

            Matrix normalize

        The affine transform to be applied before (normalize) and after (denormalize) the kernel operation. On `ContextualParameters` construction, those affines are initially identity transforms, to be modified in-place by callers of `ContextualParameters.getMatrix(MatrixRole)` or related methods. After the `ContextualParameters.completeTransform(MathTransformFactory, MathTransform)` method has been invoked, those matrices are typically (but not necessarily) replaced by the `LinearTransform` instances itself.
        See Also:
          - `ContextualParameters.getMatrix(MatrixRole)`

      - ##### values

            ParameterValue<?>[] values

        The parameter values. Null elements in this array are empty slots available for adding new parameter values. The array length is the maximum number of parameters allowed, which is determined by the `ContextualParameters.descriptor`.

        This array is modifiable after construction, but is considered unmodifiable after `ContextualParameters.completeTransform(MathTransformFactory, MathTransform)` has been invoked.

  - ### Class DatumShiftTransform

    class DatumShiftTransform extends AbstractMathTransform implements Serializable
    serialVersionUID:
      -4492222496475405226L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked after deserialization. This method computes the transient fields.
        Parameters:
          `in` - the input stream from which to deserialize the datum shift grid.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### context

            ContextualParameters context

        The parameters used for creating this datum shift. They are used for formatting Well Known Text (WKT) and error messages. Subclasses shall not use the values defined in this object for computation purpose, except at construction time.
        See Also:
          - `DatumShiftTransform.getContextualParameters()`

      - ##### grid

            DatumShiftGrid<?,?> grid

        The grid of datum shifts from source datum to target datum, or `null` if none.
        See Also:
          - `InterpolatedTransform.getShiftGrid()`

  - ### Class DefaultMathTransformFactory.Context

    class Context extends Object implements Serializable
    serialVersionUID:
      6963581151055917955L

    - #### Serialized Fields

      - ##### parameters

            ParameterValueGroup parameters

        The parameters actually used.
        See Also:
          - `DefaultMathTransformFactory.Context.getCompletedParameters()`

      - ##### provider

            OperationMethod provider

        The provider that created the parameterized `MathTransform` instance, or `null` if this information does not apply. This field is used for transferring information between `createParameterizedTransform(…)` and `swapAndScaleAxes(…)`.
        TODO:
          We could make this information public as a replacement of `DefaultMathTransformFactory.getLastMethodUsed()`.

      - ##### sourceCS

            CoordinateSystem sourceCS

        Coordinate system of the source or target points.

      - ##### sourceEllipsoid

            Ellipsoid sourceEllipsoid

        The ellipsoid of the source or target ellipsoidal coordinate system, or `null` if it does not apply. Valid only if `DefaultMathTransformFactory.Context.sourceCS` or `DefaultMathTransformFactory.Context.targetCS` is an instance of `EllipsoidalCS`.

      - ##### targetCS

            CoordinateSystem targetCS

        Coordinate system of the source or target points.

      - ##### targetEllipsoid

            Ellipsoid targetEllipsoid

        The ellipsoid of the source or target ellipsoidal coordinate system, or `null` if it does not apply. Valid only if `DefaultMathTransformFactory.Context.sourceCS` or `DefaultMathTransformFactory.Context.targetCS` is an instance of `EllipsoidalCS`.

  - ### Class EllipsoidToCentricTransform

    class EllipsoidToCentricTransform extends AbstractMathTransform implements Serializable
    serialVersionUID:
      -3352045463953828140L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Restores transient fields after deserialization.
        Parameters:
          `in` - the input stream from which to deserialize the transform.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### context

            ContextualParameters context

        The parameters used for creating this conversion. They are used for formatting Well Known Text (WKT) and error messages.
        See Also:
          - `EllipsoidToCentricTransform.getContextualParameters()`

      - ##### eccentricitySquared

            double eccentricitySquared

        The square of eccentricity: ℯ² = (a²-b²)/a² where a is the semi-major axis length and b is the semi-minor axis length.

      - ##### inverse

            AbstractMathTransform inverse

        The inverse of this transform.
        Note: creation of this object is not deferred to the first call to the `EllipsoidToCentricTransform.inverse()` method because this object is lightweight and typically needed soon anyway (may be as soon as `ConcatenatedTransform` construction time). In addition this field is part of serialization form in order to preserve the references graph.

      - ##### withHeight

            boolean withHeight

        `true` if ellipsoidal coordinates include an ellipsoidal height (i.e. are 3-D). If `false`, then the input coordinates are expected to be two-dimensional and the ellipsoidal height is assumed to be 0.

  - ### Class InterpolatedGeocentricTransform

    class InterpolatedGeocentricTransform extends DatumShiftTransform implements Serializable
    serialVersionUID:
      5503722845441653093L

    - #### Serialized Fields

      - ##### centricToEllipsoid

            AbstractMathTransform centricToEllipsoid

        The transform to apply before and after the geocentric translation. Shall be instance of `EllipsoidToCentricTransform` and `EllipsoidToCentricTransform.Inverse` respectively.

      - ##### ellipsoidToCentric

            AbstractMathTransform ellipsoidToCentric

        The transform to apply before and after the geocentric translation. Shall be instance of `EllipsoidToCentricTransform` and `EllipsoidToCentricTransform.Inverse` respectively.

      - ##### inverse

            InterpolatedGeocentricTransform inverse

        The inverse of this interpolated geocentric transform.
        See Also:
          - `InterpolatedGeocentricTransform.inverse()`

      - ##### scale

            double scale

        Semi-major axis length of the source ellipsoid divided by semi-major axis length of the target ellipsoid. Used for converting normalized coordinates between the two geocentric coordinate reference systems.

        This is a dimensionless quantity: the ellipsoid axis lengths must have been converted to the same unit before to compute this ratio.

      - ##### semiMajor

            double semiMajor

        Semi-major axis length (a) of the source ellipsoid.

  - ### Class InterpolatedMolodenskyTransform

    class InterpolatedMolodenskyTransform extends MolodenskyFormula implements Serializable
    serialVersionUID:
      -5691721806681489940L

    - #### Serialized Fields

      - ##### inverse

            InterpolatedMolodenskyTransform inverse

        The inverse of this interpolated Molodensky transform.
        See Also:
          - `InterpolatedMolodenskyTransform.inverse()`

  - ### Class InterpolatedTransform

    class InterpolatedTransform extends DatumShiftTransform implements Serializable
    serialVersionUID:
      -8962688502524486475L

    - #### Serialized Fields

      - ##### dimension

            int dimension

        The value of `DatumShiftGrid.getTranslationDimensions()`, stored for efficiency.

      - ##### inverse

            InterpolatedTransform.Inverse inverse

        The inverse of this interpolated transform.
        See Also:
          - `InterpolatedTransform.inverse()`

  - ### Class MolodenskyTransform

    class MolodenskyTransform extends MolodenskyFormula implements Serializable
    serialVersionUID:
      7206439437113286122L

    - #### Serialized Fields

      - ##### inverse

            MolodenskyTransform inverse

        The inverse of this Molodensky transform.
        See Also:
          - `MolodenskyTransform.inverse()`

  - ### Class PassThroughTransform

    class PassThroughTransform extends AbstractMathTransform implements Serializable
    serialVersionUID:
      -910726602881388979L

    - #### Serialized Fields

      - ##### firstAffectedCoordinate

            int firstAffectedCoordinate

        Index of the first affected coordinate.
        See Also:
          - `PassThroughTransform.getModifiedCoordinates()`

      - ##### inverse

            PassThroughTransform inverse

        The inverse transform. This field will be computed only when needed, but is part of serialization in order to avoid rounding error.

      - ##### numTrailingCoordinates

            int numTrailingCoordinates

        Number of unaffected coordinates after the affected ones.
        See Also:
          - `PassThroughTransform.getModifiedCoordinates()`

      - ##### subTransform

            MathTransform subTransform

        The sub-transform to apply on the modified coordinates. This is often the sub-transform specified at construction time, but not necessarily.

  - ### Class TransferFunction

    class TransferFunction extends Object implements Serializable
    serialVersionUID:
      185931909755748004L

    - #### Serialized Fields

      - ##### base

            double base

        The logarithmic base. Ignored if `TransferFunction.type` is `LINEAR`.

      - ##### offset

            double offset

        The scale factor, or `NaN` if unknown.

      - ##### scale

            double scale

        The scale factor, or `NaN` if unknown.

      - ##### transform

            MathTransform1D transform

        The transform created from above information, or `null` if not yet created. Conversely, may be the transform given to the constructor from which above information were inferred.

        This field is serialized because the transform may be a user-provided one.

      - ##### type

            TransferFunctionType type

        Whether the function is linear, logarithmic or exponential.

  - ### Class WraparoundTransform

    class WraparoundTransform extends AbstractMathTransform implements Serializable
    serialVersionUID:
      -1959034793759509170L

    - #### Serialized Fields

      - ##### dimension

            int dimension

        Number of dimensions of source and target coordinates.

      - ##### period

            double period

        Period on wraparound axis, always greater than zero. This is 360° for the longitude axis. Coordinates will be normalized in the [−period/2 … +period/2] range.

      - ##### sourceMedian

            double sourceMedian

        Coordinate in the wraparound dimension which is at the center of the range of valid source coordinates. For example if this transform wraps coordinates from the [0 … 360]° range to the [-180 … +180]° range, then `sourceMedian` should be 180° (the value at the center of [0 … 360]° range). The value may be `Double.NaN` if unknown.

        This field is used for inverse transforms only; it has no effect on the forward transforms. If not NaN, this value is used for building the transform returned by `WraparoundTransform.inverse()`.

        Note: there is no `targetMedian` field because the target median is fixed to 0 in `WraparoundTransform`. Non-zero target medians are implemented by translations applied before and after `WraparoundTransform`. Because of this translation, the value of this field is related to the arguments given to the `create(…)` method by `this.sourceMeridian = sourceMeridian - targetMeridian`.

      - ##### wraparoundDimension

            int wraparoundDimension

        The dimension where to apply wraparound.

- ## Package org.apache.sis.setup

  - ### Class OptionKey

    class OptionKey extends Object implements Serializable
    serialVersionUID:
      -7580514229639750246L

    - #### Serialization Methods

      - ##### readResolve

        private Object readResolve() throws ObjectStreamException
        Resolves this option key on deserialization. This method is invoked only for instance of the exact `OptionKey` class, not subclasses.
        Throws:
          `ObjectStreamException` - required by specification but should never be thrown.

    - #### Serialized Fields

      - ##### name

            String name

        The name of this key. For `OptionKey` instances, it shall be the name of the static constants. For subclasses of `OptionKey`, there is no restriction.

      - ##### type

            Class<T> type

        The type of values.

- ## Package org.apache.sis.storage

  - ### Exception ConcurrentReadException

    class ConcurrentReadException extends DataStoreException implements Serializable
    serialVersionUID:
      3319444259890595458L

  - ### Exception ConcurrentWriteException

    class ConcurrentWriteException extends DataStoreException implements Serializable
    serialVersionUID:
      4005018924099696792L

  - ### Class CoverageQuery

    class CoverageQuery extends Query implements Serializable
    serialVersionUID:
      -4296814883807414158L

    - #### Serialized Fields

      - ##### domain

            GridGeometry domain

        Desired grid extent and resolution, or `null` for reading the whole domain. This is the "selection" in query terminology.

      - ##### range

            int[] range

        0-based indices of sample dimensions to read, or `null` for reading them all. This is the "projection" (not to be confused with map projection) in query terminology.

      - ##### rangeNames

            String[] rangeNames

        The CoverageQuery.range specified by names instead of indices. At most one of `range` and `rangeNames` shall be non-null.

      - ##### sourceDomainExpansion

            int sourceDomainExpansion

        Number of additional cells to read on each border of the source grid coverage. If non-zero, this property expands the CoverageQuery.domain to be read by an amount specified in unit of cells of the image to be read. Those cells do not necessarily have the same size than the cells of `CoverageQuery.domain.getExtent()`.

  - ### Class DataOptionKey

    class DataOptionKey extends OptionKey<T> implements Serializable
    serialVersionUID:
      8927757348322016043L

  - ### Exception DataStoreClosedException

    class DataStoreClosedException extends DataStoreException implements Serializable
    serialVersionUID:
      7205119080377665796L

  - ### Exception DataStoreContentException

    class DataStoreContentException extends DataStoreException implements Serializable
    serialVersionUID:
      3469934460013440211L

  - ### Exception DataStoreException

    class DataStoreException extends Exception implements Serializable
    serialVersionUID:
      -1778987176103191950L

  - ### Exception DataStoreReferencingException

    class DataStoreReferencingException extends DataStoreException implements Serializable
    serialVersionUID:
      2671737996817267335L

  - ### Class FeatureQuery

    class FeatureQuery extends Query implements Serializable
    serialVersionUID:
      -5841189659773611160L

    - #### Serialized Fields

      - ##### limit

            long limit

        The maximum number of feature instances contained in the `FeatureSet`. This is `FeatureQuery.UNLIMITED` if there is no limit.
        See Also:
          - `FeatureQuery.getLimit()`
          - `FeatureQuery.setLimit(long)`
          - `Stream.limit(long)`

      - ##### linearResolution

            Quantity<Length> linearResolution

        Hint used by resources to optimize returned features. Different stores make use of vector tiles of different scales. A `null` value means to query data at their full resolution.
        See Also:
          - `FeatureQuery.getLinearResolution()`
          - `FeatureQuery.setLinearResolution(Quantity)`

      - ##### projection

            FeatureQuery.NamedExpression[] projection

        The properties to retrieve, or `null` if all properties shall be included in the query. In a database, "properties" are table columns. Subset of columns is called projection in relational database terminology.
        See Also:
          - `FeatureQuery.getProjection()`
          - `FeatureQuery.setProjection(NamedExpression[])`

      - ##### selection

            Filter<? super AbstractFeature> selection

        The filter for trimming feature instances. In a database, "feature instances" are table rows. Subset of rows is called selection in relational database terminology.
        See Also:
          - `FeatureQuery.getSelection()`
          - `FeatureQuery.setSelection(Filter)`

      - ##### skip

            long skip

        The number of feature instances to skip from the beginning. This is zero if there is no instance to skip.
        See Also:
          - `FeatureQuery.getOffset()`
          - `FeatureQuery.setOffset(long)`
          - `Stream.skip(long)`

      - ##### sortBy

            SortBy<AbstractFeature> sortBy

        The expressions to use for sorting the feature instances.
        See Also:
          - `FeatureQuery.getSortBy()`
          - `FeatureQuery.setSortBy(SortBy)`

  - ### Class FeatureQuery.NamedExpression

    class NamedExpression extends Object implements Serializable
    serialVersionUID:
      -6919525113513842514L

    - #### Serialized Fields

      - ##### alias

            GenericName alias

        The name to assign to the expression result, or `null` if unspecified.

      - ##### expression

            Expression<? super AbstractFeature,?> expression

        The literal, value reference or more complex expression to be retrieved by a `Query`. Never `null`.

  - ### Exception ForwardOnlyStorageException

    class ForwardOnlyStorageException extends DataStoreException implements Serializable
    serialVersionUID:
      5750925701319201321L

  - ### Exception IllegalFeatureTypeException

    class IllegalFeatureTypeException extends DataStoreException implements Serializable
    serialVersionUID:
      1426887859737756607L

  - ### Exception IllegalNameException

    class IllegalNameException extends NoSuchDataException implements Serializable
    serialVersionUID:
      2435437568097737351L

  - ### Exception IllegalOpenParameterException

    class IllegalOpenParameterException extends DataStoreException implements Serializable
    serialVersionUID:
      8167257397599018311L

  - ### Exception InternalDataStoreException

    class InternalDataStoreException extends DataStoreException implements Serializable
    serialVersionUID:
      -1955963337799113196L

  - ### Exception NoSuchDataException

    class NoSuchDataException extends DataStoreException implements Serializable
    serialVersionUID:
      -5883260753916229790L

  - ### Class ProbeResult

    class ProbeResult extends Object implements Serializable
    serialVersionUID:
      -4977853847503500550L

    - #### Serialized Fields

      - ##### isSupported

            boolean isSupported

        `true` if the storage is supported by the `DataStoreProvider`.
        See Also:
          - `ProbeResult.isSupported()`

      - ##### mimeType

            String mimeType

        The storage MIME type, or `null` if unknown or not applicable.
        See Also:
          - `ProbeResult.getMimeType()`

      - ##### version

            Version version

        The version of file format or database schema used by the storage, or `null` if unknown or not applicable.
        See Also:
          - `ProbeResult.getVersion()`

  - ### Exception ReadOnlyStorageException

    class ReadOnlyStorageException extends DataStoreException implements Serializable
    serialVersionUID:
      5710116172772560023L

  - ### Class StorageConnector

    class StorageConnector extends Object implements Serializable
    serialVersionUID:
      2524083964906593093L

    - #### Serialized Fields

      - ##### options

            Map<OptionKey<?>,Object> options

        The options, created only when first needed.
        See Also:
          - `StorageConnector.getOption(OptionKey)`
          - `StorageConnector.setOption(OptionKey, Object)`

      - ##### storage

            Object storage

        The input/output object given at construction time.
        See Also:
          - `StorageConnector.getStorage()`

  - ### Exception UnsupportedEncodingException

    class UnsupportedEncodingException extends DataStoreContentException implements Serializable
    serialVersionUID:
      4998668012290557156L

  - ### Exception UnsupportedQueryException

    class UnsupportedQueryException extends DataStoreException implements Serializable
    serialVersionUID:
      -4593505566766684270L

  - ### Exception UnsupportedStorageException

    class UnsupportedStorageException extends IllegalOpenParameterException implements Serializable
    serialVersionUID:
      -8754573140979570187L

- ## Package org.apache.sis.storage.event

  - ### Class StoreEvent

    class StoreEvent extends EventObject implements Serializable
    serialVersionUID:
      -1725093072445990248L

  - ### Class WarningEvent

    class WarningEvent extends StoreEvent implements Serializable
    serialVersionUID:
      3825327888379868663L

    - #### Serialized Fields

      - ##### description

            LogRecord description

        The warning message together with its severity level, source method/class name, stack trace, thread identifier, etc.

- ## Package org.apache.sis.storage.netcdf

  - ### Class AttributeNames.Dimension

    class Dimension extends Object implements Serializable
    serialVersionUID:
      5063525623830032591L

    - #### Serialized Fields

      - ##### DEFAULT_NAME_TYPE

            DimensionNameType DEFAULT_NAME_TYPE

        The default ISO 19115 dimension name type, or `null` if none. By default, `DimensionNameType.COLUMN` is associated to longitudes and `DimensionNameType.ROW` to latitudes since geographic maps in netCDF files are typically shown horizontally.

        The default associations may not be always correct since the columns and rows can be anything. Strictly speaking, the dimension name types shall be associated to the grid axes rather than the coordinate system axes. However the default association is correct in the common case (for netCDF files) where there is no axis swapping in the grid to CRS conversion.

      - ##### MAXIMUM

            String MAXIMUM

        The attribute name for the maximal value of the bounding box (Recommended). Possible values are `"geospatial_lat_max"`, `"geospatial_lon_max"`, `"geospatial_vertical_max"` and `"time_coverage_end"`.

      - ##### MINIMUM

            String MINIMUM

        The attribute name for the minimal value of the bounding box (Recommended). Possible values are `"geospatial_lat_min"`, `"geospatial_lon_min"`, `"geospatial_vertical_min"` and `"time_coverage_start"`.

      - ##### POSITIVE

            String POSITIVE

        The attribute name for indicating which direction is positive (Suggested). Possible value is `"geospatial_vertical_positive"`.

      - ##### RESOLUTION

            String RESOLUTION

        The attribute name for a further refinement of the geospatial bounding box (Suggested). Possible values are `"geospatial_lat_resolution"`, `"geospatial_lon_resolution"`, `"geospatial_vertical_resolution"` and `"time_coverage_resolution"`.

      - ##### SPAN

            String SPAN

        The attribute name for the difference between the minimal and maximal values. Possible value is `"time_coverage_duration"`.

      - ##### UNITS

            String UNITS

        The attribute name for the bounding box units of measurement. Possible values are `"geospatial_lat_units"`, `"geospatial_lon_units"`, `"geospatial_vertical_units"` and `"time_coverage_units"`.

  - ### Class AttributeNames.Responsible

    class Responsible extends Object implements Serializable
    serialVersionUID:
      2680152633273321012L

    - #### Serialized Fields

      - ##### DEFAULT_ROLE

            Role DEFAULT_ROLE

        The role to use as a fallback if no attribute value is associated to the `AttributeNames.Responsible.ROLE` key.

      - ##### EMAIL

            String EMAIL

        The attribute name for the responsible's email address. Possible values are `"creator_email"`, `"contributor_email"` or `"publisher_email"`.

        Path in ISO 19115:

        - `ResponsibleParty` / `contactInfo` / `address` / `electronicMailAddress`

      - ##### INSTITUTION

            String INSTITUTION

        The attribute name for the responsible's institution, or `null` if none. Possible value is `"institution"`.

        Path in ISO 19115:

        - `ResponsibleParty` / `organisationName`

      - ##### NAME

            String NAME

        The attribute name for the responsible's name. Possible values for this field are `"creator_name"`, `"contributor_name"` or `"publisher_name"`.

        Path in ISO 19115:

        - `ResponsibleParty` / `individualName`

      - ##### ROLE

            String ROLE

        The attribute name for the responsible's role, or `null` if none. Possible value is `"contributor_role"`.

        Path in ISO 19115:

        - `ResponsibleParty` / `ResponsibleParty.getRole()`
        See Also:
          - `Role`

      - ##### TYPE

            String TYPE

        The attribute name for the responsible's type. Possible values for this field are `"creator_type"` or `"publisher_type"`. Possible values in a netCDF file are `"person"`, `"group"`, `"institution"` or `"position"`.

      - ##### URL

            String URL

        The attribute name for the responsible's URL. Possible values are `"creator_url"`, `"contributor_url"` or `"publisher_url"`.

        Path in ISO 19115:

        - `ResponsibleParty` / `contactInfo` / `onlineResource` / `linkage`

  - ### Class AttributeNames.Term

    class Term extends Object implements Serializable
    serialVersionUID:
      2625777878209548741L

    - #### Serialized Fields

      - ##### TEXT

            String TEXT

        The keyword or the identifier code. Possible values for this field are `"id"`, `"standard_name"`, `"keywords"`, `"program"`, `"platform"` or `"instrument"`.

        Path in ISO 19115:

        - `Metadata` / `identificationInfo` / `descriptiveKeywords` / `keyword`
        - or `Identifier` / `code`

      - ##### VOCABULARY

            String VOCABULARY

        The vocabulary or identifier namespace, or `null` if none. Possible values for this field are `"naming_authority"`, `"standard_name_vocabulary"`, `"keywords_vocabulary"`, `"platform_vocabulary"` or `"instrument_vocabulary"`.

        Path in ISO 19115:

        - `Metadata` / `identificationInfo` / `descriptiveKeywords` / `thesaurusName` / `title`
        - or `Identifier` / `authority` / `title`

- ## Package org.apache.sis.util

  - ### Exception CorruptedObjectException

    class CorruptedObjectException extends RuntimeException implements Serializable
    serialVersionUID:
      -7595678373605419502L

  - ### Class DefaultInternationalString

    class DefaultInternationalString extends AbstractInternationalString implements Serializable
    serialVersionUID:
      3663160836923279819L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Canonicalize the locales after deserialization.
        Parameters:
          `in` - the input stream from which to deserialize an international string.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

    - #### Serialized Fields

      - ##### localeMap

            Map<Locale,String> localeMap

        The string values in different locales (never `null`).

  - ### Exception NullArgumentException

    class NullArgumentException extends NullPointerException implements Serializable
    serialVersionUID:
      7924011726325288438L

  - ### Class ResourceInternationalString

    class ResourceInternationalString extends AbstractInternationalString implements Serializable
    serialVersionUID:
      -8636012022904092254L

    - #### Serialized Fields

      - ##### key

            String key

        The key for the resource to fetch. This value is given at construction time and can not be `null`.

      - ##### resources

            String resources

        The name of the resource bundle, as a fully qualified class name. This value is given at construction time and can not be `null`.

  - ### Class SimpleInternationalString

    class SimpleInternationalString extends AbstractInternationalString implements Serializable
    serialVersionUID:
      7600371840915793379L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Reads the string. This is required since `AbstractInternationalString.defaultValue` is not serialized.
        Parameters:
          `in` - the input stream from which to deserialize an international string.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Writes the string. This is required since `AbstractInternationalString.defaultValue` is not serialized.
        Parameters:
          `out` - the output stream where to serialize this international string.
        Throws:
          `IOException` - if an I/O error occurred while writing.

  - ### Exception UnconvertibleObjectException

    class UnconvertibleObjectException extends IllegalArgumentException implements Serializable
    serialVersionUID:
      4436966248421454692L

  - ### Exception UnknownNameException

    class UnknownNameException extends RuntimeException implements Serializable
    serialVersionUID:
      8184564092008827669L

  - ### Exception UnsupportedImplementationException

    class UnsupportedImplementationException extends UnsupportedOperationException implements Serializable
    serialVersionUID:
      8871937175259200449L

  - ### Class Version

    class Version extends Object implements Serializable
    serialVersionUID:
      8402041502662929792L

    - #### Serialized Fields

      - ##### version

            String version

        The version in string form, with leading and trailing spaces removed.

- ## Package org.apache.sis.util.collection

  - ### Exception BackingStoreException

    class BackingStoreException extends RuntimeException implements Serializable
    serialVersionUID:
      -4549821631559359838L

  - ### Class CodeListSet

    class CodeListSet extends AbstractSet<E extends CodeList<E>> implements Serializable
    serialVersionUID:
      -6328082298556260980L

    - #### Serialized Fields

      - ##### elementType

            Class<E extends CodeList<E>> elementType

        The type of code list elements.
        See Also:
          - `CodeListSet.getElementType()`

      - ##### supplementary

            BitSet supplementary

        The bit set for supplementary values beyond the `values` mask, or `null` if none. This is very rarely needed, but we need this field in case a code list has more than 64 elements.
        Implementation note: The standard `EnumSet` class uses different implementations depending on whether the enumeration contains more or less than 64 elements. We can not apply the same strategy for `CodeListSet`, because new code list elements can be created at runtime. Consequently this implementation needs to be able to growth its capacity.

      - ##### values

            long values

        A bitmask of code list values present in this map.

  - ### Class DefaultTreeTable

    class DefaultTreeTable extends Object implements Serializable
    serialVersionUID:
      7991792044044382191L

    - #### Serialized Fields

      - ##### columnIndices

            Map<TableColumn<?>,Integer> columnIndices

        The index of values associated to each column. This is used by the `DefaultTreeTable.Node` implementation for storing values in a single flat array. After creation, this map shall be read-only since many `Node` instances may share it.
        Implementation note: This field and the `DefaultTreeTable.columns` field could be computed from each other. But we serialize this field anyway because children nodes will typically hold a reference to that map, and we want to preserve the references tree.
        See Also:
          - `DefaultTreeTable.Node.columnIndices`

      - ##### root

            TreeTable.Node root

        The root node, or `null` if not yet specified.
        See Also:
          - `DefaultTreeTable.getRoot()`
          - `DefaultTreeTable.setRoot(TreeTable.Node)`

  - ### Class DefaultTreeTable.Node

    class Node extends Object implements Serializable
    serialVersionUID:
      -5729029633479218691L

    - #### Serialized Fields

      - ##### children

            List<TreeTable.Node> children

        The list of children, or `null` if none. Created only when first needed.

      - ##### columnIndices

            Map<TableColumn<?>,Integer> columnIndices

        The index of values associated to each column. This map is used by the `DefaultTreeTable.Node.getValue(TableColumn)` and `DefaultTreeTable.Node.setValue(TableColumn, Object)` methods for identifying the index where to store values in the `DefaultTreeTable.Node.values` array.

        This map shall be read-only since many `Node` instances may share it.

        See Also:
          - `DefaultTreeTable.columnIndices`

      - ##### parent

            TreeTable.Node parent

        The parent of this node, or `null` if none.
        See Also:
          - `DefaultTreeTable.Node.getParent()`
          - `DefaultTreeTable.Node.setParent(TreeTable.Node)`

      - ##### values

            Object[] values

        The values, or `null` if not yet created.

  - ### Class FrequencySortedSet

    class FrequencySortedSet extends AbstractSet<E> implements Serializable
    serialVersionUID:
      6034102231354388179L

    - #### Serialized Fields

      - ##### count

            Map<E,Integer> count

        The frequency of occurrence for each element. We must use a linked hash map instead of an ordinary hash map because we want to preserve insertion order for elements that occur at the same frequency. Values are positives if this set sorts by increasing frequencies, or negatives if this set sorts by decreasing frequencies.

      - ##### order

            int order

        `0` if the element should be sorted in the usual order, or `-1` if the elements should be sorted in reverse order (most frequent element first). This value is XORed with the number of times n that an element is added: `n ^ order`. The intent is to store negative numbers in the `FrequencySortedSet.count` map if this `FrequencySortedSet` has been created for reverse order.
        Implementation note: we could have used `+1` and `-1` for the usual and reverse order respectively, and store the multiplication result `n * order` in the `FrequencySortedSet.count` map. We rather use XOR for two reasons: first, XOR is a simpler operation for the CPU than multiplication. Second, XOR guarantees us that all negative numbers can be made positive in `FrequencySortedSet.frequencies()`, by applying again `n ^ order`. By contrast, the multiplication approach (or just the `-n` negation) would fail to convert `Integer.MIN_VALUE`.

  - ### Class IntegerList

    class IntegerList extends AbstractList<Integer> implements Serializable
    serialVersionUID:
      1241962316404811189L

    - #### Serialization Methods

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Invokes `IntegerList.trimToSize()` before serialization in order to make the stream more compact.
        Parameters:
          `out` - the output stream where to serialize this list.
        Throws:
          `IOException` - if an I/O error occurred while writing.

    - #### Serialized Fields

      - ##### bitCount

            int bitCount

        The bit count for values.

      - ##### mask

            int mask

        The mask computed as `(1 << bitCount) - 1`.

      - ##### size

            int size

        The list size. Initially 0.
        See Also:
          - `IntegerList.size()`

      - ##### values

            long[] values

        The packed values. We use the `long` type instead of `int` since 64 bits machines are common now.

  - ### Class RangeSet

    class RangeSet extends AbstractSet<Range<E extends Comparable<? super E>>> implements Serializable
    serialVersionUID:
      7493555225994855486L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked after deserialization. Initializes the transient fields.
        Parameters:
          `in` - the input stream from which to deserialize a range set.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Invoked before serialization. Trims the internal array to the minimal size in order to reduce the size of the object to be serialized.
        Parameters:
          `out` - the output stream where to serialize this range set.
        Throws:
          `IOException` - if an I/O error occurred while writing.

    - #### Serialized Fields

      - ##### array

            Object array

        The array of ranges. It may be either an array of Java primitive type like `int[]` or `float[]`, or an array of `Comparable` elements. All elements at even indices are minimal values, and all elements at odd indices are maximal values. Elements in this array must be strictly increasing without duplicated values.
        Note: The restriction against duplicated values will need to be removed in a future version if we want to support open intervals. All binary searches in this class will need to take in account the possibility for duplicated values.

      - ##### elementCode

            byte elementCode

        The primitive type, as one of `DOUBLE`, `FLOAT`, `LONG`, `INTEGER`, `SHORT`, `BYTE`, `CHARACTER` enumeration. If the `RangeSet.elementType` is not the wrapper of a primitive type, then this field value is `OTHER`.

      - ##### elementType

            Class<E extends Comparable<? super E>> elementType

        The type of elements in the ranges. If the element are numbers, then the value is the wrapper type (not the primitive type).
        See Also:
          - `Range.getElementType()`

      - ##### isMaxIncluded

            boolean isMaxIncluded

        `true` if the maximal values of ranges in this set are inclusive, or `false` if exclusive. This value is specified at construction time and enforced when ranges are added or removed.
        See Also:
          - `Range.isMaxIncluded()`

      - ##### isMinIncluded

            boolean isMinIncluded

        `true` if the minimal values of ranges in this set are inclusive, or `false` if exclusive. This value is specified at construction time and enforced when ranges are added or removed.
        See Also:
          - `Range.isMinIncluded()`

  - ### Class TreeTableFormat

    class TreeTableFormat extends TabularFormat<TreeTable> implements Serializable
    serialVersionUID:
      147992015470098561L

    - #### Serialized Fields

      - ##### columnIndices

            Map<TableColumn<?>,Integer> columnIndices

        The table columns to format, or `null` for formatting all of them. This map shall not be modified after creation, because it may be shared by many tables.
        See Also:
          - `TreeTableFormat.getColumns()`
          - `TreeTableFormat.setColumns(TableColumn[])`

      - ##### indentation

            int indentation

        The number of characters to add on the left side for each indentation level. The default value is 4.
        See Also:
          - `TreeTableFormat.getIndentation()`
          - `TreeTableFormat.setIndentation(int)`

      - ##### nodeFilter

            Predicate<TreeTable.Node> nodeFilter

        A filter for specifying whether a node should be formatted, or `null` if no filtering is applied. This is ignored at parsing time.
        See Also:
          - `TreeTableFormat.getNodeFilter()`
          - `TreeTableFormat.setNodeFilter(Predicate)`

      - ##### verticalLinePosition

            int verticalLinePosition

        The position of the vertical line, relative to the position of the label of the parent node. The default value is 2, which means that the vertical line is drawn below the third letter of the node label.
        See Also:
          - `TreeTableFormat.getVerticalLinePosition()`
          - `TreeTableFormat.setVerticalLinePosition(int)`

- ## Package org.apache.sis.util.iso

  - ### Class AbstractName

    class AbstractName extends Object implements Serializable
    serialVersionUID:
      667242702456713391L

  - ### Class DefaultLocalName

    class DefaultLocalName extends AbstractName implements Serializable
    serialVersionUID:
      -697839568997068872L

    - #### Serialization Methods

      - ##### readResolve

        private Object readResolve() throws ObjectStreamException
        If an instance already exists for the deserialized name, returns that instance.

        Because of its private access, this method is not invoked if the deserialized class is a subclass. This is the intended behavior since we don't want to replace an instance of a user-defined class.

        Throws:
          `ObjectStreamException` - required by specification but should never be thrown.

    - #### Serialized Fields

      - ##### name

            CharSequence name

        The name, either as a `String` or an `InternationalString`.

        #### Note on JAXB annotation

        The `XmlElement` annotation applied here is appropriate for `TypeName` and `MemberName` subtypes only. It is not appropriate when (un)marshalling directly a `LocalName`. The distinction between the two cases is done by `GO_GenericName`, which replace the `LocalName` instance by an internal `NameValue` object (so the XML element declared here is never marshalled). Example:

        >     <gco:LocalName codeSpace=\"A code space\">A name in a scope</gco:LocalName>

        versus

        >     <gco:TypeName>
        >       <gco:aName>
        >         <gco:CharacterString>An other local name</gco:CharacterString>
        >       </gco:aName>
        >     </gco:TypeName>

      - ##### scope

            NameSpace scope

        The scope of this name, or `null` if the scope is the unique `GLOBAL` instance. We don't use direct reference to `GLOBAL` because `null` is used as a sentinel value for stopping iterative searches (using GLOBAL would have higher risk of never-ending loops in case of bug), and in order to reduce the stream size during serialization.

  - ### Class DefaultMemberName

    class DefaultMemberName extends DefaultLocalName implements Serializable
    serialVersionUID:
      7307683415489715298L

    - #### Serialized Fields

      - ##### attributeType

            TypeName attributeType

        The type of the data associated with the record member.

  - ### Class DefaultNameSpace

    class DefaultNameSpace extends Object implements Serializable
    serialVersionUID:
      8272640747799127007L

    - #### Serialization Methods

      - ##### readResolve

        Object readResolve() throws ObjectStreamException
        If an instance already exists for the deserialized namespace, returns that instance. Otherwise completes the initialization of the deserialized instance.

        Because of its package-private access, this method is not invoked if the deserialized class is a subclass defined in an other package. This is the intended behavior since we don't want to replace an instance of a user-defined class.

        Throws:
          `ObjectStreamException` - required by specification but should never be thrown.

    - #### Serialized Fields

      - ##### headSeparator

            String headSeparator

        The separator to insert between the namespace and the head of any name in that namespace.

      - ##### name

            CharSequence name

        The name of this namespace, usually as a `String` or an `InternationalString`.

      - ##### parent

            DefaultNameSpace parent

        The parent namespace, or `null` if the parent is the unique `GLOBAL` instance. We don't use direct reference to `GLOBAL` because `null` is used as a sentinel value for stopping iterative searches (using GLOBAL would have higher risk of never-ending loops in case of bug), and in order to reduce the stream size during serialization.
        See Also:
          - `DefaultNameSpace.parent()`

      - ##### separator

            String separator

        The separator to insert between the parsed names of any name in that namespace.

  - ### Class DefaultRecord

    class DefaultRecord extends Object implements Serializable
    serialVersionUID:
      -5293250754663538325L

    - #### Serialized Fields

      - ##### definition

            RecordDefinition definition

        The type definition of this record. Can not be `null`.

      - ##### values

            Object values

        The record values in an array. May be an array of primitive type for compactness, which is why the type is not `Object[]`. Should never be `null`, except temporarily during XML unmarshalling.

  - ### Class DefaultRecordType

    class DefaultRecordType extends RecordDefinition implements Serializable
    serialVersionUID:
      -1534515712654429099L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Invoked on deserialization for restoring the transient fields. See `DefaultRecordType.writeObject(ObjectOutputStream)` for the stream data description.
        Parameters:
          `in` - the input stream from which to deserialize an object.
        Throws:
          `IOException` - if an I/O error occurred while reading or if the stream contains invalid data.
          `ClassNotFoundException` - if the class serialized on the stream is not on the classpath.

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Invoked on serialization for writing the field names and their type.
        Serial Data:
          the number of fields as an `int`, followed by a (`MemberName`, `Type`) pair for each field.
        Parameters:
          `out` - the output stream where to serialize this object.
        Throws:
          `IOException` - if an I/O error occurred while writing.

    - #### Serialized Fields

      - ##### container

            RecordSchema container

        The schema that contains this record type.
        See Also:
          - `DefaultRecordType.getContainer()`

      - ##### typeName

            TypeName typeName

        The name that identifies this record type.
        See Also:
          - `DefaultRecordType.getTypeName()`

  - ### Class DefaultScopedName

    class DefaultScopedName extends AbstractName implements Serializable
    serialVersionUID:
      1363103337249930577L

    - #### Serialized Fields

      - ##### parsedNames

            UnmodifiableArrayList<? extends LocalName> parsedNames

        The immutable list of parsed names.

  - ### Class DefaultTypeName

    class DefaultTypeName extends DefaultLocalName implements Serializable
    serialVersionUID:
      7182126541436753582L

- ## Package org.apache.sis.util.logging

  - ### Class PerformanceLevel

    class PerformanceLevel extends Level implements Serializable
    serialVersionUID:
      -6547125008284983701L

    - #### Serialized Fields

      - ##### minDuration

            long minDuration

        The minimal duration (in nanoseconds) for logging the record.

- ## Package org.apache.sis.xml

  - ### Class NilReason

    class NilReason extends Object implements Serializable
    serialVersionUID:
      5553785821187789895L

    - #### Serialization Methods

      - ##### readResolve

        private Object readResolve() throws ObjectStreamException
        Invoked after deserialization in order to return a unique instance if possible.
        Throws:
          `ObjectStreamException` - required by specification but should never be thrown.

    - #### Serialized Fields

      - ##### reason

            Object reason

        Either the XML value as a `String` (including the explanation if the prefix is "`other`", or a `URI`.

  - ### Class XLink

    class XLink extends Object implements Serializable
    serialVersionUID:
      4046720871882443681L

    - #### Serialized Fields

      - ##### actuate

            XLink.Actuate actuate

        Communicates the desired timing of traversal from the starting resource to the ending resource.
        See Also:
          - `XLink.getActuate()`

      - ##### arcrole

            URI arcrole

        A URI reference for some description of the arc role.
        See Also:
          - `XLink.getArcRole()`

      - ##### from

            String from

        The starting resource. The value must correspond to the same value for some `label` attribute.
        See Also:
          - `XLink.getFrom()`

      - ##### hashCode

            int hashCode

        The cached hash code value, computed only if this `XLink` is unmodifiable. Otherwise, this field is left to zero. This field is computed when the `XLink.freeze()` method has been invoked.

      - ##### href

            URI href

        A URN to an external resources, or to an other part of a XML document, or an identifier.
        See Also:
          - `XLink.getHRef()`

      - ##### label

            String label

        Identifies the target of a `from` or `to` attribute.
        See Also:
          - `XLink.getLabel()`

      - ##### role

            URI role

        A URI reference for some description of the arc role.
        See Also:
          - `XLink.getRole()`

      - ##### show

            XLink.Show show

        Communicates the desired presentation of the ending resource on traversal from the starting resource.
        See Also:
          - `XLink.getShow()`

      - ##### title

            InternationalString title

        Just as with resources, this is simply a human-readable string with a short description for the arc.
        See Also:
          - `XLink.getTitle()`

      - ##### to

            String to

        The ending resource. The value must correspond to the same value for some `label` attribute.
        See Also:
          - `XLink.getTo()`

      - ##### type

            XLink.Type type

        The type of link. If `null`, then the type will be inferred by `XLink.getType()`.
        See Also:
          - `XLink.getType()`