gnu.CORBA.Poa
Class AOM
Implements the conception of the Active Object Map.
If the POA supports the RETAIN policy, it maintains an Active
Object Map, that associates Object Ids with active servants.
Each association constitutes an active object. We use a single map
for all POAs on the given orb.
class | AOM.Obj - The reference data about the object, placed on the AOM.
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
add
public AOM.Obj add(byte[] key,
gnuServantObject object,
Servant servant,
gnuPOA poa)
Add the new object to the repository.
key
- the object key.object
- the object to add.servant
- a servant, serving the given object.poa
- the POA, where the object is connected.
add
public AOM.Obj add(ServantDelegateImpl delegate)
Add the new object to the repository.
delegate
- the delegate, providing data about the servant, key, POA
and object.
add
public AOM.Obj add(gnuServantObject object,
Servant servant,
gnuPOA poa)
Add the new object to the repository. The object key is
generated automatically.
object
- the object to add.servant
- a servant, serving the given object.poa
- the poa, where the object is connected.
- the newly created object record.
findObject
public AOM.Obj findObject(Object stored_object)
Get the record of the stored object. If the object is mapped several times
under the different keys, one of the mappings is used.
stored_object
- the stored object
- the record about the stored object, null if this object is not
stored here.
findServant
public AOM.Obj findServant(Servant servant)
Find the reference info for the given servant. If the servant is mapped to
several objects, this returns the first found occurence.
servant
- a servant to find.
- the servant/object/POA binding or null if no such found.
findServant
public AOM.Obj findServant(Servant servant,
boolean inactive)
Find the reference info for the given servant.
If the servant is mapped to several objects, this
returns the first found occurence.
servant
- a servant to find.
- the servant/object/POA binding or null if no such found.
generateObjectKey
protected byte[] generateObjectKey(Object object)
Generate the object key, unique in the currently
running java virtual machine. The passed object
parameter is currently not in use.
get
public AOM.Obj get(byte[] key)
Get the stored object.
key
- the key (in the byte array form).
- the matching object, null if none is matching.
getFreeId
public static byte[] getFreeId()
Get the next free 8 byte id, surely unique between calls of this
method for the currently running virtual machine.
put
public void put(AOM.Obj obj)
Put back the definition structure that has probably been removed earlier.
remove
public void remove(byte[] key)
Remove the given object, indiciating it by the key.
AOM.java --
Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.