* application package
*/
public static ContentHandlerServer getServer(String classname)
throws ContentHandlerException
{
RegistryImpl registryImpl = findRegistryImpl(classname);
// Insure only one thread promotes to ContentHandlerServer
ContentHandlerImpl server = null;
synchronized (mutex) {
server = registryImpl.getServer();
if (server == null) {
throw new ContentHandlerException("No registered handler",
ContentHandlerException.NO_REGISTERED_HANDLER);
}
if (!(server instanceof ContentHandlerServer)) {
// Not already a ContentHandlerServer; replace
server = new ContentHandlerServerImpl(server);
registryImpl.setServer(server);
}
}
return (ContentHandlerServer)server;
}