org.apache.olingo.commons.api.edm

## Interface EdmStructuredType

- All Superinterfaces:
    EdmAnnotatable, EdmNamed, EdmType
  All Known Subinterfaces:
    EdmComplexType, EdmEntityType

      public interface EdmStructuredType
      extends EdmType, EdmAnnotatable

  EdmStructuralType is the base for a complex type or an entity type. Complex types and entity types are described in the Conceptual Schema Definition of the OData protocol.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `compatibleTo(EdmType targetType)` Checks if this type is convertible to parameter `targetType`
    `EdmStructuredType` | `getBaseType()` Base types are described in the OData protocol specification.
    `EdmNavigationProperty` | `getNavigationProperty(String name)` Get navigation property by name.
    `List<String>` | `getNavigationPropertyNames()` Get all navigation property names.
    `EdmElement` | `getProperty(String name)` Get property by name
    `List<String>` | `getPropertyNames()` Get all simple and complex property names.
    `EdmProperty` | `getStructuralProperty(String name)` Get structural property by name.
    `boolean` | `isAbstract()` Indicates if the structured type is abstract.
    `boolean` | `isOpenType()` Indicates if the structured type is an open type.

    - ### Methods inherited from interface org.apache.olingo.commons.api.edm.EdmType

      `getFullQualifiedName, getKind, getNamespace`

    - ### Methods inherited from interface org.apache.olingo.commons.api.edm.EdmNamed

      `getName`

    - ### Methods inherited from interface org.apache.olingo.commons.api.edm.EdmAnnotatable

      `getAnnotation, getAnnotations`

- - ### Method Detail

    - #### getProperty

          EdmElement getProperty(String name)

      Get property by name
      Parameters:
        `name` - name of property
      Returns:
        simple, complex or navigation property as `EdmTyped`

    - #### getPropertyNames

          List<String> getPropertyNames()

      Get all simple and complex property names.
      Returns:
        property names as type List<String>

    - #### getStructuralProperty

          EdmProperty getStructuralProperty(String name)

      Get structural property by name.
      Parameters:
        `name` - name of structural property
      Returns:
        simple or complex property as `EdmTyped`

    - #### getNavigationProperty

          EdmNavigationProperty getNavigationProperty(String name)

      Get navigation property by name.
      Parameters:
        `name` - name of navigation property
      Returns:
        navigation property as `EdmTyped`

    - #### getNavigationPropertyNames

          List<String> getNavigationPropertyNames()

      Get all navigation property names.
      Returns:
        navigation property names as type List<String>

    - #### getBaseType

          EdmStructuredType getBaseType()

      Base types are described in the OData protocol specification.
      Returns:
        `EdmStructuredType`

    - #### compatibleTo

          boolean compatibleTo(EdmType targetType)

      Checks if this type is convertible to parameter `targetType`
      Parameters:
        `targetType` - target type for which compatibility is checked
      Returns:
        true if this type is compatible to the testType (i.e., this type is a subtype of targetType)

    - #### isOpenType

          boolean isOpenType()

      Indicates if the structured type is an open type.
      Returns:
        `true` if the structured type is open

    - #### isAbstract

          boolean isAbstract()

      Indicates if the structured type is abstract.
      Returns:
        `true` if the structured type is abstract

Copyright © 2013–2022 The Apache Software Foundation. All rights reserved.