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

📄 tagadapter.java

📁 jetty SERVER連接資料庫用的軟體
💻 JAVA
字号:
/** * * Copyright 2003-2004 The Apache Software Foundation * *  Licensed under the Apache License, Version 2.0 (the "License"); *  you may not use this file except in compliance with the License. *  You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * *  Unless required by applicable law or agreed to in writing, software *  distributed under the License is distributed on an "AS IS" BASIS, *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *  See the License for the specific language governing permissions and *  limitations under the License. *///// This source code implements specifications defined by the Java// Community Process. In order to remain compliant with the specification// DO NOT add / change / or delete method signatures!//package javax.servlet.jsp.tagext;import javax.servlet.jsp.JspException;import javax.servlet.jsp.PageContext;/** * Wraps any SimpleTag and exposes it using a Tag interface.  This is used * to allow collaboration between classic Tag handlers and SimpleTag * handlers. * <p> * Because SimpleTag does not extend Tag, and because Tag.setParent() * only accepts a Tag instance, a classic tag handler (one * that implements Tag) cannot have a SimpleTag as its parent.  To remedy * this, a TagAdapter is created to wrap the SimpleTag parent, and the * adapter is passed to setParent() instead.  A classic Tag EventHandler can * call getAdaptee() to retrieve the encapsulated SimpleTag instance. * * @since 2.0 */public class TagAdapter     implements Tag{    /** The simple tag that's being adapted. */    private SimpleTag simpleTagAdaptee;    /** The parent, of this tag, converted (if necessary) to be of type Tag. */    private Tag parent;    // Flag indicating whether we have already determined the parent    private boolean parentDetermined;    /**     * Creates a new TagAdapter that wraps the given SimpleTag and      * returns the parent tag when getParent() is called.     *     * @param adaptee The SimpleTag being adapted as a Tag.     */    public TagAdapter( SimpleTag adaptee ) {        if( adaptee == null ) {	    // Cannot wrap a null adaptee.	    throw new IllegalArgumentException();        }        this.simpleTagAdaptee = adaptee;    }        /**     * Must not be called.     *     * @param pc ignored.     * @throws UnsupportedOperationException Must not be called     */    public void setPageContext(PageContext pc) {        throw new UnsupportedOperationException(             "Illegal to invoke setPageContext() on TagAdapter wrapper" );    }    /**     * Must not be called.  The parent of this tag is always      * getAdaptee().getParent().     *     * @param parentTag ignored.     * @throws UnsupportedOperationException Must not be called.     */    public void setParent( Tag parentTag ) {        throw new UnsupportedOperationException(             "Illegal to invoke setParent() on TagAdapter wrapper" );    }    /**     * Returns the parent of this tag, which is always     * getAdaptee().getParent().       *     * This will either be the enclosing Tag (if getAdaptee().getParent()     * implements Tag), or an adapter to the enclosing Tag (if      * getAdaptee().getParent() does not implement Tag).     *     * @return The parent of the tag being adapted.     */    public Tag getParent() {	if (!parentDetermined) {	    JspTag adapteeParent = simpleTagAdaptee.getParent();	    if (adapteeParent != null) {		if (adapteeParent instanceof Tag) {		    this.parent = (Tag) adapteeParent;		} else {		    // Must be SimpleTag - no other types defined.		    this.parent = new TagAdapter((SimpleTag) adapteeParent);		}	    }	    parentDetermined = true;	}	return this.parent;    }        /**     * Gets the tag that is being adapted to the Tag interface.     * This should be an instance of SimpleTag in JSP 2.0, but room     * is left for other kinds of tags in future spec versions.     *     * @return the tag that is being adapted     */    public JspTag getAdaptee() {        return this.simpleTagAdaptee;    }    /**     * Must not be called.     *     * @return always throws UnsupportedOperationException     * @throws UnsupportedOperationException Must not be called     * @throws JspException never thrown     */    public int doStartTag() throws JspException {        throw new UnsupportedOperationException(             "Illegal to invoke doStartTag() on TagAdapter wrapper" );    }     /**     * Must not be called.     *     * @return always throws UnsupportedOperationException     * @throws UnsupportedOperationException Must not be called     * @throws JspException never thrown     */    public int doEndTag() throws JspException {        throw new UnsupportedOperationException(             "Illegal to invoke doEndTag() on TagAdapter wrapper" );    }    /**     * Must not be called.     *     * @throws UnsupportedOperationException Must not be called     */    public void release() {        throw new UnsupportedOperationException(             "Illegal to invoke release() on TagAdapter wrapper" );    }}

⌨️ 快捷键说明

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