org.omg.CosPropertyService
Class PropertySetDefPOA

java.lang.Object
  extended by org.omg.PortableServer.Servant
      extended by org.omg.CosPropertyService.PropertySetDefPOA
All Implemented Interfaces:
org.omg.CORBA.portable.InvokeHandler, PropertySetDefOperations, PropertySetOperations
Direct Known Subclasses:
PropertySetDefImpl, PropertySetDefPOATie

public abstract class PropertySetDefPOA
extends org.omg.PortableServer.Servant
implements PropertySetDefOperations, org.omg.CORBA.portable.InvokeHandler

The PropertySetDef interface is a specialization (subclass) of the PropertySet interface. The PropertySetDef interface provides operations to retrieve PropertySet constraints, define and modify properties with modes, and to get or set property modes.

It should be noted that a PropertySetDef is still considered a PropertySet. The specialization operations are simply to provide more client access and control of the characteristics (metadata) of a PropertySet.

The PropertySetDef interface also provides "batch" operations, such as define_properties_with_modes, to deal with sets of property definitions as a whole. The execution of the "batch" operations is considered best effort (i.e., not an atomic set) in that not all suboperations need to succeed for any suboperation to succeed.

For define_properties_with_modes and set_property_modes, if any suboperation fails, a MultipleExceptions exception is returned to identify which property name had which exception.

For example, a client may invoke define_properties_with_modes using four property definition structures. The first property could be accepted (added or modified), the second could fail due to an UnsupportedMode, the third could fail due to a ConflictingProperty, and the fourth could fail due to ReadOnlyProperty.

In this case a property is either added or modified in the PropertySetDef and a MultipleExceptions exception is raised with three items in the PropertyExceptions sequence.

The get_property_modes "batch" operation utilizes a boolean flag to signal that mixed results occurred and additional processing may be required to fully analyze the exceptions.

Making "batch" operations behave in an atomic manner is considered an implementation issue that could be accomplished via specialization of this property service.


Constructor Summary
PropertySetDefPOA()
           
 
Method Summary
 java.lang.String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId)
           
 org.omg.CORBA.portable.OutputStream _invoke(java.lang.String opName, org.omg.CORBA.portable.InputStream _is, org.omg.CORBA.portable.ResponseHandler handler)
           
 PropertySetDef _this()
           
 PropertySetDef _this(org.omg.CORBA.ORB orb)
           
 
Methods inherited from class org.omg.PortableServer.Servant
_default_POA, _get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.omg.CosPropertyService.PropertySetDefOperations
define_properties_with_modes, define_property_with_mode, get_allowed_properties, get_allowed_property_types, get_property_mode, get_property_modes, set_property_mode, set_property_modes
 
Methods inherited from interface org.omg.CosPropertyService.PropertySetOperations
define_properties, define_property, delete_all_properties, delete_properties, delete_property, get_all_properties, get_all_property_names, get_number_of_properties, get_properties, get_property_value, is_property_defined
 

Constructor Detail

PropertySetDefPOA

public PropertySetDefPOA()
Method Detail

_this

public PropertySetDef _this()

_this

public PropertySetDef _this(org.omg.CORBA.ORB orb)

_all_interfaces

public java.lang.String[] _all_interfaces(org.omg.PortableServer.POA poa,
                                          byte[] objectId)
Specified by:
_all_interfaces in class org.omg.PortableServer.Servant

_invoke

public final org.omg.CORBA.portable.OutputStream _invoke(java.lang.String opName,
                                                         org.omg.CORBA.portable.InputStream _is,
                                                         org.omg.CORBA.portable.ResponseHandler handler)
Specified by:
_invoke in interface org.omg.CORBA.portable.InvokeHandler