org.apache.olingo.odata2.api.edm

## Enum EdmSimpleTypeKind

- java.lang.Object
- - java.lang.Enum<EdmSimpleTypeKind>
  - - org.apache.olingo.odata2.api.edm.EdmSimpleTypeKind

- All Implemented Interfaces:
    Serializable, Comparable<EdmSimpleTypeKind>

      public enum EdmSimpleTypeKind
      extends Enum<EdmSimpleTypeKind>

  Do not implement this interface or derive from class.
    EdmSimpleTypeKind holds all EdmSimpleTypes defined as primitive type in the Entity Data Model (EDM).

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `Binary`
    `Boolean`
    `Byte`
    `DateTime`
    `DateTimeOffset`
    `Decimal`
    `Double`
    `Guid`
    `Int16`
    `Int32`
    `Int64`
    `Null`
    `SByte`
    `Single`
    `String`
    `Time`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `EdmSimpleType` | `getEdmSimpleTypeInstance()` Returns an instance for this `EdmSimpleTypeKind` in the form of `EdmSimpleType`.
    `FullQualifiedName` | `getFullQualifiedName()` Returns the `FullQualifiedName` for this SimpleTypeKind.
    `static EdmLiteral` | `parseUriLiteral(String uriLiteral)` Parses a URI literal and determines its EDM simple type on the way.
    `static EdmSimpleTypeKind` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static EdmSimpleTypeKind[]` | `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

    - #### Binary

          public static final EdmSimpleTypeKind Binary

    - #### Boolean

          public static final EdmSimpleTypeKind Boolean

    - #### Byte

          public static final EdmSimpleTypeKind Byte

    - #### DateTime

          public static final EdmSimpleTypeKind DateTime

    - #### DateTimeOffset

          public static final EdmSimpleTypeKind DateTimeOffset

    - #### Decimal

          public static final EdmSimpleTypeKind Decimal

    - #### Double

          public static final EdmSimpleTypeKind Double

    - #### Guid

          public static final EdmSimpleTypeKind Guid

    - #### Int16

          public static final EdmSimpleTypeKind Int16

    - #### Int32

          public static final EdmSimpleTypeKind Int32

    - #### Int64

          public static final EdmSimpleTypeKind Int64

    - #### SByte

          public static final EdmSimpleTypeKind SByte

    - #### Single

          public static final EdmSimpleTypeKind Single

    - #### String

          public static final EdmSimpleTypeKind String

    - #### Time

          public static final EdmSimpleTypeKind Time

    - #### Null

          public static final EdmSimpleTypeKind Null

  - ### Method Detail

    - #### values

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

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

    - #### valueOf

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

    - #### getFullQualifiedName

          public FullQualifiedName getFullQualifiedName()

      Returns the `FullQualifiedName` for this SimpleTypeKind.
      Returns:
        `FullQualifiedName`

    - #### getEdmSimpleTypeInstance

          public EdmSimpleType getEdmSimpleTypeInstance()

      Returns an instance for this `EdmSimpleTypeKind` in the form of `EdmSimpleType`.
      Returns:
        `EdmSimpleType` instance

    - #### parseUriLiteral

          public static EdmLiteral parseUriLiteral(String uriLiteral)
                                            throws EdmLiteralException

      Parses a URI literal and determines its EDM simple type on the way.

      If the literal is `null` or consists of the literal string "null", the EDM simple type `Null` is returned.

      The URI literal syntax of EDM simple types allows two ways of determining the type:

      - The literal has an explicit type indicator (prefix or suffix).
      - The value is of a type compatible to all other possible types, e.g., "256" could be of type `Int16` or `Int32` but all possible values of `Int16` are also legal values of `Int32` so callers could promote it to `Int32` in all cases where they deem it necessary.
        For a given literal, always the narrowest possible type is chosen.

      There are two cases where it is not possible to choose unambiguously a compatible type:

      - `0` or `1` could be a number but also a boolean value; therefore, the internal (system) type `Bit` is used for these values.
      - Integer values between `0` and `127` (inclusive) could be of type `SByte` or `Byte` both of which are not compatible to the other; therefore, the internal (system) type `Uint7` is used for these values.
      Parameters:
        `uriLiteral` - the literal
      Returns:
        an instance of `EdmLiteral`, containing the literal in default String representation and the EDM simple type
      Throws:
        `EdmLiteralException` - if the literal is malformed

Copyright © 2013-2023 The Apache Software Foundation. All Rights Reserved.