Metadata_Metamodel_GenericInstantiation

Metadata_Metamodel_GenericInstantiation
Metadata_Metamodel_GenericInstantiation

The GenericInstantiation structure describes the type information of a typed element when the type is an instantiation of one of the generic types provided by the infrastructure.

JSON Example
{
    "generic_type": "string",
    "element_type": {
        "category": "string",
        "builtin_type": "string",
        "user_defined_type": {
            "resource_type": "string",
            "resource_id": "string"
        },
        "generic_instantiation": "Metadata_Metamodel_GenericInstantiation Object"
    },
    "map_key_type": {
        "category": "string",
        "builtin_type": "string",
        "user_defined_type": {
            "resource_type": "string",
            "resource_id": "string"
        },
        "generic_instantiation": "Metadata_Metamodel_GenericInstantiation Object"
    },
    "map_value_type": {
        "category": "string",
        "builtin_type": "string",
        "user_defined_type": {
            "resource_type": "string",
            "resource_id": "string"
        },
        "generic_instantiation": "Metadata_Metamodel_GenericInstantiation Object"
    }
}
generic_type
Required

The GenericInstantiation.GenericType enumerated type provides enumeration values for each of the generic types provided by the infrastructure.
LIST : Indicates the generic type is a list.
MAP : Indicates the generic type is a map.
OPTIONAL : Indicates the generic type is an optional.
SET : Indicates the generic type is a set.

element_type
Optional

The Type structure describes the type information of a typed element in the interface definiton language. The following elements in the metamodel are typed:

  • Field element in a structure element. See StructureInfo.fields
  • Parameter element in an operation element. See OperationInfo.params
  • Result element in an operation element. See OperationInfo.output The type could be one of the three following categories:
  • Built-in types: These are types present in the interface definition language type system. They are provided by the infrastructure.
  • User defined named type: API designers can create custom types and use them for the typed elements. These types have a unique identifier.
  • Generic type instantiation: The language infrastructure also provides generic types such as list, map, set and so on. An instantiation of one of these generic types could also be used for the typed elements.
map_key_type
Optional

The Type structure describes the type information of a typed element in the interface definiton language. The following elements in the metamodel are typed:

  • Field element in a structure element. See StructureInfo.fields
  • Parameter element in an operation element. See OperationInfo.params
  • Result element in an operation element. See OperationInfo.output The type could be one of the three following categories:
  • Built-in types: These are types present in the interface definition language type system. They are provided by the infrastructure.
  • User defined named type: API designers can create custom types and use them for the typed elements. These types have a unique identifier.
  • Generic type instantiation: The language infrastructure also provides generic types such as list, map, set and so on. An instantiation of one of these generic types could also be used for the typed elements.
map_value_type
Optional

The Type structure describes the type information of a typed element in the interface definiton language. The following elements in the metamodel are typed:

  • Field element in a structure element. See StructureInfo.fields
  • Parameter element in an operation element. See OperationInfo.params
  • Result element in an operation element. See OperationInfo.output The type could be one of the three following categories:
  • Built-in types: These are types present in the interface definition language type system. They are provided by the infrastructure.
  • User defined named type: API designers can create custom types and use them for the typed elements. These types have a unique identifier.
  • Generic type instantiation: The language infrastructure also provides generic types such as list, map, set and so on. An instantiation of one of these generic types could also be used for the typed elements.