org.omg.CosTradingRepos
Interface ServiceTypeRepositoryOperations

All Known Subinterfaces:
ServiceTypeRepository
All Known Implementing Classes:
_ServiceTypeRepositoryStub, Repository, ServiceTypeRepositoryPOA, ServiceTypeRepositoryPOATie

public interface ServiceTypeRepositoryOperations

Interface definition: ServiceTypeRepository.

Author:
OpenORB Compiler

Method Summary
 IncarnationNumber add_type(java.lang.String name, java.lang.String if_name, PropStruct[] props, java.lang.String[] super_types)
          The add_type operation enables the creation of new service types in the service type repository.
 TypeStruct describe_type(java.lang.String name)
          The describe_type operation permits a client to obtain the details for a particular service type.
 TypeStruct fully_describe_type(java.lang.String name)
          The fully_describe_type operation permits a client to obtain the details for a particular service type.
 IncarnationNumber incarnation()
          Read accessor for incarnation attribute
 java.lang.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.
 void mask_type(java.lang.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).
 void remove_type(java.lang.String name)
          The remove_type operation removes the named type from the service type repository.
 void unmask_type(java.lang.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

incarnation

IncarnationNumber incarnation()
Read accessor for incarnation attribute

Returns:
the attribute value

add_type

IncarnationNumber add_type(java.lang.String name,
                           java.lang.String if_name,
                           PropStruct[] props,
                           java.lang.String[] super_types)
                           throws IllegalServiceType,
                                  ServiceTypeExists,
                                  InterfaceTypeMismatch,
                                  IllegalPropertyName,
                                  DuplicatePropertyName,
                                  ValueTypeRedefinition,
                                  UnknownServiceType,
                                  DuplicateServiceTypeName
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 repository?s 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-type?s 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.

Throws:
IllegalServiceType
ServiceTypeExists
InterfaceTypeMismatch
IllegalPropertyName
DuplicatePropertyName
ValueTypeRedefinition
UnknownServiceType
DuplicateServiceTypeName

remove_type

void remove_type(java.lang.String name)
                 throws IllegalServiceType,
                        UnknownServiceType,
                        HasSubTypes
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.

Throws:
IllegalServiceType
UnknownServiceType
HasSubTypes

list_types

java.lang.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.


describe_type

TypeStruct describe_type(java.lang.String name)
                         throws IllegalServiceType,
                                UnknownServiceType
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.

Throws:
IllegalServiceType
UnknownServiceType

fully_describe_type

TypeStruct fully_describe_type(java.lang.String name)
                               throws IllegalServiceType,
                                      UnknownServiceType
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.

Throws:
IllegalServiceType
UnknownServiceType

mask_type

void mask_type(java.lang.String name)
               throws IllegalServiceType,
                      UnknownServiceType,
                      AlreadyMasked
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.

Throws:
IllegalServiceType
UnknownServiceType
AlreadyMasked

unmask_type

void unmask_type(java.lang.String name)
                 throws IllegalServiceType,
                        UnknownServiceType,
                        NotMasked
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.

Throws:
IllegalServiceType
UnknownServiceType
NotMasked