View Javadoc

1   /**
2    *
3    * Copyright 2003-2004 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
16   */
17  
18  //
19  // This source code implements specifications defined by the Java
20  // Community Process. In order to remain compliant with the specification
21  // DO NOT add / change / or delete method signatures!
22  //
23  
24  package javax.servlet.jsp.tagext;
25  
26  import javax.servlet.jsp.JspException;
27  
28  /**
29   * For a tag to declare that it accepts dynamic attributes, it must implement
30   * this interface.  The entry for the tag in the Tag Library Descriptor must 
31   * also be configured to indicate dynamic attributes are accepted.
32   * <br>
33   * For any attribute that is not declared in the Tag Library Descriptor for
34   * this tag, instead of getting an error at translation time, the 
35   * <code>setDynamicAttribute()</code> method is called, with the name and
36   * value of the attribute.  It is the responsibility of the tag to 
37   * remember the names and values of the dynamic attributes.
38   *
39   * @since 2.0
40   */
41  public interface DynamicAttributes {
42      
43      /**
44       * Called when a tag declared to accept dynamic attributes is passed
45       * an attribute that is not declared in the Tag Library Descriptor.
46       * 
47       * @param uri the namespace of the attribute, or null if in the default
48       *     namespace.
49       * @param localName the name of the attribute being set.
50       * @param value the value of the attribute
51       * @throws JspException if the tag handler wishes to
52       *     signal that it does not accept the given attribute.  The 
53       *     container must not call doStartTag() or doTag() for this tag.
54       */
55      public void setDynamicAttribute(
56          String uri, String localName, Object value ) 
57          throws JspException;
58      
59  }