org.omg.CosTradingRepos

Interface ServiceTypeRepositoryOperations

public interface ServiceTypeRepositoryOperations

Interface definition: ServiceTypeRepository.

Author: OpenORB Compiler

Method Summary
IncarnationNumberadd_type(String name, String if_name, PropStruct[] props, String[] super_types)
The add_type operation enables the creation of new service types in the service type repository.
TypeStructdescribe_type(String name)
The describe_type operation permits a client to obtain the details for a particular service type.
TypeStructfully_describe_type(String name)
The fully_describe_type operation permits a client to obtain the details for a particular service type.
IncarnationNumberincarnation()
Read accessor for incarnation attribute
String[]list_types(SpecifiedServiceTypes which_types)
The list_types operation permits a client to obtain the names of service types which are in the repository.
voidmask_type(String name)
The mask_type operation permits the deprecation of a particular type (i.e., after being masked, exporters will no longer be able to advertise offers of that particular type).
voidremove_type(String name)
The remove_type operation removes the named type from the service type repository.
voidunmask_type(String name)
The unmask_type undeprecates a type (i.e., after being unmasked, exporters will be able to resume advertisement of offers of that particular type).

Method Detail

add_type

public IncarnationNumber add_type(String name, String if_name, PropStruct[] props, String[] super_types)
The add_type operation enables the creation of new service types in the service type repository. The caller supplies the name for the new type, the identifier for the interface associated with instances of this service type, the properties definitions for this service type, and the service type names of the immediate super-types to this service type. If the type creation is successful, an incarnation number is returned as the value of the operation. Incarnation numbers are opaque values that are assigned to each modification to the repositorys state. An incarnation number can be quoted when invoking the list_types operation to retrieve all changes to the service repository since a particular logical time. (Note: IncarnationNumber is currently declared as a struct consisting of two unsigned longs; what we really want here is an unsigned hyper [64-bit integer]. A future revision task force should modify this when CORBA systems support IDL 64-bit integers.) If the name parameter is malformed, then the CosTrading::IllegalServiceType exception is raised. If the type already exists, then the ServiceTypeExists exception is raised. If the if_name parameter is not a sub-type of the interface associated with a service type from which this service type is derived, such that substitutability would be violated, then the InterfaceTypeMismatch exception is raised. If a property name supplied in the props parameter is malformed, the CosTrading::IllegalPropertyName exception is raised. If the same property name appears two or more times in the props parameter, the CosTrading::DuplicatePropertyName exception is raised. If a property value type associated with this service type illegally modifies the value type of a super-types property, or if two super-types incompatibly declare value types for the same property name, then the ValueTypeRedefinition exception is raised. If one of the ServiceTypeNames in super_types is malformed, then the CosTrading::IllegalServiceType exception is raised. If one of the ServiceTypeNames in super_types does not exist, then the CosTrading::UnknownServiceType exception is raised. If the same service type name is included two or more times in this parameter, the DuplicateServiceTypeName exception is raised.

describe_type

public TypeStruct describe_type(String name)
The describe_type operation permits a client to obtain the details for a particular service type. If name is malformed, then the CosTrading::IllegalServiceType exception is raised. If name does not exist within the repository, then the CosTrading::UnknownServiceType exception is raised.

fully_describe_type

public TypeStruct fully_describe_type(String name)
The fully_describe_type operation permits a client to obtain the details for a particular service type. The property sequence returned in the TypeStruct includes all properties inherited from the transitive closure of its super types; the sequence of super types in the TypeStruct contains the names of the types in the transitive closure of the super type relation. If name is malformed, then the CosTrading::IllegalServiceType exception is raised. If name does not exist within the repository, then the CosTrading::UnknownServiceType exception is raised.

incarnation

public IncarnationNumber incarnation()
Read accessor for incarnation attribute

Returns: the attribute value

list_types

public String[] list_types(SpecifiedServiceTypes which_types)
The list_types operation permits a client to obtain the names of service types which are in the repository. The which_types parameter permits the client to specify one of two possible values: all types known to the repository all types added/modified since a particular incarnation number The names of the requested types are returned by the operation for subsequent querying via the describe_type or the fully_describe_type operation.

mask_type

public void mask_type(String name)
The mask_type operation permits the deprecation of a particular type (i.e., after being masked, exporters will no longer be able to advertise offers of that particular type). The type continues to exist in the service repository due to other service types being derived from it. If name is malformed, then the CosTrading::IllegalServiceType exception is raised. If name does not exist within the repository, then the CosTrading::UnknownServiceType exception is raised. If the type is currently in the masked state, then the AlreadyMasked exception is raised.

remove_type

public void remove_type(String name)
The remove_type operation removes the named type from the service type repository. If name is malformed, then the CosTrading::IllegalServiceType exception is raised. If name does not exist within the repository, then the CosTrading::UnknownServiceType exception is raised. If name has a service type which has been derived from it, then the HasSubTypes exception is raised.

unmask_type

public void unmask_type(String name)
The unmask_type undeprecates a type (i.e., after being unmasked, exporters will be able to resume advertisement of offers of that particular type). If name is malformed, then the CosTrading::IllegalServiceType exception is raised. If name does not exist within the repository, then the CosTrading::UnknownServiceType exception is raised. If the type is not currently in the masked state, then the NotMasked exception is raised.