# OpenORB 1.3.1: Interface ContainerOperations

## org.omg.CORBA
Interface ContainerOperations

All Superinterfaces:
  IRObjectOperations

All Known Subinterfaces:
  AbstractInterfaceDef, AbstractInterfaceDefOperations, Container, ExceptionDef, ExceptionDefOperations, InterfaceDef, InterfaceDefOperations, LocalInterfaceDef, LocalInterfaceDefOperations, ModuleDef, ModuleDefOperations, Repository, RepositoryOperations, StructDef, StructDefOperations, UnionDef, UnionDefOperations, ValueDef, ValueDefOperations

All Known Implementing Classes:
  ContainerPOA

public interface ContainerOperations
extends IRObjectOperations

The base interface Container is used to form a containment hierarchy in the Interface Repository. A Container can contain any number of objects derived from the Contained interface. All Containers, except for Repository, are also derived from Contained.

Method Summary
`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(java.lang.String id, java.lang.String name, java.lang.String version, AbstractInterfaceDef[] base_interfaces)` The create_abstract_interface operation returns a new AbstractInterfaceDef with the specified name and base interfaces.
`AliasDef` `create_alias(java.lang.String id, java.lang.String name, java.lang.String version, IDLType original_type)` The create_alias operation returns a new AliasDef with the specified original_type.
`ConstantDef` `create_constant(java.lang.String id, java.lang.String name, java.lang.String version, IDLType type, Any value)` The create_constant operation returns a new ConstantDef with the specified type and value.
`EnumDef` `create_enum(java.lang.String id, java.lang.String name, java.lang.String version, java.lang.String[] members)` The create_enum operation returns a new EnumDef with the specified members.
`ExceptionDef` `create_exception(java.lang.String id, java.lang.String name, java.lang.String version, StructMember[] members)` The create_exception operation returns a new ExceptionDef with the specified members.
`InterfaceDef` `create_interface(java.lang.String id, java.lang.String name, java.lang.String version, InterfaceDef[] base_interfaces)` The create_interface operation returns a new empty InterfaceDef with the specified base_interfaces.
`LocalInterfaceDef` `create_local_interface(java.lang.String id, java.lang.String name, java.lang.String version, LocalInterfaceDef[] base_interfaces)` The create_local_interface operation returns a new LocalInterfaceDef with the specified name and base interfaces.
`ModuleDef` `create_module(java.lang.String id, java.lang.String name, java.lang.String version)` The create_module operation returns a new empty ModuleDef.
`NativeDef` `create_native(java.lang.String id, java.lang.String name, java.lang.String version)` The create_native operation returns a new NativeDef with the specified name.
`StructDef` `create_struct(java.lang.String id, java.lang.String name, java.lang.String version, StructMember[] members)` The create_struct operation returns a new StructDef with the specified members.
`UnionDef` `create_union(java.lang.String id, java.lang.String name, java.lang.String version, IDLType discriminator_type, UnionMember[] members)` The create_union operation returns a new UnionDef with the specified discriminator_type and members.
`ValueBoxDef` `create_value_box(java.lang.String id, java.lang.String name, java.lang.String version, IDLType original_type_def)` The create_value_box operation returns a new ValueBoxDef with the specified original_type_def.

`ValueDef`

`create_value(java.lang.String id, java.lang.String name, java.lang.String version, boolean is_custom, boolean is_abstract, ValueDef base_value, boolean is_truncatable, ValueDef[] abstract_base_value, InterfaceDef[] supported_interfaces, 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).

`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.
`Contained[]` `lookup_name(java.lang.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.
`Contained` `lookup(java.lang.String search_name)` The lookup operation locates a definition relative to this container given a scoped name using OMG IDL’s name scoping rules.

Methods inherited from interface org.omg.CORBA.IRObjectOperations
`def_kind, destroy`

Method Detail

### lookup

    public Contained lookup(java.lang.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.

### contents

    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.

### lookup_name

    public Contained[] lookup_name(java.lang.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.

### describe_contents

    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.

### create_module

    public ModuleDef create_module(java.lang.String id,
                                   java.lang.String name,
                                   java.lang.String version)

  The create_module operation returns a new empty ModuleDef. Definitions can be added using Container::create_<type> operations on the new module, or by using the Contained::move operation.

### create_constant

    public ConstantDef create_constant(java.lang.String id,
                                       java.lang.String name,
                                       java.lang.String version,
                                       IDLType type,
                                       Any value)

  The create_constant operation returns a new ConstantDef with the specified type and value.

### create_struct

    public StructDef create_struct(java.lang.String id,
                                   java.lang.String name,
                                   java.lang.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.

### create_union

    public UnionDef create_union(java.lang.String id,
                                 java.lang.String name,
                                 java.lang.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.

### create_enum

    public EnumDef create_enum(java.lang.String id,
                               java.lang.String name,
                               java.lang.String version,
                               java.lang.String[] members)

  The create_enum operation returns a new EnumDef with the specified members.

### create_alias

    public AliasDef create_alias(java.lang.String id,
                                 java.lang.String name,
                                 java.lang.String version,
                                 IDLType original_type)

  The create_alias operation returns a new AliasDef with the specified original_type.

### create_interface

    public InterfaceDef create_interface(java.lang.String id,
                                         java.lang.String name,
                                         java.lang.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_<type> 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.

### create_value

    public ValueDef create_value(java.lang.String id,
                                 java.lang.String name,
                                 java.lang.String version,
                                 boolean is_custom,
                                 boolean is_abstract,
                                 ValueDef base_value,
                                 boolean is_truncatable,
                                 ValueDef[] abstract_base_value,
                                 InterfaceDef[] supported_interfaces,
                                 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_<type> 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.

### create_value_box

    public ValueBoxDef create_value_box(java.lang.String id,
                                        java.lang.String name,
                                        java.lang.String version,
                                        IDLType original_type_def)

  The create_value_box operation returns a new ValueBoxDef with the specified original_type_def.

### create_exception

    public ExceptionDef create_exception(java.lang.String id,
                                         java.lang.String name,
                                         java.lang.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.

### create_native

    public NativeDef create_native(java.lang.String id,
                                   java.lang.String name,
                                   java.lang.String version)

  The create_native operation returns a new NativeDef with the specified name.

### create_abstract_interface

    public AbstractInterfaceDef create_abstract_interface(java.lang.String id,
                                                          java.lang.String name,
                                                          java.lang.String version,
                                                          AbstractInterfaceDef[] base_interfaces)

  The create_abstract_interface operation returns a new AbstractInterfaceDef with the specified name and base interfaces.

### create_local_interface

    public LocalInterfaceDef create_local_interface(java.lang.String id,
                                                    java.lang.String name,
                                                    java.lang.String version,
                                                    LocalInterfaceDef[] base_interfaces)

  The create_local_interface operation returns a new LocalInterfaceDef with the specified name and base interfaces.