RTI Connext Java API Version 7.2.0

Kinds of type consistency. More...

Inheritance diagram for TypeConsistencyKind:
Enum Copyable

Static Public Attributes

static final TypeConsistencyKind DISALLOW_TYPE_COERCION
 The DataWriter and the DataReader must support the same data type in order for them to communicate. More...
 
static final TypeConsistencyKind ALLOW_TYPE_COERCION
 The DataWriter and the DataReader need not support the same data type in order for them to communicate as long as the DataReader's type is assignable from the DataWriter's type. For example, the following two extensible types will be assignable to each other since MyDerivedType contains all the members of MyBaseType (member_1) plus some additional elements (member_2). More...
 
static final TypeConsistencyKind AUTO_TYPE_COERCION
 This AUTO value will be applied as com.rti.dds.infrastructure.TypeConsistencyKind.TypeConsistencyKind.DISALLOW_TYPE_COERCION when the data type is annotated with @transfer_mode(SHMEM_REF) while using C, Traditional C++, or Modern C++ APIs. In all other cases, this AUTO value will be applied as com.rti.dds.infrastructure.TypeConsistencyKind.TypeConsistencyKind.ALLOW_TYPE_COERCION. More...
 

Additional Inherited Members

- Public Member Functions inherited from Enum
final int ordinal ()
 The integral value of this enumerated constant. More...
 
Object copy_from (Object src)
 
final String name ()
 The name of this enum constant, as declared in the enum declaration. More...
 
final String toString ()
 The string value of this enum constant. More...
 
Object copy_from (Object src)
 Copy value of a data type from source. More...
 
- Protected Member Functions inherited from Enum
 Enum (String name, int ordinal)
 The constructor. More...
 
final Object clone () throws CloneNotSupportedException
 

Detailed Description

Member Data Documentation

◆ DISALLOW_TYPE_COERCION

final TypeConsistencyKind DISALLOW_TYPE_COERCION
static

The DataWriter and the DataReader must support the same data type in order for them to communicate.

This is the degree of type consistency enforcement required by the OMG DDS Specification prior to the OMG Extensible and Dynamic Topic Types for DDS Specification.

◆ ALLOW_TYPE_COERCION

final TypeConsistencyKind ALLOW_TYPE_COERCION
static
Initial value:
=
new TypeConsistencyKind("ALLOW_TYPE_COERCION", 1)

The DataWriter and the DataReader need not support the same data type in order for them to communicate as long as the DataReader's type is assignable from the DataWriter's type. For example, the following two extensible types will be assignable to each other since MyDerivedType contains all the members of MyBaseType (member_1) plus some additional elements (member_2).

struct MyBaseType { long member_1; }; struct MyDerivedType: MyBaseType { long member_2; };

Even if MyDerivedType was not explicitly inheriting from MyBaseType the types would still be assignable. For example:

struct MyBaseType { long member_1; }; struct MyDerivedType { long member_1; long member_2; };

For additional information on type assignability refer to the OMG Extensible and Dynamic Topic Types for DDS Specification.

◆ AUTO_TYPE_COERCION

final TypeConsistencyKind AUTO_TYPE_COERCION
static

This AUTO value will be applied as com.rti.dds.infrastructure.TypeConsistencyKind.TypeConsistencyKind.DISALLOW_TYPE_COERCION when the data type is annotated with @transfer_mode(SHMEM_REF) while using C, Traditional C++, or Modern C++ APIs. In all other cases, this AUTO value will be applied as com.rti.dds.infrastructure.TypeConsistencyKind.TypeConsistencyKind.ALLOW_TYPE_COERCION.

[default]