public final class StructureInfo extends Object implements Serializable, StaticStructure
StructureInfo
class 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 StructureInfo
will also contain the fields that are being included.
The annotation information is also retained in the getMetadata()
element as
well.
Modifier and Type | Class and Description |
---|---|
static class |
StructureInfo.Type
The
Type enumeration class defines the kind of this structure element. |
Constructor and Description |
---|
StructureInfo()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
<T extends Structure> |
_convertTo(Class<T> clazz)
Converts this structure into an instance of the provided class structure
if possible.
|
String |
_getCanonicalName()
Returns the canonical name of the structure.
|
static String |
_getCanonicalTypeName()
Returns the canonical type name.
|
static StructType |
_getClassType()
WARNING: Internal API, subject to change in future versions.
|
StructValue |
_getDataValue()
Returns this
Structure represented in the dynamic
DataValue model. |
DataValue |
_getDynamicField(String fieldName)
Get dynamic filed value.
|
Set<String> |
_getDynamicFieldNames()
Get the names of the dynamic fields in the structure.
|
StructType |
_getType()
WARNING: Internal API, subject to change in future versions.
|
boolean |
_hasTypeNameOf(Class<? extends Structure> clazz)
Checks that the runtime type name matches the type name from the binding
class.
|
static StructureInfo |
_newInstance(StructValue structValue)
WARNING: Internal API, subject to change in future versions.
Returns new instance of this binding class and injects the provided data value. WARNING: The returned object is not fully initialized. |
void |
_setDynamicField(String fieldName,
DataValue fieldValue)
Sets a dynamic field value.
|
void |
_validate()
Validates the state of the discriminated unions and HasFieldsOf
restrictions (if any) in this Java language binding
Structure . |
boolean |
equals(Object obj) |
Map<String,ConstantInfo> |
getConstants()
Metamodel information of all the constant elements contained in the structure
element.
|
String |
getDocumentation()
English language documentation for a structure element.
|
Map<String,EnumerationInfo> |
getEnumerations()
Metamodel information of all the enumeration elements contained in the structure
element.
|
List<FieldInfo> |
getFields()
Metamodel information of all the field elements.
|
Map<String,ElementMap> |
getMetadata()
Generic metadata elements for the structure element.
|
String |
getName()
Dot separated name of the structure element.
|
StructureInfo.Type |
getType()
Type of the structure.
|
int |
hashCode() |
void |
setConstants(Map<String,ConstantInfo> constants)
Metamodel information of all the constant elements contained in the structure
element.
|
void |
setDocumentation(String documentation)
English language documentation for a structure element.
|
void |
setEnumerations(Map<String,EnumerationInfo> enumerations)
Metamodel information of all the enumeration elements contained in the structure
element.
|
void |
setFields(List<FieldInfo> fields)
Metamodel information of all the field elements.
|
void |
setMetadata(Map<String,ElementMap> metadata)
Generic metadata elements for the structure element.
|
void |
setName(String name)
Dot separated name of the structure element.
|
void |
setType(StructureInfo.Type type)
Type of the structure.
|
String |
toString()
Returns a string representation of this structure.
|
public String getName()
public void setName(String name)
name
- New value for the property.public StructureInfo.Type getType()
public void setType(StructureInfo.Type type)
type
- New value for the property.public Map<String,EnumerationInfo> getEnumerations()
Map
is the identifier of the
enumeration element and the value is the metamodel information of the
enumeration element.Map
must be an identifier for the resource type: com.vmware.vapi.enumeration
. When methods return a value of this class as a
return value, the key in the property Map
will be an
identifier for the resource type: com.vmware.vapi.enumeration
.public void setEnumerations(Map<String,EnumerationInfo> enumerations)
Map
is the identifier of the
enumeration element and the value is the metamodel information of the
enumeration element.enumerations
- New value for the property.
When clients pass a value of this class as a parameter, the key in the property
Map
must be an identifier for the resource type: com.vmware.vapi.enumeration
. When methods return a value of this class as a
return value, the key in the property Map
will be an
identifier for the resource type: com.vmware.vapi.enumeration
.public Map<String,ConstantInfo> getConstants()
Map
is the name of the constant
element and the value in the Map
is the metamodel information
for the constant element.public void setConstants(Map<String,ConstantInfo> constants)
Map
is the name of the constant
element and the value in the Map
is the metamodel information
for the constant element.constants
- New value for the property.public List<FieldInfo> getFields()
public void setFields(List<FieldInfo> fields)
fields
- New value for the property.public Map<String,ElementMap> getMetadata()
Map
is the name of the metadata element and the value is the data
associated with that metadata element.
The MetadataIdentifier
contains possible string
values for keys in the Map
.
public void setMetadata(Map<String,ElementMap> metadata)
Map
is the name of the metadata element and the value is the data
associated with that metadata element.
The MetadataIdentifier
contains possible string
values for keys in the Map
.
metadata
- New value for the property.public String getDocumentation()
public void setDocumentation(String documentation)
documentation
- New value for the property.public StructType _getType()
StaticStructure
StructType
instance representing the static bindings
type for this Structure
._getType
in interface StaticStructure
StructType
public StructValue _getDataValue()
Structure
Structure
represented in the dynamic
DataValue
model.
Attempts to change the returned StructValue
representation are not required to change the state of this structure.
Actually the behavior is implementation dependent and is unspecified.
In general the returned value shouldn't be changed.
_getDataValue
in interface Structure
StructValue
representing this structurepublic void _validate()
StaticStructure
Structure
.
More precisely, for each union: given value of the discriminant/tag
field (@UnionTag
in the IDL) of an union in this structure,
validates that:
_validate
in interface StaticStructure
public String toString()
StaticStructure
In general no code should depend on the format of the resulting string. E.g. there must be no attempts to parse for re-creation of the original instance.
toString
in interface StaticStructure
toString
in class Object
public boolean _hasTypeNameOf(Class<? extends Structure> clazz)
Structure
_hasTypeNameOf
in interface Structure
clazz
- type of the result structure. cannot be null.public <T extends Structure> T _convertTo(Class<T> clazz)
Structure
_convertTo
in interface Structure
clazz
- type of the result structure. cannot be null.CoreException
is thrown otherwise.public void _setDynamicField(String fieldName, DataValue fieldValue)
StaticStructure
_setDynamicField
in interface StaticStructure
fieldName
- canonical name of the dynamic field to setfieldValue
- the value of the fieldpublic DataValue _getDynamicField(String fieldName)
StaticStructure
_getDynamicField
in interface StaticStructure
fieldName
- the canonical name of the dynamic fieldDataValue
of the dynamic fieldpublic Set<String> _getDynamicFieldNames()
StaticStructure
_getDynamicFieldNames
in interface StaticStructure
public static StructType _getClassType()
StructType
instance representing the static bindings
type for this Structure
.public String _getCanonicalName()
Structure
org.example.FooBar
would turn into
org.example.foo_bar
._getCanonicalName
in interface Structure
public static String _getCanonicalTypeName()
_getCanonicalName()
.public static StructureInfo _newInstance(StructValue structValue)
structValue
- the source of the data contained in the binding object. Could
contain more data than fields of this class can describe i.e.
newer version of the binding object. Could be null.StructType
Copyright © 2015. All Rights Reserved.