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

📄 scnurlcontext.java

📁 一个类似于openJMS分布在ObjectWeb之下的JMS消息中间件。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   *		bindings in this context.  Each element of the   *		enumeration is of type NameClassPair.   * @throws	NamingException if a naming exception is encountered   */  public NamingEnumeration list(String name) throws NamingException {    // Retrieve the correct context to resolve the reminding name    ResolveResult r = findContextFor(name);    Context ctx = (Context) r.getResolvedObj();    String rname = r.getRemainingName().toString();    // List the correct Context    return ctx.list(rname);  }  /**   * Enumerates the names bound in the named context, along with the   * objects bound to them.   * The contents of any subcontexts are not included.   *   * If a binding is added to or removed from this context,   * its effect on an enumeration previously returned is undefined.   *   * @param name   *		the name of the context to list   * @return	an enumeration of the bindings in this context.   *		Each element of the enumeration is of type   *		Binding.   * @throws	NamingException if a naming exception is encountered   *   * @see #listBindings(String)   * @see #list(Name)   * @see Binding   */  public NamingEnumeration listBindings(Name name) throws NamingException {    // Just use the string version for now.    return listBindings(name.toString());  }  /**   * Enumerates the names bound in the named context, along with the   * objects bound to them.   * See {@link #listBindings(Name)} for details.   *   * @param name   *		the name of the context to list   * @return	an enumeration of the bindings in this context.   *		Each element of the enumeration is of type   *		Binding.   * @throws	NamingException if a naming exception is encountered   */  public NamingEnumeration listBindings(String name) throws NamingException {    // Retrieve the correct context to resolve the reminding name    ResolveResult r = findContextFor(name);    Context ctx = (Context) r.getResolvedObj();    String rname = r.getRemainingName().toString();    // List the correct Context    return ctx.listBindings(rname);  }  /**   * Destroys the named context and removes it from the namespace.   * Any attributes associated with the name are also removed.   * Intermediate contexts are not destroyed.   *   * This method is idempotent.   * It succeeds even if the terminal atomic name   * is not bound in the target context, but throws   * NameNotFoundException   * if any of the intermediate contexts do not exist.   *   * In a federated naming system, a context from one naming system   * may be bound to a name in another.  One can subsequently   * look up and perform operations on the foreign context using a   * composite name.  However, an attempt destroy the context using   * this composite name will fail with   * NotContextException, because the foreign context is not   * a "subcontext" of the context in which it is bound.   * Instead, use unbind() to remove the   * binding of the foreign context.  Destroying the foreign context   * requires that the destroySubcontext() be performed   * on a context from the foreign context's "native" naming system.   *   * @param name   *		the name of the context to be destroyed; may not be empty   * @throws	NameNotFoundException if an intermediate context does not exist   * @throws	NotContextException if the name is bound but does not name a   *		context, or does not name a context of the appropriate type   * @throws	ContextNotEmptyException if the named context is not empty   * @throws	NamingException if a naming exception is encountered   *   * @see #destroySubcontext(String)   */  public void destroySubcontext(Name name) throws NamingException {    // Just use the string version for now.    destroySubcontext(name.toString());  }  /**   * Destroys the named context and removes it from the namespace.   * See {@link #destroySubcontext(Name)} for details.   *   * @param name   *		the name of the context to be destroyed; may not be empty   * @throws	NameNotFoundException if an intermediate context does not exist   * @throws	NotContextException if the name is bound but does not name a   *		context, or does not name a context of the appropriate type   * @throws	ContextNotEmptyException if the named context is not empty   * @throws	NamingException if a naming exception is encountered   */  public void destroySubcontext(String name) throws NamingException {    throw new OperationNotSupportedException("destroySubcontext not supported in java:comp");  }  /**   * Creates and binds a new context.   * Creates a new context with the given name and binds it in   * the target context (that named by all but terminal atomic   * component of the name).  All intermediate contexts and the   * target context must already exist.   *   * @param name   *		the name of the context to create; may not be empty   * @return	the newly created context   *   * @throws	NameAlreadyBoundException if name is already bound   * @throws	javax.naming.directory.InvalidAttributesException   *		if creation of the subcontext requires specification of   *		mandatory attributes   * @throws	NamingException if a naming exception is encountered   *   * @see #createSubcontext(String)   * @see javax.naming.directory.DirContext#createSubcontext   */  public Context createSubcontext(Name name) throws NamingException {    // Just use the string version for now.    return createSubcontext(name.toString());  }  /**   * Creates and binds a new context.   * See {@link #createSubcontext(Name)} for details.   *   * @param name   *		the name of the context to create; may not be empty   * @return	the newly created context   *   * @throws	NameAlreadyBoundException if name is already bound   * @throws	javax.naming.directory.InvalidAttributesException   *		if creation of the subcontext requires specification of   *		mandatory attributes   * @throws	NamingException if a naming exception is encountered   */  public Context createSubcontext(String name) throws NamingException {    throw new OperationNotSupportedException("createSubcontext not supported in java:comp");  }  /**   * Retrieves the named object, following links except   * for the terminal atomic component of the name.   * If the object bound to name is not a link,   * returns the object itself.   *   * @param name   *		the name of the object to look up   * @return	the object bound to name, not following the   *		terminal link (if any).   * @throws	NamingException if a naming exception is encountered   *   * @see #lookupLink(String)   */  public Object lookupLink(Name name) throws NamingException {    // Just use the string version for now.    return lookupLink(name.toString());  }  /**   * Retrieves the named object, following links except   * for the terminal atomic component of the name.   * See {@link #lookupLink(Name)} for details.   *   * @param name   *		the name of the object to look up   * @return	the object bound to name, not following the   *		terminal link (if any)   * @throws	NamingException if a naming exception is encountered   */  public Object lookupLink(String name) throws NamingException {    // Name empty: returns a new instance of this context.    if (name.equals("")) {      return new scnURLContext(myEnv);    }    // Retrieve the correct context to resolve the reminding name    ResolveResult r = findContextFor(name);    Context ctx = (Context) r.getResolvedObj();    String rname = r.getRemainingName().toString();    // Resolve the name in its proper context    return ctx.lookupLink(rname);  }  /**   * Retrieves the parser associated with the named context.   * In a federation of namespaces, different naming systems will   * parse names differently.  This method allows an application   * to get a parser for parsing names into their atomic components   * using the naming convention of a particular naming system.   * Within any single naming system, NameParser objects   * returned by this method must be equal (using the equals()   * test).   *   * @param name   *		the name of the context from which to get the parser   * @return	a name parser that can parse compound names into their atomic   *		components   * @throws	NamingException if a naming exception is encountered   *   * @see #getNameParser(String)   * @see CompoundName   */  public NameParser getNameParser(Name name) throws NamingException {    return null;  }  /**   * Retrieves the parser associated with the named context.   * See {@link #getNameParser(Name)} for details.   *   * @param name   *		the name of the context from which to get the parser   * @return	a name parser that can parse compound names into their atomic   *		components   * @throws	NamingException if a naming exception is encountered   */  public NameParser getNameParser(String name) throws NamingException {    return null;  }  /**   * Composes the name of this context with a name relative to   * this context.   *   * @param name   *		a name relative to this context   * @param prefix   *		the name of this context relative to one of its ancestors   * @return	the composition of prefix and name   * @throws	NamingException if a naming exception is encountered   *   * @see #composeName(String, String)   */  public Name composeName(Name name, Name prefix) throws NamingException {    throw new OperationNotSupportedException("scnURLContext: composeName not supported");  }  /**   * Composes the name of this context with a name relative to   * this context: Not supported.   *   * @param name   *		a name relative to this context   * @param prefix   *		the name of this context relative to one of its ancestors   * @return	the composition of prefix and name   * @throws	NamingException if a naming exception is encountered   */  public String composeName(String name, String prefix) throws NamingException {    throw new OperationNotSupportedException("composeName not supported in java:comp");  }  /**   * Adds a new environment property to the environment of this   * context.  If the property already exists, its value is overwritten.   * See class description for more details on environment properties.   *   * @param propName   *		the name of the environment property to add; may not be null   * @param propVal   *		the value of the property to add; may not be null   * @return	the previous value of the property, or null if the property was   *		not in the environment before   * @throws	NamingException if a naming exception is encountered   *   * @see #getEnvironment()   * @see #removeFromEnvironment(String)   */  public Object addToEnvironment(String propName, Object propVal) throws NamingException {    if (myEnv == null) {      myEnv = new Hashtable();    }     return myEnv.put(propName, propVal);  }  /**   * Removes an environment property from the environment of this   * context.  See class description for more details on environment   * properties.   *   * @param propName   *		the name of the environment property to remove; may not be null   * @return	the previous value of the property, or null if the property was   *		not in the environment   * @throws	NamingException if a naming exception is encountered   *   * @see #getEnvironment()   * @see #addToEnvironment(String, Object)   */  public Object removeFromEnvironment(String propName) throws NamingException {    if (myEnv == null) {      return null;    }    return myEnv.remove(propName);  }  /**   * Retrieves the environment in effect for this context.   * See class description for more details on environment properties.   *   * The caller should not make any changes to the object returned:   * their effect on the context is undefined.   * The environment of this context may be changed using   * addToEnvironment() and removeFromEnvironment().   *   * @return	the environment of this context; never null   * @throws	NamingException if a naming exception is encountered   *   * @see #addToEnvironment(String, Object)   * @see #removeFromEnvironment(String)   */  public Hashtable getEnvironment() throws NamingException {    if (myEnv == null) {      myEnv = new Hashtable();    }     return myEnv;  }  /**   * Closes this context.   * This method releases this context's resources immediately, instead of   * waiting for them to be released automatically by the garbage collector.   *   * This method is idempotent:  invoking it on a context that has   * already been closed has no effect.  Invoking any other method   * on a closed context is not allowed, and results in undefined behaviour.   *   * @throws	NamingException if a naming exception is encountered   */  public void close() throws NamingException {    myEnv = null;  }  /**   * Retrieves the full name of this context within its own namespace.   * Not implemented.   *   * @return	this context's name in its own namespace; never null   * @throws	OperationNotSupportedException if the naming system does   *		not have the notion of a full name   * @throws	NamingException if a naming exception is encountered   */  public String getNameInNamespace() throws NamingException {    throw new OperationNotSupportedException("getNameInNamespace not implemented in java:comp");  }}

⌨️ 快捷键说明

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