Previous | Next | Trail Map | The Basics | Naming Operations

Adding, Replacing, and Removing a Binding

The Context interface contains methods for adding, replacing, and removing a binding in a context.

Adding a Binding

Context.bind()(in the API reference documentation) is used to add a binding to a context. It accepts as arguments the name of the object and the object to be bound.
// Create the object to be bound
Fruit fruit = new Fruit("orange");

// Perform the bind
ctx.bind("favorite", fruit);
This example creates an object of class Fruit and binds it to the name "favorite" in the context ctx. If you subsequently looked up the name "favorite" in ctx, then you would get the fruit object. Note that to compile the Fruit class, you need the FruitFactory class.

If you were to run this example twice, then the second attempt would fail with a NameAlreadyBoundException(in the API reference documentation). This is because the name "favorite" is already bound. For the second attempt to succeed, you would have to use rebind()(in the API reference documentation).

Adding or Replacing a Binding

rebind() is used to add or replace a binding. It accepts the same arguments as bind(), but the semantics are such that if the name is already bound, then it will be unbound and the newly given object will be bound.
// Create the object to be bound
Fruit fruit = new Fruit("lemon");

// Perform the bind
ctx.rebind("favorite", fruit);
When you run this example, it will replace the binding created by the bind() example.

Removing a Binding

To remove a binding, you use unbind()(in the API reference documentation).
// Remove the binding
ctx.unbind("favorite");
This example, when run, removes the binding that was created by the bind() or rebind() example.


Previous | Next | Trail Map | The Basics | Naming Operations