/*
* This example is from the book "Java Enterprise in a Nutshell".
* Copyright (c) 1999 by O'Reilly & Associates.
* You may distribute this source code for non-commercial purposes only.
* You may study, modify, and use this example for any purpose, as long as
* this notice is retained. Note that this example is provided "as is",
* WITHOUT WARRANTY of any kind either expressed or implied.
*/
import java.util.Vector;
import javax.naming.*;
class bind implements Command {
public void execute(Context c, Vector v)
throws CommandException {
// check to see if we have all the args we need to bind
if (v.isEmpty())
throw new CommandException(new Exception(),
"No names specified");
else if (v.elementAt(1) == null)
throw new CommandException(new Exception(),
"Only one name specified");
String name = (String)v.firstElement();
String objName = (String)v.elementAt(1);
try {
Object obj = c.lookup(objName);
c.bind(name, obj);
System.out.println("Bound " + name + " to " + objName);
}
catch (NameAlreadyBoundException nabe) {
throw new CommandException(nabe,
"The name " + name + " is already bound");
}
catch (OperationNotSupportedException onse) {
throw new CommandException(onse,
"Binding " + objName + " to " + name + " is not supported");
}
catch (NamingException ne) {
throw new CommandException(ne,
"Couldn't bind " + name + " to " + objName);
}
}
public void help() { System.out.println("Usage: bind [name] [obj]"); }
}
|