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). |
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