Inherits java.io.Serializable.
Public Member Functions | |
TCKind | kind () |
Gets the TCKind value of a type code. | |
boolean | equal (TypeCode tc) |
Compares two TypeCode objects for equality. | |
boolean | equals (Object tc) |
Compares two TypeCode objects for equality. | |
int | length () throws BadKind |
Returns the number of elements in the type described by this type code. | |
String | name () throws BadKind |
Retrieves the simple name identifying this TypeCode object within its enclosing scope. | |
boolean | is_alias_pointer () throws BadKind |
Function that tells if an alias is a pointer or not. | |
short | type_modifier () throws BadKind |
Returns a constant indicating the modifier of the value type that this TypeCode object describes. | |
TypeCode | concrete_base_type () throws BadKind |
Returns the TypeCode that describes the concrete base type of the value type that this TypeCode object describes. | |
TypeCode | content_type () throws BadKind |
Returns the TypeCode object representing the type for the members of the object described by this TypeCode object. | |
int | array_dimension_count () throws BadKind |
This function returns the number of dimensions of an array type code. | |
int | array_dimension (int index) throws BadKind,Bounds |
This function returns the index-th dimension of an array type code. | |
int | element_count () throws BadKind |
The number of elements in an array. | |
int | member_count () throws BadKind |
Returns the number of members of the type code. | |
String | member_name (int index) throws BadKind,Bounds |
Returns the name of a type code member identified by the given index. | |
TypeCode | member_type (int index) throws BadKind,Bounds |
Retrieves the TypeCode object describing the type of the member identified by the given index. | |
int | member_id (int index) throws BadKind,Bounds |
Returns the ID of a sparse type code member identified by the given index. | |
int | member_label_count (int index) throws BadKind,Bounds |
Returns the number of labels associated to the index-th union member. | |
int | member_label (int member_index, int label_index) throws BadKind,Bounds |
Return the label_index-th label associated to the member_index-th member. | |
int | member_ordinal (int index) throws BadKind,Bounds |
Returns the ordinal that corresponds to the index-th enum value. | |
boolean | is_member_key (int index) throws BadKind,Bounds |
Function that tells if a member is a key or not. | |
boolean | is_member_required (int index) throws BadKind,Bounds |
Indicates whether a given member of a type is required to be present in every sample of that type. | |
boolean | is_member_pointer (int index) throws BadKind,Bounds |
Function that tells if a member is a pointer or not. | |
boolean | is_member_bitfield (int index) throws BadKind,Bounds |
Function that tells if a member is a bitfield or not. | |
short | member_bitfield_bits (int index) throws BadKind,Bounds |
Returns the number of bits of a bitfield member. | |
short | member_visibility (int index) throws BadKind,Bounds |
Returns the constant that indicates the visibility of the index-th member. | |
TypeCode | discriminator_type () throws BadKind |
Returns the discriminator type code. | |
int | default_index () throws BadKind |
Returns the index of the default member, or -1 if there is no default member. | |
int | find_member_by_id (int id) throws BadKind |
Get the index of the member of the given ID. | |
int | find_member_by_name (String name) throws BadKind |
Get the index of the member of the given name. | |
void | print_IDL (int indent) |
Prints a TypeCode in a pseudo-IDL notation. | |
int | add_member (String name, int id, TypeCode tc, byte member_flags) throws BadKind,BadMemberName,BadMemberId |
Add a new member to this TypeCode. | |
int | add_member (String name, int id, TypeCode tc, byte member_flags, short visibility, boolean is_pointer, short bits) throws BadKind,BadMemberName,BadMemberId,BAD_PARAM |
Add a new member to this TypeCode. | |
int | add_member_to_enum (String name, int ordinal) throws BadKind,BadMemberName |
Add a new enumerated constant to this enum TypeCode. | |
Static Public Attributes | |
static final TypeCode | TC_NULL |
Basic null type. | |
static final TypeCode | TC_SHORT |
Basic 16-bit signed integer type. | |
static final TypeCode | TC_LONG |
Basic 32-bit signed integer type. | |
static final TypeCode | TC_USHORT |
Basic unsigned 16-bit integer type. | |
static final TypeCode | TC_ULONG |
Basic unsigned 32-bit integer type. | |
static final TypeCode | TC_FLOAT |
Basic 32-bit floating point type. | |
static final TypeCode | TC_DOUBLE |
Basic 64-bit floating point type. | |
static final TypeCode | TC_BOOLEAN |
Basic Boolean type. | |
static final TypeCode | TC_CHAR |
Basic single-byte character type. | |
static final TypeCode | TC_OCTET |
Basic octet/byte type. | |
static final TypeCode | TC_LONGLONG |
Basic 64-bit integer type. | |
static final TypeCode | TC_ULONGLONG |
Basic unsigned 64-bit integer type. | |
static final TypeCode | TC_LONGDOUBLE |
Basic 128-bit floating point type. | |
static final TypeCode | TC_WCHAR |
Basic four-byte character type. | |
static final int | MEMBER_ID_INVALID |
A sentinel indicating an invalid TypeCode member ID. | |
static final int | INDEX_INVALID |
A sentinel indicating an invalid TypeCode member index. | |
static final byte | NONKEY_MEMBER |
A flag indicating that a type member is optional and not part of the key. | |
static final byte | KEY_MEMBER |
A flag indicating that a type member is part of the key for that type, and therefore required. | |
static final byte | NONKEY_REQUIRED_MEMBER |
A flag indicating that a type member is not part of the key but is nevertheless required. | |
static final short | NOT_BITFIELD |
Indicates that a member of a type is not a bitfield. |
You create TypeCode objects using the TypeCodeFactory singleton. Then you can use the methods on this class to inspect and modify the data type definition.
This class is based on a similar class from CORBA.
TCKind kind | ( | ) |
boolean equal | ( | TypeCode | tc | ) |
Compares two TypeCode objects for equality.
com.rti.dds.infrastructure.BAD_PARAM | if tc is null. |
boolean equals | ( | Object | tc | ) |
Compares two TypeCode objects for equality.
int length | ( | ) | throws BadKind |
Returns the number of elements in the type described by this type code.
Length is:
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
String name | ( | ) | throws BadKind |
Retrieves the simple name identifying this TypeCode object within its enclosing scope.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
boolean is_alias_pointer | ( | ) | throws BadKind |
Function that tells if an alias is a pointer or not.
This function is an RTI Connext extension to the CORBA Type Code Specification.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
short type_modifier | ( | ) | throws BadKind |
Returns a constant indicating the modifier of the value type that this TypeCode object describes.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
Returns the TypeCode that describes the concrete base type of the value type that this TypeCode object describes.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
Returns the TypeCode object representing the type for the members of the object described by this TypeCode object.
For sequences and arrays, it returns the element type. For aliases, it returns the original type.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
int array_dimension_count | ( | ) | throws BadKind |
This function returns the number of dimensions of an array type code.
This function is an RTI Connext extension to the CORBA Type Code Specification.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
This function returns the index-th dimension of an array type code.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Dimension index in the interval [0,(dimensions count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
int element_count | ( | ) | throws BadKind |
The number of elements in an array.
This operation isn't relevant for other kinds of types.
int member_count | ( | ) | throws BadKind |
Returns the number of members of the type code.
The method member_count can be invoked on structure, union, and enumeration TypeCode objects.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
Returns the name of a type code member identified by the given index.
The method member_name can be invoked on structure, union, and enumeration TypeCode objects.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Retrieves the TypeCode object describing the type of the member identified by the given index.
The method member_type can be invoked on structure and union type codes.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Returns the ID of a sparse type code member identified by the given index.
The method can be invoked on sparse TypeCode objects.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Returns the number of labels associated to the index-th union member.
The method can be invoked on union TypeCode objects.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Return the label_index-th label associated to the member_index-th member.
This method has been modified for RTI Connext from the CORBA Type code Specification.
Example:
case 1: Label index 0
case 2: Label index 1
short short_member;
The method can be invoked on union TypeCode objects.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Returns the ordinal that corresponds to the index-th enum value.
The method can be invoked on enum TypeCode objects.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Function that tells if a member is a key or not.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Indicates whether a given member of a type is required to be present in every sample of that type.
Which fields are required depends on the TCKind of the type. For example, in a type of kind TCKind.TK_SPARSE, key fields are required. In TCKind.TK_STRUCT and TCKind.TK_VALUE types, all fields are required.
Function that tells if a member is a pointer or not.
The method is_member_pointer can be invoked on union and structs type objects
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Index of the member for which type information is begin requested. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Function that tells if a member is a bitfield or not.
The method can be invoked on struct type objects.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Returns the number of bits of a bitfield member.
The method can be invoked on struct type objects.
This function is an RTI Connext extension to the CORBA Type Code Specification.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Returns the constant that indicates the visibility of the index-th member.
index | <<in>> Member index in the interval [0,(member count-1)]. |
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. | |
com.rti.dds.infrastructure.Bounds | - if the index parameter/s are out of range. |
Returns the discriminator type code.
The method discriminator_type can be invoked only on union TypeCode objects.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
int default_index | ( | ) | throws BadKind |
Returns the index of the default member, or -1 if there is no default member.
The method default_index can be invoked only on union TypeCode objects.
com.rti.dds.infrastructure.BadKind | if the method is invoked on an inappropriate kind of TypeCode object. |
int find_member_by_id | ( | int | id | ) | throws BadKind |
Get the index of the member of the given ID.
int find_member_by_name | ( | String | name | ) | throws BadKind |
Get the index of the member of the given name.
void print_IDL | ( | int | indent | ) |
int add_member | ( | String | name, | |
int | id, | |||
TypeCode | tc, | |||
byte | member_flags | |||
) | throws BadKind,BadMemberName,BadMemberId |
Add a new member to this TypeCode.
This method is applicable to TypeCode objects representing structures (TCKind.TK_STRUCT), value types (TCKind.TK_VALUE), sparse value types (TCKind.TK_SPARSE), and unions (TCKind.TK_UNION). To add a constant to an enumeration, see TypeCode.add_member_to_enum.
Modifying a TypeCode -- such as by adding a member -- is important if you are using the Dynamic Data APIs.
Here's a simple code example that adds two fields to a data type, one an integer and another a sequence of integers.
// Integer: myTypeCode.add_member( "myFieldName", // If the type is sparse, specify an ID. Otherwise, use this sentinel: TypeCode.MEMBER_ID_INVALID, TypeCode.TC_LONG, // New field is not a key: TypeCode.NONKEY_REQUIRED_MEMBER); // Sequence of 10 or fewer integers: myTypeCode.add_member( "myFieldName", // If the type is sparse, specify an ID. Otherwise, use this sentinel: TypeCode.MEMBER_ID_INVALID, TypeCodeFactory.get_instance().create_sequence_tc(10, TypeCode.TC_LONG), // New field is not a key: TypeCode.NONKEY_REQUIRED_MEMBER);
name | <<in>> The name of the new member. | |
id | <<in>> The ID of the new member. This should only be specified for members of kind TCKind.TK_SPARSE and TCKind.TK_UNION; otherwise, it should be TypeCode.MEMBER_ID_INVALID. | |
tc | <<in>> The type of the new member. You can get or create this TypeCode with the TypeCodeFactory. | |
member_flags | <<in>> Indicates whether the member is part of the key and whether it is required. |
int add_member | ( | String | name, | |
int | id, | |||
TypeCode | tc, | |||
byte | member_flags, | |||
short | visibility, | |||
boolean | is_pointer, | |||
short | bits | |||
) | throws BadKind,BadMemberName,BadMemberId,BAD_PARAM |
Add a new member to this TypeCode.
Modifying a TypeCode -- such as by adding a member -- is important if you are using the Dynamic Data APIs.
name | <<in>> The name of the new member. | |
id | <<in>> The ID of the new member. This should only be specified for members of kind TCKind.TK_SPARSE and TCKind.TK_UNION; otherwise, it should be TypeCode.MEMBER_ID_INVALID. | |
tc | <<in>> The type of the new member. You can get or create this TypeCode with the TypeCodeFactory. | |
member_flags | <<in>> Indicates whether the member is part of the key and whether it is required. | |
visibility | <<in>> Whether the new member is public or private. Non-public members are only relevant for types of kind TCKind.TK_VALUE and TCKind.TK_SPARSE. | |
is_pointer | <<in>> Whether the data member, in its deserialized form, should be stored by pointer as opposed to by value. | |
bits | <<in>> The number of bits, if this new member is a bit field, or TypeCode.NOT_BITFIELD. |
int add_member_to_enum | ( | String | name, | |
int | ordinal | |||
) | throws BadKind,BadMemberName |
Add a new enumerated constant to this enum TypeCode.
This method is applicable to TypeCode objects representing enumerations (TCKind.TK_ENUM). To add a field to a structured type, see TypeCode.add_member_to_enum.
Modifying a TypeCode -- such as by adding a member -- is important if you are using the Dynamic Data APIs.
name | <<in>> The name of the new member. This string must be unique within this type and must not be null. | |
ordinal | <<in>> The relative order of the new member in this enum or a custom integer value. The value must be unique within the type. |
final TypeCode TC_BOOLEAN [static] |
final TypeCode TC_LONGLONG [static] |
final TypeCode TC_ULONGLONG [static] |
final TypeCode TC_LONGDOUBLE [static] |
final int MEMBER_ID_INVALID [static] |
A sentinel indicating an invalid TypeCode member ID.
final int INDEX_INVALID [static] |
A sentinel indicating an invalid TypeCode member index.
final byte NONKEY_MEMBER [static] |
A flag indicating that a type member is optional and not part of the key.
Only sparse value types (i.e. types of TCKind TCKind.TK_SPARSE) support this flag. Non-key members of other type kinds should use the flag TypeCode.NONKEY_REQUIRED_MEMBER.
If a type is used with the Dynamic Data facility, a com.rti.dds.dynamicdata.DynamicData sample of the type will only contain a value for a TypeCode.NONKEY_MEMBER field if one has been explicitly set (see, for example, DynamicData.set_int). The middleware will not assume any default value.
final byte KEY_MEMBER [static] |
A flag indicating that a type member is part of the key for that type, and therefore required.
If a type is used with the Dynamic Data facility, all com.rti.dds.dynamicdata.DynamicData samples of the type will contain a value for all TypeCode.KEY_MEMBER fields, even if the type is a sparse value type (i.e. of kind TCKind.TK_SPARSE). If you do not set a value of the member explicitly (see, for example, DynamicData.set_int), the middleware will assume a default "zero" value: numeric values will be set to zero; strings and sequences will be of zero length.
final byte NONKEY_REQUIRED_MEMBER [static] |
A flag indicating that a type member is not part of the key but is nevertheless required.
This is the most common kind of member.
If a type is used with the Dynamic Data facility, all com.rti.dds.dynamicdata.DynamicData samples of the type will contain a value for all TypeCode.NONKEY_REQUIRED_MEMBER fields, even if the type is a sparse value type (i.e. of kind TCKind.TK_SPARSE). If you do not set a value of the member explicitly (see, for example, DynamicData.set_int), the middleware will assume a default "zero" value: numeric values will be set to zero; strings and sequences will be of zero length.
final short NOT_BITFIELD [static] |
Indicates that a member of a type is not a bitfield.