Añadir, Reemplazar y Eliminar Uniones
El interface Context contiene métodos para añadir,
reemplazar, y eliminar una unión en
un contexto.
Añadir una Unión
Context.bind()
se usa para añadir una unión a un contexto. Acepta como argumentos el nombre
del objeto y el objeto aunir.
// Create the object to be bound
Fruit fruit = new Fruit("orange");
// Perform the bind
ctx.bind("favorite", fruit);
Este ejemplo crea un objeto de la clase Fruit
y lo une con el nombre "favorite" en el contexto ctx.
Si después buscamos el nombre "favorite" en ctx,
obtendríamos un objeto fruit. Observa que para compilar la
clase Fruit, necesitamos la clase FruitFactory.
Si fueramos a ejecutar este ejemplo dos veces, la segunda vez que lo
intentaramos fallaría con una NameAlreadyBoundException.
Esto es porque el nombre "favorite" ya está unido.
Para que el segundo intento tenga éxito tendríamos que usar rebind().
Añadir o Reemplazar una Unión
rebind() se usa para añadir o reemplazar una unión. Acepta los
mismos argumentos que bind(), pero la semántica es que si el
nombre ya está unido, lo desune y lo une nuevamente al objeto dado.
// Create the object to be bound
Fruit fruit = new Fruit("lemon");
// Perform the bind
ctx.rebind("favorite", fruit);
Cuando ejecutemos este ejemplo, reemplazará la
unión creada por el ejemplo bind().
Eliminar un Unión
Para eliminar una unión, usamos unbind().
// Remove the binding
ctx.unbind("favorite");
Este ejemplo, cuando se ejecuta, elimina la unión
que se creó con los ejemplos bind() o rebind().