You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2002/04/25 21:25:08 UTC
cvs commit: jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/define DynamicTagLibrary.java
jstrachan 02/04/25 12:25:08
Modified: jelly/src/java/org/apache/commons/jelly TagLibrary.java
jelly/src/java/org/apache/commons/jelly/impl TagScript.java
jelly/src/java/org/apache/commons/jelly/parser
XMLParser.java
jelly/src/java/org/apache/commons/jelly/tags/define
DynamicTagLibrary.java
Added: jelly/src/java/org/apache/commons/jelly/impl
BeanTagScript.java DynaTagScript.java
Log:
DynaTags are now supported properly. This means that template tags can now use their attributes via EL expressions. Just need to get the invokeBody tag working and dynamic/template tags are looking good
Revision Changes Path
1.4 +6 -6 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/TagLibrary.java
Index: TagLibrary.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/TagLibrary.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TagLibrary.java 24 Apr 2002 11:59:12 -0000 1.3
+++ TagLibrary.java 25 Apr 2002 19:25:08 -0000 1.4
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/TagLibrary.java,v 1.3 2002/04/24 11:59:12 jstrachan Exp $
- * $Revision: 1.3 $
- * $Date: 2002/04/24 11:59:12 $
+ * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/TagLibrary.java,v 1.4 2002/04/25 19:25:08 jstrachan Exp $
+ * $Revision: 1.4 $
+ * $Date: 2002/04/25 19:25:08 $
*
* ====================================================================
*
@@ -57,7 +57,7 @@
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
- * $Id: TagLibrary.java,v 1.3 2002/04/24 11:59:12 jstrachan Exp $
+ * $Id: TagLibrary.java,v 1.4 2002/04/25 19:25:08 jstrachan Exp $
*/
package org.apache.commons.jelly;
@@ -73,7 +73,7 @@
/** <p><code>Taglib</code> represents the metadata for a Jelly custom tag library.</p>
*
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public abstract class TagLibrary {
@@ -86,7 +86,7 @@
public TagScript createTagScript(String name, Attributes attributes) throws Exception {
Class type = (Class) tags.get( name );
Tag tag = (Tag) type.newInstance();
- return new TagScript( tag );
+ return TagScript.newInstance( tag );
}
/** Allows taglibs to use their own expression evaluation mechanism */
1.7 +27 -104 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/TagScript.java
Index: TagScript.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/TagScript.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- TagScript.java 24 Apr 2002 11:59:12 -0000 1.6
+++ TagScript.java 25 Apr 2002 19:25:08 -0000 1.7
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/TagScript.java,v 1.6 2002/04/24 11:59:12 jstrachan Exp $
- * $Revision: 1.6 $
- * $Date: 2002/04/24 11:59:12 $
+ * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/TagScript.java,v 1.7 2002/04/25 19:25:08 jstrachan Exp $
+ * $Revision: 1.7 $
+ * $Date: 2002/04/25 19:25:08 $
*
* ====================================================================
*
@@ -57,7 +57,7 @@
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
- * $Id: TagScript.java,v 1.6 2002/04/24 11:59:12 jstrachan Exp $
+ * $Id: TagScript.java,v 1.7 2002/04/25 19:25:08 jstrachan Exp $
*/
package org.apache.commons.jelly.impl;
@@ -76,6 +76,7 @@
import org.apache.commons.jelly.CompilableTag;
import org.apache.commons.jelly.Context;
+import org.apache.commons.jelly.DynaTag;
import org.apache.commons.jelly.Script;
import org.apache.commons.jelly.Tag;
import org.apache.commons.jelly.XMLOutput;
@@ -84,30 +85,23 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-/** <p><code>TagScript</code> evaluates a custom tag.</p>
- *
- * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
- * @version $Revision: 1.6 $
- */
-public class TagScript implements Script {
+/**
+ * <p><code>TagScript</code> abstract base class for a
+ * script that evaluates a custom tag.</p>
+ *
+ * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
+ * @version $Revision: 1.7 $
+ */
+public abstract class TagScript implements Script {
/** The Log to which logging calls will be made. */
private static final Log log = LogFactory.getLog( TagScript.class );
/** the tag to be evaluated */
- private Tag tag;
+ protected Tag tag;
/** The attribute expressions that are created */
- private Map attributes = new HashMap();
-
- /** Expressions for each attribute */
- private Expression[] expressions = {};
-
- /** Write Methods for each attribute */
- private Method[] methods = {};
-
- /** Types of each attribute */
- private Class[] types = {};
+ protected Map attributes = new HashMap();
public TagScript() {
}
@@ -120,6 +114,17 @@
return super.toString() + "[tag=" + tag + "]";
}
+ /**
+ * @return a new TagScript based on whether
+ * the tag is a bean tag or DynaTag
+ */
+ public static TagScript newInstance(Tag tag) {
+ if ( tag instanceof DynaTag ) {
+ return new DynaTagScript( (DynaTag) tag );
+ }
+ return new BeanTagScript( tag );
+ }
+
/** Add an initialization attribute for the tag.
* This method must be called after the setTag() method
*/
@@ -130,89 +135,6 @@
attributes.put( name, expression );
}
- // Script interface
- //-------------------------------------------------------------------------
-
- /** Compiles the script to a more efficient form.
- * Will only be called once by the parser
- */
- public Script compile() throws Exception {
- if ( tag instanceof CompilableTag ) {
- ((CompilableTag) tag).compile();
- }
- List typeList = new ArrayList();
- List methodList = new ArrayList();
- List expressionList = new ArrayList();
-
- BeanInfo info = Introspector.getBeanInfo( tag.getClass() );
- PropertyDescriptor[] descriptors = info.getPropertyDescriptors();
-
- if ( descriptors != null ) {
- for ( int i = 0, size = descriptors.length; i < size; i++ ) {
- PropertyDescriptor descriptor = descriptors[i];
- String name = descriptor.getName();
- Expression expression = (Expression) attributes.get( name );
- if ( expression != null ) {
- Method writeMethod = descriptor.getWriteMethod();
- if ( writeMethod != null) {
- Class type = descriptor.getPropertyType();
- expressionList.add( expression );
- methodList.add( writeMethod );
- typeList.add( type );
-
- if ( log.isDebugEnabled() ) {
- log.debug( "Adding tag property name: " + name + " type: " + type.getName() + " expression: " + expression );
- }
- }
- }
- }
- }
-
- // now create the arrays to avoid object allocation & casting when
- // running the script
- int size = expressionList.size();
- expressions = new Expression[ size ];
- methods = new Method[ size ];
- types = new Class[ size ];
- expressionList.toArray( expressions );
- methodList.toArray( methods );
- typeList.toArray( types );
-
- // compile body
- tag.setBody( tag.getBody().compile() );
- return this;
- }
-
- /** Evaluates the body of a tag */
- public void run(Context context, XMLOutput output) throws Exception {
- // initialize all the properties of the tag before its used
- // if there is a problem abort this tag
- for ( int i = 0, size = expressions.length; i < size; i++ ) {
- Expression expression = expressions[i];
- Method method = methods[i];
- Class type = types[i];
-
- // some types are Expression objects so let the tag
- // evaluate them
- Object value = null;
- if ( type.isAssignableFrom( Expression.class ) ) {
- value = expression;
- }
- else {
- value = expression.evaluate( context );
- }
-
- // convert value to correct type
- if ( value != null ) {
- value = convertType( value, type );
- }
-
- Object[] arguments = { value };
- method.invoke( tag, arguments );
- }
- tag.run( context, output );
- }
-
// Properties
//-------------------------------------------------------------------------
@@ -228,6 +150,7 @@
// Implementation methods
//-------------------------------------------------------------------------
+
/** Converts the given value to the required type.
*
* @param value is the value to be converted. This will not be null
1.1 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/BeanTagScript.java
Index: BeanTagScript.java
===================================================================
/*
* $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/BeanTagScript.java,v 1.1 2002/04/25 19:25:08 jstrachan Exp $
* $Revision: 1.1 $
* $Date: 2002/04/25 19:25:08 $
*
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: BeanTagScript.java,v 1.1 2002/04/25 19:25:08 jstrachan Exp $
*/
package org.apache.commons.jelly.impl;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.jelly.CompilableTag;
import org.apache.commons.jelly.Context;
import org.apache.commons.jelly.Script;
import org.apache.commons.jelly.Tag;
import org.apache.commons.jelly.XMLOutput;
import org.apache.commons.jelly.expression.Expression;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/** <p><code>TagScript</code> evaluates a custom tag.</p>
*
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
* @version $Revision: 1.1 $
*/
public class BeanTagScript extends TagScript {
/** The Log to which logging calls will be made. */
private static final Log log = LogFactory.getLog( TagScript.class );
/** Expressions for each attribute */
private Expression[] expressions = {};
/** Write Methods for each attribute */
private Method[] methods = {};
/** Types of each attribute */
private Class[] types = {};
public BeanTagScript() {
}
public BeanTagScript(Tag tag) {
super( tag );
}
// Script interface
//-------------------------------------------------------------------------
/** Compiles the script to a more efficient form.
* Will only be called once by the parser
*/
public Script compile() throws Exception {
if ( tag instanceof CompilableTag ) {
((CompilableTag) tag).compile();
}
List typeList = new ArrayList();
List methodList = new ArrayList();
List expressionList = new ArrayList();
BeanInfo info = Introspector.getBeanInfo( tag.getClass() );
PropertyDescriptor[] descriptors = info.getPropertyDescriptors();
if ( descriptors != null ) {
for ( int i = 0, size = descriptors.length; i < size; i++ ) {
PropertyDescriptor descriptor = descriptors[i];
String name = descriptor.getName();
Expression expression = (Expression) attributes.get( name );
if ( expression != null ) {
Method writeMethod = descriptor.getWriteMethod();
if ( writeMethod != null) {
Class type = descriptor.getPropertyType();
expressionList.add( expression );
methodList.add( writeMethod );
typeList.add( type );
if ( log.isDebugEnabled() ) {
log.debug( "Adding tag property name: " + name + " type: " + type.getName() + " expression: " + expression );
}
}
}
}
}
// now create the arrays to avoid object allocation & casting when
// running the script
int size = expressionList.size();
expressions = new Expression[ size ];
methods = new Method[ size ];
types = new Class[ size ];
expressionList.toArray( expressions );
methodList.toArray( methods );
typeList.toArray( types );
// compile body
tag.setBody( tag.getBody().compile() );
return this;
}
/** Evaluates the body of a tag */
public void run(Context context, XMLOutput output) throws Exception {
// initialize all the properties of the tag before its used
// if there is a problem abort this tag
for ( int i = 0, size = expressions.length; i < size; i++ ) {
Expression expression = expressions[i];
Method method = methods[i];
Class type = types[i];
// some types are Expression objects so let the tag
// evaluate them
Object value = null;
if ( type.isAssignableFrom( Expression.class ) ) {
value = expression;
}
else {
value = expression.evaluate( context );
}
// convert value to correct type
if ( value != null ) {
value = convertType( value, type );
}
Object[] arguments = { value };
method.invoke( tag, arguments );
}
tag.run( context, output );
}
}
1.1 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/DynaTagScript.java
Index: DynaTagScript.java
===================================================================
/*
* $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/DynaTagScript.java,v 1.1 2002/04/25 19:25:08 jstrachan Exp $
* $Revision: 1.1 $
* $Date: 2002/04/25 19:25:08 $
*
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Commons", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: DynaTagScript.java,v 1.1 2002/04/25 19:25:08 jstrachan Exp $
*/
package org.apache.commons.jelly.impl;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.jelly.CompilableTag;
import org.apache.commons.jelly.Context;
import org.apache.commons.jelly.Script;
import org.apache.commons.jelly.Tag;
import org.apache.commons.jelly.DynaTag;
import org.apache.commons.jelly.XMLOutput;
import org.apache.commons.jelly.expression.Expression;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* <p><code>DynaTagScript</code> is a script evaluates a custom DynaTag.</p>
*
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
* @version $Revision: 1.1 $
*/
public class DynaTagScript extends TagScript {
/** The Log to which logging calls will be made. */
private static final Log log = LogFactory.getLog( DynaTagScript.class );
public DynaTagScript() {
}
public DynaTagScript(DynaTag tag) {
super( tag );
}
// Script interface
//-------------------------------------------------------------------------
/** Compiles the script to a more efficient form.
* Will only be called once by the parser
*/
public Script compile() throws Exception {
if ( tag instanceof CompilableTag ) {
((CompilableTag) tag).compile();
}
// compile body
tag.setBody( tag.getBody().compile() );
return this;
}
/** Evaluates the body of a tag */
public void run(Context context, XMLOutput output) throws Exception {
DynaTag dynaTag = (DynaTag) tag;
// ### probably compiling this to 2 arrays might be quicker and smaller
for ( Iterator iter = attributes.entrySet().iterator(); iter.hasNext(); ) {
Map.Entry entry = (Map.Entry) iter.next();
String name = (String) entry.getKey();
Expression expression = (Expression) entry.getValue();
Object value = expression.evaluate( context );
dynaTag.setAttribute( name, value );
}
tag.run( context, output );
}
}
1.12 +8 -7 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/parser/XMLParser.java
Index: XMLParser.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/parser/XMLParser.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- XMLParser.java 25 Apr 2002 18:58:47 -0000 1.11
+++ XMLParser.java 25 Apr 2002 19:25:08 -0000 1.12
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/parser/XMLParser.java,v 1.11 2002/04/25 18:58:47 jstrachan Exp $
- * $Revision: 1.11 $
- * $Date: 2002/04/25 18:58:47 $
+ * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/parser/XMLParser.java,v 1.12 2002/04/25 19:25:08 jstrachan Exp $
+ * $Revision: 1.12 $
+ * $Date: 2002/04/25 19:25:08 $
*
* ====================================================================
*
@@ -57,7 +57,7 @@
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
- * $Id: XMLParser.java,v 1.11 2002/04/25 18:58:47 jstrachan Exp $
+ * $Id: XMLParser.java,v 1.12 2002/04/25 19:25:08 jstrachan Exp $
*/
package org.apache.commons.jelly.parser;
@@ -89,6 +89,7 @@
import org.apache.commons.jelly.TagLibrary;
import org.apache.commons.jelly.impl.ScriptBlock;
import org.apache.commons.jelly.impl.StaticTag;
+import org.apache.commons.jelly.impl.DynaTagScript;
import org.apache.commons.jelly.impl.TagScript;
import org.apache.commons.jelly.impl.TextScript;
import org.apache.commons.jelly.expression.ConstantExpression;
@@ -117,7 +118,7 @@
* The SAXParser and XMLReader portions of this code come from Digester.</p>
*
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.12 $
*/
public class XMLParser extends DefaultHandler {
@@ -998,9 +999,9 @@
*/
protected TagScript createStaticTag( String namespaceURI, String localName, Attributes list ) throws SAXException {
try {
- Tag tag = new StaticTag( namespaceURI, localName );
+ StaticTag tag = new StaticTag( namespaceURI, localName );
- TagScript script = new TagScript( tag );
+ DynaTagScript script = new DynaTagScript( tag );
// now iterate through through the expressions
int size = list.getLength();
1.2 +7 -6 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/define/DynamicTagLibrary.java
Index: DynamicTagLibrary.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/define/DynamicTagLibrary.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DynamicTagLibrary.java 25 Apr 2002 18:14:09 -0000 1.1
+++ DynamicTagLibrary.java 25 Apr 2002 19:25:08 -0000 1.2
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/define/DynamicTagLibrary.java,v 1.1 2002/04/25 18:14:09 jstrachan Exp $
- * $Revision: 1.1 $
- * $Date: 2002/04/25 18:14:09 $
+ * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/define/DynamicTagLibrary.java,v 1.2 2002/04/25 19:25:08 jstrachan Exp $
+ * $Revision: 1.2 $
+ * $Date: 2002/04/25 19:25:08 $
*
* ====================================================================
*
@@ -57,7 +57,7 @@
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
- * $Id: DynamicTagLibrary.java,v 1.1 2002/04/25 18:14:09 jstrachan Exp $
+ * $Id: DynamicTagLibrary.java,v 1.2 2002/04/25 19:25:08 jstrachan Exp $
*/
package org.apache.commons.jelly.tags.define;
@@ -66,6 +66,7 @@
import org.apache.commons.jelly.Script;
import org.apache.commons.jelly.TagLibrary;
+import org.apache.commons.jelly.impl.DynaTagScript;
import org.apache.commons.jelly.impl.TagScript;
import org.xml.sax.Attributes;
@@ -75,7 +76,7 @@
* gets created by running a Jelly script.</p>
*
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class DynamicTagLibrary extends TagLibrary {
@@ -97,7 +98,7 @@
// XXXX: somehow we should find the template's
// <invokeBody> tag and associate it with this instance
- return new TagScript( tag );
+ return new DynaTagScript( tag );
}
return null;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>