com.fasterxml.jackson.databind.type

## Enum LogicalType

- java.lang.Object
- - java.lang.Enum<LogicalType>
  - - com.fasterxml.jackson.databind.type.LogicalType

- All Implemented Interfaces:
    Serializable, Comparable<LogicalType>

      public enum LogicalType
      extends Enum<LogicalType>

  Set of logical types (or type categories, classes of classes), used for defining applicability of configuration like coercion configuration. Used instead to allow easier targeting of types than having to enumerate physical types (`Class` or `JavaType`).
  Since:
    2.12

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `Array` Array types of other values.
    `Binary` Binary data such as `byte[]` and `ByteBuffer`.
    `Boolean` `Boolean`, `boolean`, `AtomicBoolean`.
    `Collection` `Collection` values (and "Collection-like" for JVM languages and datatype libraries with semantically similar types)
    `DateTime` Date/time datatypes such as `Date`, `Calendar`.
    `Enum` Various `Enum` types.
    `Float` Basic floating-point numbers types like `short`, `int`, `long` and matching wrapper types, `BigInteger`.
    `Integer` Basic integral numbers types like `short`, `int`, `long` and matching wrapper types, `BigInteger`.
    `Map` `Map` values (and "Map-like" for JVM languages and datatype libraries with semantically similar types)
    `OtherScalar` Scalar types other than ones listed above: includes types like `URL` and `UUID`.
    `POJO` Types that are handled by default "set of key/value pairs" serialization, also known as "Beans".
    `Textual` Purely textual types, `String` and similar (but not types that are generally expressed as Strings in input).
    `Untyped` "Non-type", Type used to contained untyped, free-form content: maybe a "Tree" (sometimes called "AST"), or buffer of some kind, or even just nominal type of `Object`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static LogicalType` | `fromClass(Class<?> raw, LogicalType defaultIfNotRecognized)` Helper method to use for figuring out logical type from physical type, in cases where caller wants a guess.
    `static LogicalType` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static LogicalType[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Enum Constant Detail

    - #### Array

          public static final LogicalType Array

      Array types of other values.

      Note: excludes binary type `byte[]`.

    - #### Collection

          public static final LogicalType Collection

      `Collection` values (and "Collection-like" for JVM languages and datatype libraries with semantically similar types)

    - #### Map

          public static final LogicalType Map

      `Map` values (and "Map-like" for JVM languages and datatype libraries with semantically similar types)

    - #### POJO

          public static final LogicalType POJO

      Types that are handled by default "set of key/value pairs" serialization, also known as "Beans".

      In addition to user-defined types, also includes JDK types like:

      - `Throwable`

    - #### Untyped

          public static final LogicalType Untyped

      "Non-type", Type used to contained untyped, free-form content: maybe a "Tree" (sometimes called "AST"), or buffer of some kind, or even just nominal type of `Object`

    - #### Integer

          public static final LogicalType Integer

      Basic integral numbers types like `short`, `int`, `long` and matching wrapper types, `BigInteger`.

    - #### Float

          public static final LogicalType Float

      Basic floating-point numbers types like `short`, `int`, `long` and matching wrapper types, `BigInteger`.

    - #### Boolean

          public static final LogicalType Boolean

      `Boolean`, `boolean`, `AtomicBoolean`.

    - #### Enum

          public static final LogicalType Enum

      Various `Enum` types.

    - #### Textual

          public static final LogicalType Textual

      Purely textual types, `String` and similar (but not types that are generally expressed as Strings in input).

    - #### Binary

          public static final LogicalType Binary

      Binary data such as `byte[]` and `ByteBuffer`.

    - #### DateTime

          public static final LogicalType DateTime

      Date/time datatypes such as `Date`, `Calendar`.

    - #### OtherScalar

          public static final LogicalType OtherScalar

      Scalar types other than ones listed above: includes types like `URL` and `UUID`.

  - ### Method Detail

    - #### values

          public static LogicalType[] 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 (LogicalType c : LogicalType.values())
              System.out.println(c);

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

    - #### valueOf

          public static LogicalType 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

    - #### fromClass

          public static LogicalType fromClass(Class<?> raw,
                                              LogicalType defaultIfNotRecognized)

      Helper method to use for figuring out logical type from physical type, in cases where caller wants a guess. Note that introspection is not exhaustive and mostly covers basic `Collection`, `Map` and `Enum` cases; but not more specific types (for example datatype-provided extension types).
      Parameters:
        `raw` - Type-erased class to classify
        `defaultIfNotRecognized` - if no type recognized, value to return (for example, `null`)

Copyright © 2008–2020 FasterXML. All rights reserved.