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 /**
27 * Variable information for a tag in a Tag Library;
28 * This class is instantiated from the Tag Library Descriptor file (TLD)
29 * and is available only at translation time.
30 *
31 * This object should be immutable.
32 *
33 * This information is only available in JSP 1.2 format TLDs or above.
34 */
35
36 public class TagVariableInfo {
37
38 /**
39 * Constructor for TagVariableInfo.
40 *
41 * @param nameGiven value of <name-given>
42 * @param nameFromAttribute value of <name-from-attribute>
43 * @param className value of <variable-class>
44 * @param declare value of <declare>
45 * @param scope value of <scope>
46 */
47 public TagVariableInfo(
48 String nameGiven,
49 String nameFromAttribute,
50 String className,
51 boolean declare,
52 int scope) {
53 this.nameGiven = nameGiven;
54 this.nameFromAttribute = nameFromAttribute;
55 this.className = className;
56 this.declare = declare;
57 this.scope = scope;
58 }
59
60 /**
61 * The body of the <name-given> element.
62 *
63 * @return The variable name as a constant
64 */
65
66 public String getNameGiven() {
67 return nameGiven;
68 }
69
70 /**
71 * The body of the <name-from-attribute> element.
72 * This is the name of an attribute whose (translation-time)
73 * value will give the name of the variable. One of
74 * <name-given> or <name-from-attribute> is required.
75 *
76 * @return The attribute whose value defines the variable name
77 */
78
79 public String getNameFromAttribute() {
80 return nameFromAttribute;
81 }
82
83 /**
84 * The body of the <variable-class> element.
85 *
86 * @return The name of the class of the variable or
87 * 'java.lang.String' if not defined in the TLD.
88 */
89
90 public String getClassName() {
91 return className;
92 }
93
94 /**
95 * The body of the <declare> element.
96 *
97 * @return Whether the variable is to be declared or not.
98 * If not defined in the TLD, 'true' will be returned.
99 */
100
101 public boolean getDeclare() {
102 return declare;
103 }
104
105 /**
106 * The body of the <scope> element.
107 *
108 * @return The scope to give the variable. NESTED
109 * scope will be returned if not defined in
110 * the TLD.
111 */
112
113 public int getScope() {
114 return scope;
115 }
116
117
118 /*
119 * private fields
120 */
121 private String nameGiven; // <name-given>
122 private String nameFromAttribute; // <name-from-attribute>
123 private String className; // <class>
124 private boolean declare; // <declare>
125 private int scope; // <scope>
126 }