structure_info
structure contains the metamodel information of all the field elements, constant elements and enumeration elements contained in the structure element. In the interface definition language, API designers have the ability to include all the fields from one structure to another structure. This is done by using an annotation @Include
on the structure in which we want to add the fields. If this annotation is present, the list of fields in the structure_info
will also contain the fields that are being included. The annotation information is also retained in the com.vmware.vapi.metadata.metamodel.structure_info.metadata element as well.
{
"constants": [ { "key": "string", "value": { "documentation": "string", "type": { "builtin_type": "VOID", "category": "BUILTIN", "generic_instantiation": { "element_type": { "builtin_type": "VOID", "category": "BUILTIN", "generic_instantiation": { "generic_type": "LIST" }, "user_defined_type": { "resource_id": "obj-103", "resource_type": "string" } }, "generic_type": "LIST" }, "user_defined_type": { "resource_id": "obj-103", "resource_type": "string" } }, "value": { "category": "PRIMITIVE", "list_value": [ { "boolean_value": true, "double_value": 10.23, "long_value": 10, "string_value": "string", "type": "BOOLEAN" }, { "boolean_value": true, "double_value": 10.23, "long_value": 10, "string_value": "string", "type": "BOOLEAN" } ], "primitive_value": { "boolean_value": true, "double_value": 10.23, "long_value": 10, "string_value": "string", "type": "BOOLEAN" } } } } ], "documentation": "string", "enumerations": [ { "key": "obj-103", "value": { "documentation": "string", "metadata": [ { "key": "string", "value": { "elements": [ { "key": "string", "value": { "list_value": [ "string", "string" ], "long_value": 10, "string_value": "string", "structure_id": "obj-103", "structure_ids": [ "obj-103", "obj-103" ], "type": "LONG" } } ] } } ], "name": "string", "values": [ { "documentation": "string", "metadata": [ { "key": "string", "value": { "elements": [ { "key": "string", "value": { "list_value": [ "string", "string" ], "long_value": 10, "string_value": "string", "structure_id": "obj-103", "structure_ids": [ "obj-103", "obj-103" ], "type": "LONG" } } ] } } ], "value": "string" }, { "documentation": "string", "metadata": [ { "key": "string", "value": { "elements": [ { "key": "string", "value": { "list_value": [ "string", "string" ], "long_value": 10, "string_value": "string", "structure_id": "obj-103", "structure_ids": [ "obj-103", "obj-103" ], "type": "LONG" } } ] } } ], "value": "string" } ] } } ], "fields": [ { "documentation": "string", "metadata": [ { "key": "string", "value": { "elements": [ { "key": "string", "value": { "list_value": [ "string", "string" ], "long_value": 10, "string_value": "string", "structure_id": "obj-103", "structure_ids": [ "obj-103", "obj-103" ], "type": "LONG" } } ] } } ], "name": "string", "type": { "builtin_type": "VOID", "category": "BUILTIN", "generic_instantiation": { "element_type": { "builtin_type": "VOID", "category": "BUILTIN", "generic_instantiation": { "generic_type": "LIST" }, "user_defined_type": { "resource_id": "obj-103", "resource_type": "string" } }, "generic_type": "LIST" }, "user_defined_type": { "resource_id": "obj-103", "resource_type": "string" } } }, { "documentation": "string", "metadata": [ { "key": "string", "value": { "elements": [ { "key": "string", "value": { "list_value": [ "string", "string" ], "long_value": 10, "string_value": "string", "structure_id": "obj-103", "structure_ids": [ "obj-103", "obj-103" ], "type": "LONG" } } ] } } ], "name": "string", "type": { "builtin_type": "VOID", "category": "BUILTIN", "generic_instantiation": { "element_type": { "builtin_type": "VOID", "category": "BUILTIN", "generic_instantiation": { "generic_type": "LIST" }, "user_defined_type": { "resource_id": "obj-103", "resource_type": "string" } }, "generic_type": "LIST" }, "user_defined_type": { "resource_id": "obj-103", "resource_type": "string" } } } ], "metadata": [ { "key": "string", "value": { "elements": [ { "key": "string", "value": { "list_value": [ "string", "string" ], "long_value": 10, "string_value": "string", "structure_id": "obj-103", "structure_ids": [ "obj-103", "obj-103" ], "type": "LONG" } } ] } } ], "name": "string", "type": "STRUCTURE" }
<?xml version="1.0" ?>
<ns0:StructureInfo xmlns:ns0="http://vmware.com/vapi/metadata/metamodel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <name>string</name> <documentation>string</documentation> <constants-array> <array-item> <value> <documentation>string</documentation> <value> <category>PRIMITIVE</category> <primitive_value> <long_value>10</long_value> <double_value>10.23</double_value> <string_value>string</string_value> <type>BOOLEAN</type> <boolean_value>true</boolean_value> </primitive_value> <list_value-array> <array-item> <long_value>10</long_value> <double_value>10.23</double_value> <string_value>string</string_value> <type>BOOLEAN</type> <boolean_value>true</boolean_value> </array-item> <array-item> <long_value>10</long_value> <double_value>10.23</double_value> <string_value>string</string_value> <type>BOOLEAN</type> <boolean_value>true</boolean_value> </array-item> </list_value-array> </value> <type> <user_defined_type> <resource_id>obj-103</resource_id> <resource_type>string</resource_type> </user_defined_type> <category>BUILTIN</category> <generic_instantiation> <generic_type>LIST</generic_type> <element_type> <user_defined_type> <resource_id>obj-103</resource_id> <resource_type>string</resource_type> </user_defined_type> <category>BUILTIN</category> <generic_instantiation> <generic_type>LIST</generic_type> </generic_instantiation> <builtin_type>VOID</builtin_type> </element_type> </generic_instantiation> <builtin_type>VOID</builtin_type> </type> </value> <key>string</key> </array-item> </constants-array> <type>STRUCTURE</type> <metadata-array> <array-item> <value> <elements-array> <array-item> <value> <long_value>10</long_value> <list_value-array> <array-item>string</array-item> <array-item>string</array-item> </list_value-array> <structure_id>obj-103</structure_id> <structure_ids-array> <array-item>obj-103</array-item> <array-item>obj-103</array-item> </structure_ids-array> <string_value>string</string_value> <type>LONG</type> </value> <key>string</key> </array-item> </elements-array> </value> <key>string</key> </array-item> </metadata-array> <fields-array> <array-item> <name>string</name> <documentation>string</documentation> <type> <user_defined_type> <resource_id>obj-103</resource_id> <resource_type>string</resource_type> </user_defined_type> <category>BUILTIN</category> <generic_instantiation> <generic_type>LIST</generic_type> <element_type> <user_defined_type> <resource_id>obj-103</resource_id> <resource_type>string</resource_type> </user_defined_type> <category>BUILTIN</category> <generic_instantiation> <generic_type>LIST</generic_type> </generic_instantiation> <builtin_type>VOID</builtin_type> </element_type> </generic_instantiation> <builtin_type>VOID</builtin_type> </type> <metadata-array> <array-item> <value> <elements-array> <array-item> <value> <long_value>10</long_value> <list_value-array> <array-item>string</array-item> <array-item>string</array-item> </list_value-array> <structure_id>obj-103</structure_id> <structure_ids-array> <array-item>obj-103</array-item> <array-item>obj-103</array-item> </structure_ids-array> <string_value>string</string_value> <type>LONG</type> </value> <key>string</key> </array-item> </elements-array> </value> <key>string</key> </array-item> </metadata-array> </array-item> <array-item> <name>string</name> <documentation>string</documentation> <type> <user_defined_type> <resource_id>obj-103</resource_id> <resource_type>string</resource_type> </user_defined_type> <category>BUILTIN</category> <generic_instantiation> <generic_type>LIST</generic_type> <element_type> <user_defined_type> <resource_id>obj-103</resource_id> <resource_type>string</resource_type> </user_defined_type> <category>BUILTIN</category> <generic_instantiation> <generic_type>LIST</generic_type> </generic_instantiation> <builtin_type>VOID</builtin_type> </element_type> </generic_instantiation> <builtin_type>VOID</builtin_type> </type> <metadata-array> <array-item> <value> <elements-array> <array-item> <value> <long_value>10</long_value> <list_value-array> <array-item>string</array-item> <array-item>string</array-item> </list_value-array> <structure_id>obj-103</structure_id> <structure_ids-array> <array-item>obj-103</array-item> <array-item>obj-103</array-item> </structure_ids-array> <string_value>string</string_value> <type>LONG</type> </value> <key>string</key> </array-item> </elements-array> </value> <key>string</key> </array-item> </metadata-array> </array-item> </fields-array> <enumerations-array> <array-item> <value> <values-array> <array-item> <documentation>string</documentation> <value>string</value> <metadata-array> <array-item> <value> <elements-array> <array-item> <value> <long_value>10</long_value> <list_value-array> <array-item>string</array-item> <array-item>string</array-item> </list_value-array> <structure_id>obj-103</structure_id> <structure_ids-array> <array-item>obj-103</array-item> <array-item>obj-103</array-item> </structure_ids-array> <string_value>string</string_value> <type>LONG</type> </value> <key>string</key> </array-item> </elements-array> </value> <key>string</key> </array-item> </metadata-array> </array-item> <array-item> <documentation>string</documentation> <value>string</value> <metadata-array> <array-item> <value> <elements-array> <array-item> <value> <long_value>10</long_value> <list_value-array> <array-item>string</array-item> <array-item>string</array-item> </list_value-array> <structure_id>obj-103</structure_id> <structure_ids-array> <array-item>obj-103</array-item> <array-item>obj-103</array-item> </structure_ids-array> <string_value>string</string_value> <type>LONG</type> </value> <key>string</key> </array-item> </elements-array> </value> <key>string</key> </array-item> </metadata-array> </array-item> </values-array> <name>string</name> <documentation>string</documentation> <metadata-array> <array-item> <value> <elements-array> <array-item> <value> <long_value>10</long_value> <list_value-array> <array-item>string</array-item> <array-item>string</array-item> </list_value-array> <structure_id>obj-103</structure_id> <structure_ids-array> <array-item>obj-103</array-item> <array-item>obj-103</array-item> </structure_ids-array> <string_value>string</string_value> <type>LONG</type> </value> <key>string</key> </array-item> </elements-array> </value> <key>string</key> </array-item> </metadata-array> </value> <key>obj-103</key> </array-item> </enumerations-array> </ns0:StructureInfo> |
Name | Type | Required | Description |
---|---|---|---|
name* |
string | Yes | Dot separated name of the structure element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention. |
type* |
com.vmware.vapi.metadata.metamodel.structure_info.type | Yes | Type of the structure. The type enumerated type defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the errors of an operation element.Values one of STRUCTURE: If the type is a structure element. ERROR: If the type is an error element. |
enumerations* |
Map<ID, enumeration_info> | Yes | Metamodel information of all the enumeration elements contained in the structure element. The key in the key/value pairs is the identifier of the enumeration element and the value is the metamodel information of the enumeration element. Id of type com.vmware.vapi.enumeration. |
constants* |
Map<string, constant_info> | Yes | Metamodel information of all the constant elements contained in the structure element. The key in the key/value pairs is the name of the constant element and the value in the key/value pairs is the metamodel information for the constant element. |
fields* |
List<field_info> | Yes | Metamodel information of all the field elements. The order of the field elements in the list matches the order in which the fields are defined in the service. |
metadata* |
Map<string, element_map> | Yes | Generic metadata elements for the structure element. The key in the key/value pairs is the name of the metadata element and the value is the data associated with that metadata element. The com.vmware.vapi.metadata.metamodel.metadata_identifier contains possible string values for keys in the key/value pairs. |
documentation* |
string | Yes | English language documentation for a structure element. It can contain HTML markup and Javadoc tags. The first sentence of the structure documentation is a complete sentence that identifies the structure by name and summarizes the purpose of the structure. |
Copyright © 2014. All Rights Reserved.