org.omg.CosNaming

Interface NamingContext

All Superinterfaces:
IDLEntity, NamingContextOperations, Object, Serializable
Known Subinterfaces:
NamingContextExt
Known Implementing Classes:
Ext, TransientContext, _NamingContextExtImplBase, _NamingContextExtStub, _NamingContextImplBase, _NamingContextStub

public interface NamingContext
extends NamingContextOperations, Object, IDLEntity

The interface for the naming context. The naming context can store (bound) and retrieve (resolve) the named objects or named child contexts. These operations are defined in a separate interface.
See Also:
NamingContextExt

Method Summary

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.

Methods inherited from interface org.omg.CosNaming.NamingContextOperations

bind, bind_context, bind_new_context, destroy, list, new_context, rebind, rebind_context, resolve, unbind

Methods inherited from interface org.omg.CORBA.Object

_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override

Method Details

bind

public void bind(NameComponent[] a_name,
                 Object an_object)
            throws NotFound,
                   CannotProceed,
                   InvalidName,
                   AlreadyBound
Gives the object a name, valid in this context.
Specified by:
bind in interface NamingContextOperations
Parameters:
a_name - the name, being given to the object.
an_object - the object, being named.
Throws:
AlreadyBound - if the object is already named in this context.
InvalidName - if the name has zero length or otherwise invalid.

bind_context

public void bind_context(NameComponent[] a_name,
                         NamingContext a_context)
            throws NotFound,
                   CannotProceed,
                   InvalidName,
                   AlreadyBound
Gives a child context name, valid in this context.
Specified by:
bind_context in interface NamingContextOperations
Parameters:
a_name - the name, being given to the child context.
a_context - the child context being named.
Throws:
AlreadyBound - if the child context is already named in the current context.

bind_new_context

public NamingContext bind_new_context(NameComponent[] a_name)
            throws NotFound,
                   AlreadyBound,
                   CannotProceed,
                   InvalidName
Create a new context and give it a given name (bound it) in the current context.
Specified by:
bind_new_context in interface NamingContextOperations
Parameters:
a_name - the name being given to the new context.
Returns:
the newly created context.
Throws:
AlreadyBound - if the name is already in use.
InvalidName - if the name has zero length or otherwise invalid.

destroy

public void destroy()
            throws NotEmpty
Destroy this context (must be empty).
Specified by:
destroy in interface NamingContextOperations
Throws:
NotEmpty - if the context being destroyed is not empty.

list

public void list(int amount,
                 BindingListHolder a_list,
                 BindingIteratorHolder an_iter)
Iterate over all bindings, defined in this namind context.
Specified by:
list in interface NamingContextOperations
Parameters:
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.
a_list - the holder, where the returned bindigs are stored.
an_iter - the iterator that can be used to access the remaining bindings.

new_context

public NamingContext new_context()
Creates a new naming context, not bound to any name.
Specified by:
new_context in interface NamingContextOperations

rebind

public void rebind(NameComponent[] a_name,
                   Object an_object)
            throws NotFound,
                   CannotProceed,
                   InvalidName
Names or renames the object.
Specified by:
rebind in interface NamingContextOperations
Parameters:
a_name - the new name, being given to the object. If the object is already named in this context, it is renamed.
an_object - the object, being named.
Throws:
InvalidName - if the name has zero length or otherwise invalid.

rebind_context

public void rebind_context(NameComponent[] a_name,
                           NamingContext a_context)
            throws NotFound,
                   CannotProceed,
                   InvalidName
Names or renames the child context. If the child context is already named in the current context, it is renamed.
Specified by:
rebind_context in interface NamingContextOperations
Parameters:
a_name - the name, being given to the child context.
a_context - the child context being named.
Throws:
InvalidName - if the name has zero length or otherwise invalid.

resolve

public Object resolve(NameComponent[] a_name)
            throws NotFound,
                   CannotProceed,
                   InvalidName
Get the object, bound to the specified name in this context.
Specified by:
resolve in interface NamingContextOperations
Parameters:
a_name - the object name.
Returns:
the object, matching this name. The client usually casts or narrows (using the helper) the returned value to the more specific type.
Throws:
NotFound -
InvalidName - if the name has zero length or otherwise invalid.

unbind

public void unbind(NameComponent[] a_name)
            throws NotFound,
                   CannotProceed,
                   InvalidName
Removes the name from the binding context.
Specified by:
unbind in interface NamingContextOperations
Parameters:
a_name - a name to remove.
Throws:
InvalidName - if the name has zero length or otherwise invalid.

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