gnu.CORBA.NamingService
Class TransientContext
- IDLEntity, InvokeHandler, NamingContext, NamingContextOperations, Object, SafeForDirectCalls, Serializable
This class implements the transient naming service, defined by
NamingContext
. The 'transient' means that the service does
not store its state into the persistent memory. If the service is
restarted, the named objects must be re-registered again.
TODO Write the persistent naming service.
void | bind(NameComponent[] a_name, Object an_object) - Gives the object a name, valid in this context.
|
void | bind_context(NameComponent[] a_name, NamingContext a_context) - Gives a child context name, valid in this context.
|
NamingContext | bind_new_context(NameComponent[] a_name) - Create a new context and give it a given name (bound it)
in the current context.
|
void | destroy() - Destroy this context (must be empty).
|
void | list(int amount, BindingListHolder a_list, BindingIteratorHolder an_iter) - Iterate over all bindings, defined in this namind context.
|
NamingContext | new_context() - Creates a new naming context, not bound to any name.
|
void | rebind(NameComponent[] a_name, Object an_object) - Names or renames the object.
|
void | rebind_context(NameComponent[] a_name, NamingContext a_context) - Names or renames the child context.
|
Object | resolve(NameComponent[] a_name) - Get the object, bound to the specified name in this
context.
|
void | unbind(NameComponent[] a_name) - Removes the name from the binding context.
|
_create_request , _create_request , _duplicate , _get_delegate , _get_domain_managers , _get_interface_def , _get_policy , _hash , _ids , _invoke , _is_a , _is_equivalent , _is_local , _non_existent , _orb , _release , _releaseReply , _request , _request , _servant_postinvoke , _set_delegate , _set_policy_override , equals , toString |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
TransientContext
public TransientContext()
Create the naming conetxt with default (transient) naming maps.
TransientContext
public TransientContext(NamingMap context_map,
NamingMap object_map)
Create the naming conetxt with the two provided naming maps.
context_map
- the map for contextsobject_map
- the map for objectss
list
public void list(int amount,
BindingListHolder a_list,
BindingIteratorHolder an_iter)
Iterate over all bindings, defined in this namind context.
- list in interface NamingContext
- list in interface NamingContextOperations
amount
- the maximal number of context to return in the
holder a_list. The remaining bindings are accessible via iterator
an_iter. If the parameter amount is zero, all bindings are accessed only
via this iterator.
This implementation list contexts first, then objects.a_list
- the holder, where the returned bindigs are stored.an_iter
- the iterator that can be used to access the remaining
bindings.
resolve
public Object resolve(NameComponent[] a_name)
throws NotFound,
CannotProceed,
InvalidName
Get the object, bound to the specified name in this
context. The given object must match the bound
name.
This implementation resolves the names as defined in specification
of the CORBA naming service. This means, if the beginning of the
name can be resolved to some naming context, the request is
forwarded to this context, passing the unresolved name part as a
parameter. In this way, it is possible to have a hierarchy of the
naming services. The central services resolve the the beginning
of the name. The local services resolve the remaining nodes of the
name that may be relevant to some local details. It can be three or
more ranks of the naming services.
- resolve in interface NamingContext
- resolve in interface NamingContextOperations
a_name
- the object name.
- the object, matching this name. The client
usually casts or narrows (using the helper) the returned value
to the more specific type.
NotFound
- if the name cannot be resolved.InvalidName
- if the name has zero length or otherwise invalid.
nContext.java -- implementation of NamingContext
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.