org.openorb.ir.impl
Class ExceptionDefImpl
public
class
ExceptionDefImpl
extends ExceptionDefPOA
This class is the ExceptionDef implementation.
Author: Olivier Modica
Method Summary |
String | absolute_name()
The absolute_name attribute is an absolute ScopedName that
identifies a Contained object uniquely within its enclosing
Repository. |
Repository | containing_repository()
The containing_repository attribute identifies the Repository
that is eventually reached by recursively following the
object's defined_in attribute. |
Contained[] | contents(DefinitionKind limit_type, boolean exclude_inherited)
The contents operation returns the list of objects directly
contained by or inherited into the object. |
AbstractInterfaceDef | create_abstract_interface(String id, String name, String version, AbstractInterfaceDef[] base_interfaces)
The create_abstract_interface operation returns a new AbstractInterfaceDef with the
specified name and base interfaces. |
AliasDef | create_alias(String id, String name, String version, IDLType original_type)
The create_alias operation returns a new AliasDef with the
specified original_type. |
ConstantDef | create_constant(String id, String name, String version, IDLType type, Any value)
The create_constant operation returns a new ConstantDef with
the specified type and value. |
EnumDef | create_enum(String id, String name, String version, String[] members)
The create_enum operation returns a new EnumDef with the
specified members. |
ExceptionDef | create_exception(String id, String name, String version, StructMember[] members)
The create_exception operation returns a new ExceptionDef with
the specified members. |
InterfaceDef | create_interface(String id, String name, String version, InterfaceDef[] base_interfaces)
The create_interface operation returns a new empty InterfaceDef
with the specified base_interfaces. |
LocalInterfaceDef | create_local_interface(String id, String name, String version, LocalInterfaceDef[] base_interfaces)
The create_local_interface operation returns a new LocalInterfaceDef with the
specified name and base interfaces. |
ModuleDef | create_module(String id, String name, String version)
The create_module operation returns a new empty
ModuleDef. |
NativeDef | create_native(String id, String name, String version)
The create_native operation returns a new NativeDef with the
specified name. |
StructDef | create_struct(String id, String name, String version, StructMember[] members)
The create_struct operation returns a new StructDef with the
specified members. |
UnionDef | create_union(String id, String name, String version, IDLType discriminator_type, UnionMember[] members)
The create_union operation returns a new UnionDef with the specified
discriminator_type and members. |
ValueDef | create_value(String id, String name, String version, boolean is_custom, boolean is_abstract, ValueDef base_value, boolean is_truncatable, ValueDef[] abstract_base_value, InterfaceDef[] supported_interface, Initializer[] initializers)
The create_value operation returns a new empty ValueDef with
the specified base interfaces and values (base_value,
supported_interfaces, and abstract_base_values) as well as the
other information describing the new values characteristics
(is_custom, is_abstract, is_truncatable, and
initializers). |
ValueBoxDef | create_value_box(String id, String name, String version, IDLType original_type_def)
The create_value_box operation returns a new ValueBoxDef with
the specified original_type_def. |
Container | defined_in()
Contained objects also have a defined_in attribute that
identifies the Container within which they are defined. |
DefinitionKind | def_kind()
The def_kind type_name attribute identifies the type of the definition. |
Description | describe()
The describe operation returns a structure containing
information about the interface. |
Description[] | describe_contents(DefinitionKind limit_type, boolean exclude_inherited, int max_returned_objs)
The describe_contents operation combines the contents operation
and the describe operation. |
void | destroy()
The destroy operation causes the object to cease to exist. |
ExceptionDefHome | getHome()
Get the ExceptionDef home |
String | id()
An object that is contained by another object has an id
attribute that identifies it globally. |
void | id(String value)
An object that is contained by another object has an id
attribute that identifies it globally. |
Contained | lookup(String search_name)
The lookup operation locates a definition relative to this
container given a scoped name using OMG IDL's name scoping
rules. |
Contained[] | lookup_name(String search_name, int levels_to_search, DefinitionKind limit_type, boolean exclude_inherited)
The lookup_name operation is used to locate an object by name
within a particular object or within the objects contained by
that object. |
StructMember[] | members()
The members attribute describes any exception members. |
void | members(StructMember[] value)
The members attribute describes any exception members. |
void | move(Container new_contained, String new_name, String new_version)
The move operation atomically removes this object from its
current Container, and adds it to the Container specified by
new_container must satisfy the following conditions: It must be
in the same Repository. |
String | name()
An object that is contained by another object has a name
attribute that identifies it uniquely within the enclosing
Container object. |
void | name(String value)
An object that is contained by another object has a name
attribute that identifies it uniquely within the enclosing
Container object. |
TypeCode | type()
The type attribute is a tk_except TypeCode describing the
exception. |
String | version()
An object that is contained by another object has a version
attribute that distinguishes it from other versioned objects
with the same name. |
void | version(String value)
An object that is contained by another object has a version
attribute that distinguishes it from other versioned objects
with the same name. |
Constructor
public String absolute_name()
The absolute_name attribute is an absolute ScopedName that
identifies a Contained object uniquely within its enclosing
Repository. If this object?s defined_in attribute references
a Repository, the absolute_name is formed by concatenating the
string "::" and this object?s name attribute. Otherwise, the
absolute_name is formed by concatenating the absolute_name
attribute of the object referenced by this object?s
defined_in attribute, the string "::", and this object?s
name attribute.
public Repository containing_repository()
The containing_repository attribute identifies the Repository
that is eventually reached by recursively following the
object's defined_in attribute.
public Contained[] contents(DefinitionKind limit_type, boolean exclude_inherited)
The contents operation returns the list of objects directly
contained by or inherited into the object. The operation is
used to navigate through the hierarchy of objects. Starting
with the Repository object, a client uses this operation to
list all of the objects contained by the Repository, all of the
objects contained by the modules within the Repository, and
then all of the interfaces and value types within a specific
module, and so on.
Parameters: limit_type If limit_type is set to dk_all "all", objects
of all interface types are returned. For example, if
this is an InterfaceDef, the attribute, operation,
and exception objects are all returned. If
limit_type is set to a specific interface, only
objects of that interface type are returned. For
example, only attribute objects are returned if
limit_type is set to dk_Attribute "AttributeDef".
exclude_inherited If set to TRUE, inherited objects (if
there are any) are not returned. If set to FALSE,
all contained objects,whether contained due to
inheritance or because they were defined within
the object,are returned.
public AbstractInterfaceDef create_abstract_interface(String id, String name, String version, AbstractInterfaceDef[] base_interfaces)
The create_abstract_interface operation returns a new AbstractInterfaceDef with the
specified name and base interfaces.
public AliasDef create_alias(String id, String name, String version, IDLType original_type)
The create_alias operation returns a new AliasDef with the
specified original_type.
public ConstantDef create_constant(String id, String name, String version, IDLType type, Any value)
The create_constant operation returns a new ConstantDef with
the specified type and value.
public EnumDef create_enum(String id, String name, String version, String[] members)
The create_enum operation returns a new EnumDef with the
specified members.
public ExceptionDef create_exception(String id, String name, String version, StructMember[] members)
The create_exception operation returns a new ExceptionDef with
the specified members. The type member of the StructMember
structures should be set to TC_void.
public InterfaceDef create_interface(String id, String name, String version, InterfaceDef[] base_interfaces)
The create_interface operation returns a new empty InterfaceDef
with the specified base_interfaces. Type, exception, and
constant definitions can be added using
Container::create_ operations on the new
InterfaceDef. OperationDefs can be added using
InterfaceDef::create_operation and AttributeDefs can be added
using Interface::create_attribute. Definitions can also be
added using the Contained::move operation.
public LocalInterfaceDef create_local_interface(String id, String name, String version, LocalInterfaceDef[] base_interfaces)
The create_local_interface operation returns a new LocalInterfaceDef with the
specified name and base interfaces.
public ModuleDef create_module(String id, String name, String version)
The create_module operation returns a new empty
ModuleDef. Definitions can be added using
Container::create_ operations on the new module, or by
using the Contained::move operation.
public NativeDef create_native(String id, String name, String version)
The create_native operation returns a new NativeDef with the
specified name.
public StructDef create_struct(String id, String name, String version, StructMember[] members)
The create_struct operation returns a new StructDef with the
specified members. The type member of the StructMember
structures is ignored, and should be set to TC_void.
public UnionDef create_union(String id, String name, String version, IDLType discriminator_type, UnionMember[] members)
The create_union operation returns a new UnionDef with the specified
discriminator_type and members. The type member of the UnionMember
structures is ignored, and should be set to TC_void.
public ValueDef create_value(String id, String name, String version, boolean is_custom, boolean is_abstract, ValueDef base_value, boolean is_truncatable, ValueDef[] abstract_base_value, InterfaceDef[] supported_interface, Initializer[] initializers)
The create_value operation returns a new empty ValueDef with
the specified base interfaces and values (base_value,
supported_interfaces, and abstract_base_values) as well as the
other information describing the new values characteristics
(is_custom, is_abstract, is_truncatable, and
initializers). Type, exception, and constant definitions can be
added using Container::create_ operations on the new
ValueDef. OperationDefs can be added using
ValueDef::create_operation and AttributeDefs can be added using
Value::create_attribute. Definitions can also be added using
the Contained::move operation.
public ValueBoxDef create_value_box(String id, String name, String version, IDLType original_type_def)
The create_value_box operation returns a new ValueBoxDef with
the specified original_type_def.
public Container defined_in()
Contained objects also have a defined_in attribute that
identifies the Container within which they are defined. Objects
can be contained either because they are defined within the
containing object (for example, an interface is defined within
a module) or because they are inherited by the containing
object (for example, an operation may be contained by an
interface because the interface inherits the operation from
another interface). If an object is contained through
inheritance, the defined_in attribute identifies the
InterfaceDef or ValueDef from which the object is inherited.
public DefinitionKind def_kind()
The def_kind type_name attribute identifies the type of the definition.
public Description describe()
The describe operation returns a structure containing
information about the interface. This operation is overloaded
in each sub interface. For example, if the describe operation
is invoked on an attribute object, the kind field contains
dk_Attribute name field contains "AttributeDescription" and the
value field contains an any, which contains the
AttributeDescription structure. The kind field in this must
contain dk_attribute and not the kind of any IRObject from
which the attribute object is derived. For example returning
dk_all would be an error.
public Description[] describe_contents(DefinitionKind limit_type, boolean exclude_inherited, int max_returned_objs)
The describe_contents operation combines the contents operation
and the describe operation. For each object returned by the
contents operation, the description of the object is returned
(i.e., the object?s describe operation is invoked and the
results returned).
Parameters: limit_type If limit_type is set to dk_all "all", objects
of all interface types are returned. For example, if
this is an InterfaceDef, the attribute, operation,
and exception objects are all returned. If
limit_type is set to a specific interface, only
objects of that interface type are returned. For
example, only attribute objects are returned if
limit_type is set to dk_Attribute "AttributeDef".
exclude_inherited If set to TRUE, inherited objects (if
there are any) are not returned. If set to FALSE,
all contained objects,whether contained due to
inheritance or because they were defined within
the object,are returned.
max_returned_objs max_returned_objs Limits the number of
objects that can be returned in an invocation of
the call to the number provided. Setting the
parameter to -1 means return all contained
objects.
public void destroy()
The destroy operation causes the object to cease to exist. If
the object is a Container, destroy is applied to all its
contents. If the object contains an IDLType attribute for an
anonymous type, that IDLType is destroyed. If the object is
currently contained in some other object, it is removed. If
destroy is invoked on a Repository or on a PrimitiveDef then
the BAD_INV_ORDER exception is raised with minor value 2.
Implementations may vary in their handling of references to an
object that is being destroyed, but the Repository should not
be left in an incoherent state. Attempt to destroy an object
that would leave the repository in an incoherent state shall
cause BAD_INV_ORDER exception to be raised with the minor code
1.
Get the ExceptionDef home
public String id()
An object that is contained by another object has an id
attribute that identifies it globally.
public void id(String value)
An object that is contained by another object has an id
attribute that identifies it globally.
public Contained lookup(String search_name)
The lookup operation locates a definition relative to this
container given a scoped name using OMG IDL's name scoping
rules. An absolute scoped name (beginning with "::") locates
the definition relative to the enclosing Repository. If no
object is found, a nil object reference is returned.
public Contained[] lookup_name(String search_name, int levels_to_search, DefinitionKind limit_type, boolean exclude_inherited)
The lookup_name operation is used to locate an object by name
within a particular object or within the objects contained by
that object. Use of values of levels_to_search of 0 or of
negative numbers other than -1 is undefined.
Parameters: search_name Specified which name is to be searched for.
levels_to_search Controls whether the lookup is
constrained to the object the operation is invoked
on or whether it should search through objects
contained by the object as well.
limit_type If limit_type is set to dk_all "all", objects
of all interface types are returned. For example, if
this is an InterfaceDef, the attribute, operation,
and exception objects are all returned. If
limit_type is set to a specific interface, only
objects of that interface type are returned. For
example, only attribute objects are returned if
limit_type is set to dk_Attribute "AttributeDef".
exclude_inherited If set to TRUE, inherited objects (if
there are any) are not returned. If set to FALSE,
all contained objects,whether contained due to
inheritance or because they were defined within
the object,are returned.
public StructMember[] members()
The members attribute describes any exception members.
public void members(StructMember[] value)
The members attribute describes any exception members.
public void move(Container new_contained, String new_name, String new_version)
The move operation atomically removes this object from its
current Container, and adds it to the Container specified by
new_container must satisfy the following conditions: It must be
in the same Repository. If it is not, then BAD_PARAM exception
is raised with minor code 4. It must be capable of containing
this object?s type. If it is not, then BAD_PARAM exception
is raised with minor code 4. It must not already contain an
object with this object?s name (unless multiple versions are
supported by the IR). If this condition is not satisfied, then
BAD_PARAM exception is raised with minor code 3.
public String name()
An object that is contained by another object has a name
attribute that identifies it uniquely within the enclosing
Container object.
public void name(String value)
An object that is contained by another object has a name
attribute that identifies it uniquely within the enclosing
Container object.
public TypeCode type()
The type attribute is a tk_except TypeCode describing the
exception.
public String version()
An object that is contained by another object has a version
attribute that distinguishes it from other versioned objects
with the same name.
public void version(String value)
An object that is contained by another object has a version
attribute that distinguishes it from other versioned objects
with the same name.