|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A POA object manages the implementation of a collection of objects. The POA supports a name space for the objects, which are identified by Object Ids. A POA also provides a name space for POAs. A POA is created as a child of an existing POA, which forms a hierarchy starting with the root POA. A POA object must not be exported to other processes, or externalized with ORB::object_to_string.
Method Summary | |
void |
activate_object_with_id(byte[] id,
Servant p_servant)
This operation enters an association between the specified Object Id and the specified servant in the Active Object Map. |
byte[] |
activate_object(Servant p_servant)
This operation generates an Object Id and enters the Object Id and the specified servant in the Active Object Map. |
IdAssignmentPolicy |
create_id_assignment_policy(IdAssignmentPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
IdUniquenessPolicy |
create_id_uniqueness_policy(IdUniquenessPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
ImplicitActivationPolicy |
create_implicit_activation_policy(ImplicitActivationPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
LifespanPolicy |
create_lifespan_policy(LifespanPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
POA |
create_POA(String adapter_name,
POAManager a_POAManager,
Policy[] policies)
This operation creates a new POA as a child of the target POA. |
Object |
create_reference_with_id(byte[] oid,
String intf)
This operation creates an object reference that encapsulates the specified Object Id and interface repository Id values. |
Object |
create_reference(String intf)
This operation creates an object reference that encapsulates a POA-generated Object Id value and the specified interface repository id. |
RequestProcessingPolicy |
create_request_processing_policy(RequestProcessingPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
ServantRetentionPolicy |
create_servant_retention_policy(ServantRetentionPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
ThreadPolicy |
create_thread_policy(ThreadPolicyValue value)
These operations each return a reference to a policy object with the specified value. |
void |
deactivate_object(byte[] oid)
This operation causes the ObjectId specified in the oid parameter to be deactivated. |
void |
destroy(boolean etherealize_objects,
boolean wait_for_completion)
This operation destroys the POA and all descendant POAs. |
POA |
find_POA(String adapter_name,
boolean activate_it)
If the target POA is the parent of a child POA with the specified name (relative to the target POA), that child POA is returned. |
ServantManager |
get_servant_manager()
If the ServantRetentionPolicy of the POA is RETAIN, then the ServantManager argument (imgr) shall support the ServantActivator interface. |
Servant |
get_servant()
This operation returns the default servant associated with the POA. |
Object |
id_to_reference(byte[] oid)
If an object with the specified Object Id value is currently active, a reference encapsulating the information used to activate the object is returned. |
Servant |
id_to_servant(byte[] oid)
If the POA has the RETAIN policy and the specified ObjectId is in the Active Object Map, this operation returns the servant associated with that object in the Active Object Map. |
byte[] |
id()
This returns the unique id of the POA in the process in which it is created. |
byte[] |
reference_to_id(Object reference)
This operation returns the Object Id value encapsulated by the specified reference. |
Servant |
reference_to_servant(Object reference)
If the POA has the RETAIN policy and the specified object is present in the Active Object Map, this operation returns the servant associated with that object in the Active Object Map. |
byte[] |
servant_to_id(Servant p_servant)
This operation has four possible behaviors. |
Object |
servant_to_reference(Servant p_servant)
This operation requires the RETAIN policy and either the UNIQUE_ID or IMPLICIT_ACTIVATION policies if invoked outside the context of an operation dispatched by this POA. |
void |
set_servant_manager(ServantManager imgr)
This operation sets the default servant manager associated with the POA. |
void |
set_servant(Servant p_servant)
This operation registers the specified servant with the POA as the default servant. |
AdapterActivator |
the_activator()
This attribute identifies the adapter activator associated with the POA. |
void |
the_activator(AdapterActivator newThe_activator)
This attribute identifies the adapter activator associated with the POA. |
POA[] |
the_children()
This attribute identifies the current set of all child POAs of the POA. |
String |
the_name()
This attribute identifies the POA relative to its parent. |
POA |
the_parent()
This attribute identifies the parent of the POA. |
POAManager |
the_POAManager()
This attribute identifies the POA manager associated with the POA. |
Method Detail |
public POA create_POA(String adapter_name, POAManager a_POAManager, Policy[] policies) throws AdapterAlreadyExists, InvalidPolicy
adapter_name
- identifies the new POA with
respect to other POAs with the same parent POA.a_POAManager
- specifies the POA Manager to be
associated with the new POA.policies
- specifies policy objects to be
associated with the POA to control its behavior.
AdapterAlreadyExists
- specifies that the
target POA already has a child POA with
the specified name.
InvalidPolicy
- is raised if any of the
policy objects are not valid for the ORB,
or are in conflict, or require an
administrative action that has not been
performed.public POA find_POA(String adapter_name, boolean activate_it) throws AdapterNonExistent
adapter_name
- POA name to be found.activate_it
- if a POA with the specified
name does not exist and the value of
the activate_it parameter is TRUE, the target
POA's AdapterActivator, if one exists,
is invoked.
AdapterNonExistent
public void destroy(boolean etherealize_objects, boolean wait_for_completion)
etherealize_objects
- flag to indicate whether
etherealize operation on servant manager needs
to be called.wait_for_completion
- flag to indicate whether
POA and its children need to wait for active
requests and the etherealization to complete.public ThreadPolicy create_thread_policy(ThreadPolicyValue value)
value
- policy type
public LifespanPolicy create_lifespan_policy(LifespanPolicyValue value)
value
- policy type
public IdUniquenessPolicy create_id_uniqueness_policy(IdUniquenessPolicyValue value)
value
- policy type
public IdAssignmentPolicy create_id_assignment_policy(IdAssignmentPolicyValue value)
value
- policy type
public ImplicitActivationPolicy create_implicit_activation_policy(ImplicitActivationPolicyValue value)
value
- policy type
public ServantRetentionPolicy create_servant_retention_policy(ServantRetentionPolicyValue value)
value
- policy type
public RequestProcessingPolicy create_request_processing_policy(RequestProcessingPolicyValue value)
value
- policy type
public String the_name()
public POA the_parent()
public POA[] the_children()
public POAManager the_POAManager()
public AdapterActivator the_activator()
public void the_activator(AdapterActivator newThe_activator)
public ServantManager get_servant_manager() throws WrongPolicy
WrongPolicy
- raised if the
USE_SERVANT_MANAGER policy is not specified.public void set_servant_manager(ServantManager imgr) throws WrongPolicy
imgr
- servant manager to be used as a default.
WrongPolicy
- raised if the
USE_SERVANT_MANAGER policy is not specified.public Servant get_servant() throws NoServant, WrongPolicy
NoServant
- raised if no default servant is
associated with the POA.
WrongPolicy
- raised if the
USE_DEFAULT_SERVANT policy is not specified.public void set_servant(Servant p_servant) throws WrongPolicy
p_servant
- servant to be used as a default.
WrongPolicy
- raised if the
USE_DEFAULT_SERVANT policy is not specified.public byte[] activate_object(Servant p_servant) throws ServantAlreadyActive, WrongPolicy
p_servant
- servant to be associated with an
object to be activated.
ServantAlreadyActive
- is raised if the
POA has UNIQUE_ID policy and servant is
is already in the Active Object Map.
WrongPolicy
- raised if the SYSTEM_ID and
RETAIN policies are not specified.public void activate_object_with_id(byte[] id, Servant p_servant) throws ServantAlreadyActive, ObjectAlreadyActive, WrongPolicy
id
- object id for the object to be activated.p_servant
- servant to be associated with the
object.
ServantAlreadyActive
- raised if the POA
has the UNIQUE_ID policy and the servant
is already in the Active Object Map.
ObjectAlreadyActive
- raised if the object is
already active in the POA.
WrongPolicy
- raised if the RETAIN policy is
is not specified.public void deactivate_object(byte[] oid) throws ObjectNotActive, WrongPolicy
oid
- Object Id for the object to be deactivated.
ObjectNotActive
- if the object with the
specified oid is not in the Active Object
Map.
WrongPolicy
- raised if the RETAIN policy is
is not specified.public Object create_reference(String intf) throws WrongPolicy
intf
- rep id for creating an object reference.
WrongPolicy
- if SYSTEM_ID policy is not
specified.public Object create_reference_with_id(byte[] oid, String intf)
oid
- object id for creating an objrefintf
- rep id for creating an objref
BAD_PARAM
- is raised if the POA has the
SYSTEM_ID policy and it detects that the
Object Id value was not generated by the
system or for this POA.public byte[] servant_to_id(Servant p_servant) throws ServantNotActive, WrongPolicy
p_servant
- servant for which the object disi returned.
ServantNotActive
- if the above rules and
policy combination is not met.
WrongPolicy
- if the USE_DEFAULT_SERVANT policy
or a combination of the RETAIN policy and
either the UNIQUE_ID or IMPLICIT_ACTIVATION
policies are not present.public Object servant_to_reference(Servant p_servant) throws ServantNotActive, WrongPolicy
p_servant
- servant for which the object reference
needs to be obtained.
WrongPolicy
- if the operation is not invoked
in the context of executing a request on
the specified servant and the required
policies are not present.
ServantNotActive
- if the above specified
policies and rules are not met.public Servant reference_to_servant(Object reference) throws ObjectNotActive, WrongPolicy, WrongAdapter
reference
- object reference for which the
servant is returned.
WrongPolicy
- if neither the RETAIN policy or
the USE_DEFAULT_SERVANT policy is present.
ObjectNotActive
- if the servant is not
present in the Active Object Map (for RETAIN)
or no default servant is registered (for
USE_DEFAULT_POLICY).
WrongAdapter
- if reference was not created by
this POA instance.public byte[] reference_to_id(Object reference) throws WrongAdapter, WrongPolicy
reference
- the object reference from which the
object id needs to be returned.
WrongAdapter
- if the reference was not
created by the POA specified in the
reference.
WrongPolicy
- declared to allow future
extensions.public Servant id_to_servant(byte[] oid) throws ObjectNotActive, WrongPolicy
oid
- object id for the which the servant is
returned.
ObjectNotActive
- is raised if ObjectId is
is not in the Active Object Map (for RETAIN
policy), or no default servant is registered
(for USE_DEFAULT_SERVANT policy).
WrongPolicy
- is raised if the RETAIN policy
or the USE_DEFAULT_SERVANT
policy is not present.public Object id_to_reference(byte[] oid) throws ObjectNotActive, WrongPolicy
oid
- id of the object for which the
reference is returned.
ObjectNotActive
- if the Object Id value
is not active in the POA.
WrongPolicy
- if the RETAIN policy is not
present.public byte[] id()
This id is guaranteed unique for the life span of the POA in the process. For persistent POAs, this means that if a POA is created in the same path with the same name as another POA, these POAs are identical and, therefore, have the same id. For transient POAs, each POA is unique.
|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.