Package org.apache.sis.referencing.factory

## Enum IdentifiedObjectFinder.Domain

- Object
- - Enum<IdentifiedObjectFinder.Domain>
  - - Domain

- All Implemented Interfaces:
    `Serializable`, `Comparable<IdentifiedObjectFinder​.Domain>`
  Enclosing class:
    IdentifiedObjectFinder

      public static enum IdentifiedObjectFinder.Domain
      extends Enum<IdentifiedObjectFinder.Domain>

  The domain of the search (for example whether to include deprecated objects in the search).
  Since:
    0.7

  Defined in the `sis-referencing` module

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `ALL_DATASET` | Lookup based on all objects (both valid and deprecated) known to the factory.
    `DECLARATION` | Fast lookup based only on embedded identifiers and names.
    `VALID_DATASET` | Lookup based on valid (non-deprecated) objects known to the factory.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static IdentifiedObjectFinder.Domain` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static IdentifiedObjectFinder.Domain[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### DECLARATION

          public static final IdentifiedObjectFinder.Domain DECLARATION

      Fast lookup based only on embedded identifiers and names. If those identification information does not allow to locate an object in the factory, then the search will return an empty set.
      Example: if `IdentifiedObjectFinder​.find(IdentifiedObject)` is invoked with an object having the `"4326"` identifier, then the `find(…)` method will invoke `factory.createGeographicCRS("4326")` and compare the object from the factory with the object to search. If the objects do not match, then another attempt will be done using the object name. If using name does not work neither, then `find(…)` method makes no other attempt and returns an empty set.

    - #### VALID_DATASET

          public static final IdentifiedObjectFinder.Domain VALID_DATASET

      Lookup based on valid (non-deprecated) objects known to the factory. First, a fast lookup is performed based on `DECLARATION`. If the fast lookup gave no result, then a more extensive search is performed by scanning the content of the dataset.
      Example: if `IdentifiedObjectFinder​.find(IdentifiedObject)` is invoked with an object equivalent to the WGS84 geographic CRS but does not declare the `"4326"` identifier and does not have the "WGS 84" name, then the search based on `DECLARATION` will give no result. The `find(…)` method will then scan the dataset for geographic CRS using equivalent datum and coordinate system. This may be a costly operation.

    - #### ALL_DATASET

          public static final IdentifiedObjectFinder.Domain ALL_DATASET

      Lookup based on all objects (both valid and deprecated) known to the factory. This is the same search than `VALID_DATASET` except that deprecated objects are included in the search.

  - ### Method Detail

    - #### values

          public static IdentifiedObjectFinder.Domain[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (IdentifiedObjectFinder.Domain c : IdentifiedObjectFinder.Domain.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static IdentifiedObjectFinder.Domain valueOf​(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null