FileDocCategorySizeDatePackage
Binding.javaAPI DocJava SE 5 API6541Fri Aug 26 14:57:38 BST 2005javax.naming

Binding

public class Binding extends NameClassPair
This class represents a name-to-object binding found in a context.

A context consists of name-to-object bindings. The Binding class represents such a binding. It consists of a name and an object. The Context.listBindings() method returns an enumeration of Binding.

Use subclassing for naming systems that generate contents of a binding dynamically.

A Binding instance is not synchronized against concurrent access by multiple threads. Threads that need to access a Binding concurrently should synchronize amongst themselves and provide the necessary locking.

author
Rosanna Lee
author
Scott Seligman
version
1.8 03/12/19
since
1.3

Fields Summary
private Object
boundObj
Contains this binding's object. It is initialized by the constuctor and can be updated using setObject.
private static final long
serialVersionUID
Use serialVersionUID from JNDI 1.1.1 for interoperability
Constructors Summary
public Binding(String name, Object obj)
Constructs an instance of a Binding given its name and object.

getClassName() will return the class name of obj (or null if obj is null) unless the class name has been explicitly set using setClassName()

param
name The non-null name of the object. It is relative to the target context (which is named by the first parameter of the listBindings() method)
param
obj The possibly null object bound to name.
see
NameClassPair#setClassName

	super(name, null);
	this.boundObj = obj;
    
public Binding(String name, Object obj, boolean isRelative)
Constructs an instance of a Binding given its name, object, and whether the name is relative.

getClassName() will return the class name of obj (or null if obj is null) unless the class name has been explicitly set using setClassName()

param
name The non-null string name of the object.
param
obj The possibly null object bound to name.
param
isRelative true if name is a name relative to the target context (which is named by the first parameter of the listBindings() method); false if name is a URL string.
see
NameClassPair#isRelative
see
NameClassPair#setRelative
see
NameClassPair#setClassName

	super(name, null, isRelative);
	this.boundObj = obj;
    
public Binding(String name, String className, Object obj)
Constructs an instance of a Binding given its name, class name, and object.

param
name The non-null name of the object. It is relative to the target context (which is named by the first parameter of the listBindings() method)
param
className The possibly null class name of the object bound to name. If null, the class name of obj is returned by getClassName(). If obj is also null, getClassName() will return null.
param
obj The possibly null object bound to name.
see
NameClassPair#setClassName

	super(name, className);
	this.boundObj = obj;
    
public Binding(String name, String className, Object obj, boolean isRelative)
Constructs an instance of a Binding given its name, class name, object, and whether the name is relative.

param
name The non-null string name of the object.
param
className The possibly null class name of the object bound to name. If null, the class name of obj is returned by getClassName(). If obj is also null, getClassName() will return null.
param
obj The possibly null object bound to name.
param
isRelative true if name is a name relative to the target context (which is named by the first parameter of the listBindings() method); false if name is a URL string.
see
NameClassPair#isRelative
see
NameClassPair#setRelative
see
NameClassPair#setClassName

	super(name, className, isRelative);
	this.boundObj = obj;
    
Methods Summary
public java.lang.StringgetClassName()
Retrieves the class name of the object bound to the name of this binding. If the class name has been set explicitly, return it. Otherwise, if this binding contains a non-null object, that object's class name is used. Otherwise, null is returned.

return
A possibly null string containing class name of object bound.

	String cname = super.getClassName();
	if (cname != null) {
	    return cname;
	}
	if (boundObj != null)
	    return boundObj.getClass().getName();
	else
	    return null;
    
public java.lang.ObjectgetObject()
Retrieves the object bound to the name of this binding.

return
The object bound; null if this binding does not contain an object.
see
#setObject

	return boundObj;
    
public voidsetObject(java.lang.Object obj)
Sets the object associated with this binding.

param
obj The possibly null object to use.
see
#getObject

	boundObj = obj;
    
public java.lang.StringtoString()
Generates the string representation of this binding. The string representation consists of the string representation of the name/class pair and the string representation of this binding's object, separated by ':'. The contents of this string is useful for debugging and is not meant to be interpreted programmatically.

return
The non-null string representation of this binding.

	return super.toString() + ":" + getObject();