org.apache.commons.jelly.impl
Class Embedded

java.lang.Object
  extended by org.apache.commons.jelly.impl.Embedded

public class Embedded
extends java.lang.Object

Author:
Vinay Chandran

Embedded provides easy means to embed JellyEngine
and use Jelly scripts within an application

A typical usage:

Embedded embedded = new Embedded();
embedded.setOutputStream(new ByteArrayOutputStream());
embedded.setVariable("some-var","some-object");
.....
embedded.setScript(scriptAsString);
//or one can do.
//embedded.setScript(scriptAsInputStream);

boolean bStatus=embedded.execute();
if(!bStatus) //if error
{
String errorMsg=embedded.getErrorMsg();
}

, Vinay Chandran

Field Summary
private static org.apache.commons.logging.Log log
          The Log to which logging calls will be made.
private  JellyContext m_context
          JellyContext
private  java.lang.String m_errorMsg
          ErrorMsg
private  java.io.InputStream m_inputStream
          Input script as stream
(package private)  Jelly m_jellyEngine
          Jelly Engine
private  XMLOutput m_output
          Output(default System.out)
private  java.io.OutputStream m_outputStream
          Output Stream
private  Script m_script
          Compiled Script Object
(package private)  java.lang.Exception m_scriptCompilationException
          Exception thrown during compilation of script
(package private)  boolean m_scriptCompiled
          boolean value indicating whether the script has been successfully compiled or NOT
 
Constructor Summary
Embedded()
          Default Constructor
 
Method Summary
private  void compileScriptAndKeep()
          Compile the script
 boolean execute()
          Execute the jelly script and capture the errors (ifany)within.
 JellyContext getContext()
          Method getContext.
 java.lang.String getErrorMsg()
          Returns the errorMsg.
 void registerTagLibrary(java.lang.String namespaceURI, java.lang.String className)
          Registers the given tag library class name against the given namespace URI.
 void registerTagLibrary(java.lang.String namespaceURI, TagLibrary taglib)
          Registers the given tag library against the given namespace URI.
private  java.net.URL resolveURL(java.lang.String name)
           
 void setContext(JellyContext context)
          Method setContext.
private  void setErrorMsg(java.lang.String errorMsg)
          Sets the errorMsg.
 void setOutputStream(java.io.OutputStream outputStream)
          Method setOutputStream.
 void setScript(java.io.InputStream scriptAsInputStream)
          Set the input stream
 void setScript(java.lang.String scriptAsString)
          Set the input script
 void setVariable(java.lang.String name, java.lang.Object value)
          Set a new variable within the context for the script to use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_jellyEngine

Jelly m_jellyEngine
Jelly Engine


m_context

private JellyContext m_context
JellyContext


m_script

private Script m_script
Compiled Script Object


m_inputStream

private java.io.InputStream m_inputStream
Input script as stream


m_outputStream

private java.io.OutputStream m_outputStream
Output Stream


m_output

private XMLOutput m_output
Output(default System.out)


m_scriptCompilationException

java.lang.Exception m_scriptCompilationException
Exception thrown during compilation of script


m_scriptCompiled

boolean m_scriptCompiled
boolean value indicating whether the script has been successfully compiled or NOT


m_errorMsg

private java.lang.String m_errorMsg
ErrorMsg


log

private static final org.apache.commons.logging.Log log
The Log to which logging calls will be made.

Constructor Detail

Embedded

public Embedded()
Default Constructor

Method Detail

setContext

public void setContext(JellyContext context)
Method setContext.

Parameters:
context -

getContext

public JellyContext getContext()
Method getContext.

Returns:
JellyContext

setVariable

public void setVariable(java.lang.String name,
                        java.lang.Object value)
Set a new variable within the context for the script to use.

Parameters:
name -
value -

setScript

public void setScript(java.lang.String scriptAsString)
Set the input script

Parameters:
scriptAsString -

resolveURL

private java.net.URL resolveURL(java.lang.String name)
                         throws java.net.MalformedURLException
Returns:
the URL for the relative file name or absolute URL
Throws:
java.net.MalformedURLException

setScript

public void setScript(java.io.InputStream scriptAsInputStream)
Set the input stream

Parameters:
scriptAsInputStream -

compileScriptAndKeep

private void compileScriptAndKeep()
Compile the script


setOutputStream

public void setOutputStream(java.io.OutputStream outputStream)
Method setOutputStream.

Parameters:
outputStream -

registerTagLibrary

public void registerTagLibrary(java.lang.String namespaceURI,
                               java.lang.String className)
Registers the given tag library class name against the given namespace URI. The class will be loaded via the given ClassLoader This should be called before the parser is used.


registerTagLibrary

public void registerTagLibrary(java.lang.String namespaceURI,
                               TagLibrary taglib)
Registers the given tag library against the given namespace URI. This should be called before the parser is used.


getErrorMsg

public java.lang.String getErrorMsg()
Returns the errorMsg.

Returns:
String

setErrorMsg

private void setErrorMsg(java.lang.String errorMsg)
Sets the errorMsg.

Parameters:
errorMsg - The errorMsg to set

execute

public boolean execute()
Execute the jelly script and capture the errors (ifany)within.

Throws:
JellyException