⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourcecontext.java

📁 很棒的web服务器源代码
💻 JAVA
字号:
// ResourceContext.java// $Id: ResourceContext.java,v 1.9 2000/08/16 21:37:53 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1996, 1997.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.tools.resources;import java.util.Hashtable;/** * The resource context. */public class ResourceContext {    /**     * debug flag     */    public static boolean debug = false;    /**     * Our parent context, if any.     */    protected ResourceContext parent = null;    /**     * The set of registered modules.     */    public Hashtable modules = null;    /**     * Our Resource Space.     */    protected ResourceSpace space = null;    /**     * The server of that resource context.     */    protected ServerInterface server = null;    /**     * The ResourceReference of our resource.     */    protected ResourceReference reference = null;    /**     * The ResourceReference of the resource container.     */    protected ResourceReference container = null;    /**     * Get the container of the resource.     * @return A ResourceReference instance.     */    public ResourceReference getContainer() {	return container;    }    /**     * Get the ResourceReference of the resource.     * @return a ResourceReference instance.     */    public ResourceReference getResourceReference() {	return reference;    }    /**     * Set the ResourceReference of the resource.     * @param reference The ResourceReference to set.     */    public void setResourceReference(ResourceReference reference) {	this.reference = reference;	reference.updateContext(this);    }    /**     * Get our Resource Space.     * @return A ResourceSpace instance.     */    public ResourceSpace getSpace() {	return space;    }    /**     * Set the Resource Space.     * @param space Our Resource Space.     */    public void setSpace(ResourceSpace space) {	this.space = space;    }    /**     * Get the server this context is attached to.     * @return An ServerInterface instance      * (guaranteed not to be <strong>null</strong>.)     */    public ServerInterface getServer() {	return server;    }    /**     * Get that context's ancestor.     * @return A ResourceContext instance, or <strong>null</strong>.     */    public ResourceContext getParent() {	return parent;    }    /**     * Register a module within that resource context.     * @param name The module's name.     * @param impl The module's implementation.     */    public synchronized void registerModule(String name, Object impl) {	if ( modules == null )	    modules = new Hashtable(7);	modules.put(name, impl);    }    /**     * Lookup a module within that resource context.     * @param name Name of the module to look for.     * @param inherited Also look within the contexts hierarchy for an      * inherited module having that name.     */    public Object getModule(String name, boolean inherited) {	Object impl = ((modules == null) ? null : modules.get(name));	if (inherited && (parent != null) && (impl == null))	    impl = parent.getModule(name, true);	return impl;    }    /**     * Lookup a module within that context, and up the hierarchy of contexts.     * @param name The module's name.     * @return An object <em>implementing</em> that module.     */    public Object getModule(String name) {	return getModule(name, true);    }    public String toString() {	String tostring = "\nResourceContext : ";	if (parent == null)	    tostring += "\n\tparent    : null";	tostring += "\n\tcontainer : "+container;	tostring += "\n\tspace     : "+space;	tostring += "\n\tserver    : "+server;	return tostring;    }    /**     * Create a ResourceContext from a container.     * @param container The resource container.     */    public ResourceContext(ContainerResource container)    {	this.parent    = container.getContext();	this.container = container.getResourceReference();	this.space     = (parent != null) ? parent.space : null;	this.server    = (parent != null) ? parent.server : null;	if ((this.container == null) && debug) {	    System.out.println("[1] container has no Reference");	    org.w3c.util.Trace.showTrace();	}    }    /**     * Create a ResourceContext from a container ResourceReference.     * @param container The resource reference of the container.      * Must be an instance of ContainerResource.     */    public ResourceContext(ResourceReference rr_container) {	try {	    Resource res = rr_container.lock();	    this.parent    = res.getContext();	    this.container = rr_container;	    this.space     = (parent != null) ? parent.space : null;	    this.server    = (parent != null) ? parent.server : null;	} catch (InvalidResourceException ex) {	    //should be valid	    ex.printStackTrace();	} finally {	    rr_container.unlock();	}    }    /**     * Create a ResourceContext from the parent context.     * @param parent The parent resource context.     */    public ResourceContext(ResourceContext parent)     {	this.parent    = parent;	this.container = parent.getResourceReference();	this.space     = parent.space;	this.server    = parent.server;	if ((this.container == null) && debug) {	    System.out.println("[2] parent context has no reference");	    org.w3c.util.Trace.showTrace();	}    }    /**     * Create a ResourceContext.     * @param space The ResourceSpace.     * @param server The server.     */    public ResourceContext(ResourceSpace space, ServerInterface server)    {	this.server    = server;	this.space     = space;	this.container = null;	this.parent    = null;    }    /**     * Create a ResourceContext.     * @param server The server.     */    public ResourceContext(ServerInterface server)    {	this.server    = server;	this.space     = null;	this.container = null;	this.parent    = null;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -