You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2003/01/11 05:03:49 UTC
cvs commit: jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core ImportTag.java
dion 2003/01/10 20:03:49
Modified: jelly/src/java/org/apache/commons/jelly/tags/core
ImportTag.java
Log:
- Refactor JellyContext.runScript so that the various methods are consistent.
- Add a file option to the core:import tag
Revision Changes Path
1.5 +47 -10 jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ImportTag.java
Index: ImportTag.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ImportTag.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ImportTag.java 11 Dec 2002 12:40:54 -0000 1.4
+++ ImportTag.java 11 Jan 2003 04:03:48 -0000 1.5
@@ -80,23 +80,51 @@
public class ImportTag extends TagSupport {
+ /**
+ * the location of the script being imported, relative to the
+ * current script
+ */
private String uri;
+
+ /**
+ * Whether the imported script has access to the caller's variables
+ */
private boolean inherit;
+
+ /**
+ * The file to be imported. Mutually exclusive with uri.
+ * uri takes precedence.
+ */
+ private String file;
+ /**
+ * Create a new Import tag.
+ * @see java.lang.Object#Object()
+ */
public ImportTag() {
}
// Tag interface
- //-------------------------------------------------------------------------
+ //-------------------------------------------------------------------------
+ /**
+ * Perform tag processing
+ * @param output the destination for output
+ * @throws Exception Any exception can be thrown
+ */
public void doTag(XMLOutput output) throws Exception {
- if (uri == null) {
+ if (uri == null && file == null) {
throw new MissingAttributeException( "uri" );
}
- // we need to create a new JellyContext of the URI
- // take off the script name from the URL
- context.runScript(uri, output, true, isInherit() );
+ if (uri != null) {
+ // we need to create a new JellyContext of the URI
+ // take off the script name from the URL
+ context.runScript(uri, output, true, isInherit() );
+ } else {
+ context.runScript(new java.io.File(file), output, true,
+ isInherit());
+ }
}
// Properties
@@ -121,6 +149,15 @@
*/
public void setUri(String uri) {
this.uri = uri;
+ }
+
+
+ /**
+ * Sets the file for the script to evaluate.
+ * @param file The file to set
+ */
+ public void setFile(String file) {
+ this.file = file;
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>