vapi metadata metamodel: element map
The
element_map
structure contains the metadata elements. One of the sources for metadata is the annotations present in the interface definition language. When an annotation is represented in the element_map
, element_map
describes the data specified in the arguments for the annotation.
For example, in @UnionCase(tag="tag", value="SELECT")
, ElementMap describes the keyword arguments tag and value.
Representation:
{
"elements" : {
"<string>" : {
"list_value" : [
"string",
"string"
],
"string_value" : "string",
"structure_id" : "obj-103",
"type" : "LONG",
"structure_ids" : [
"obj-103",
"obj-103"
],
"long_value" : 1
}
}
}
"elements" : {
"<string>" : {
"list_value" : [
"string",
"string"
],
"string_value" : "string",
"structure_id" : "obj-103",
"type" : "LONG",
"structure_ids" : [
"obj-103",
"obj-103"
],
"long_value" : 1
}
}
}
{
"elements" : [
{
"value" : {
"list_value" : [
"string",
"string"
],
"string_value" : "string",
"structure_id" : "obj-103",
"type" : "LONG",
"structure_ids" : [
"obj-103",
"obj-103"
],
"long_value" : 1
},
"key" : "string"
}
]
}
"elements" : [
{
"value" : {
"list_value" : [
"string",
"string"
],
"string_value" : "string",
"structure_id" : "obj-103",
"type" : "LONG",
"structure_ids" : [
"obj-103",
"obj-103"
],
"long_value" : 1
},
"key" : "string"
}
]
}
Attributes:
Name | Type | Description |
---|---|---|
Required | ||
-.elements | object | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. Object with element values of type element_value. |
-.elements.* | element_value | |
-.elements.*.type | string | Type of the value. Defines the valid types for values in metadata elements. Value is one of: LONG: Indicates the type of the value is a long (64 bit signed integer). STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8. STRING_LIST: Indicates the type of the value is a list of strings. STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element. STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element. |
Optional | ||
-.elements.*.long_value | long | Long value of the metadata element. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of type is LONG. |
-.elements.*.string_value | string | String value of the metadata element. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of type is STRING. |
-.elements.*.list_value | string[] | List of strings value of the metadata element. Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of type is STRING_LIST. |
Attributes:
Name | Type | Description |
---|---|---|
Required | ||
elements | list | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. List of {"key": string, "value": element_value} |
elements[].key | string | |
elements[].value | element_value | |
elements[].value.type | string | Type of the value. Defines the valid types for values in metadata elements. Value is one of: LONG: Indicates the type of the value is a long (64 bit signed integer). STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8. STRING_LIST: Indicates the type of the value is a list of strings. STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element. STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element. |
Optional | ||
elements[].value.long_value | long | Long value of the metadata element. Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of type is LONG. |
elements[].value.string_value | string | String value of the metadata element. Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of type is STRING. |
elements[].value.list_value | string[] | List of strings value of the metadata element. Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of type is STRING_LIST. |