railo.transformer.cfml.script
Class CFMLScriptTransformer

java.lang.Object
  extended by railo.transformer.cfml.expression.CFMLExprTransformer
      extended by railo.transformer.cfml.script.CFMLScriptTransformer
All Implemented Interfaces:
ExprTransformer, TagDependentBodyTransformer

public final class CFMLScriptTransformer
extends CFMLExprTransformer
implements TagDependentBodyTransformer

Innerhalb des Tag script kann in Cold Fusion eine eigene Scriptsprache verwendet werden, welche sich an Javascript orientiert. Da der data.cfml Transformer keine Spezialf�lle zul�sst, also Tags einfach anhand der eingegeben TLD einliest und transformiert, aus diesem Grund wird der Inhalt des Tag script einfach als Zeichenkette eingelesen. Erst durch den Evaluator (siehe 3.3), der f�r das Tag script definiert ist, wird der Inhalt des Tag script �bersetzt.


Nested Class Summary
static class CFMLScriptTransformer.ComponentTemplateException
           
static interface CFMLScriptTransformer.EndCondition
           
 
Nested classes/interfaces inherited from class railo.transformer.cfml.expression.CFMLExprTransformer
CFMLExprTransformer.Data
 
Field Summary
 
Fields inherited from class railo.transformer.cfml.expression.CFMLExprTransformer
CTX_BLOCK, CTX_CATCH, CTX_CFC, CTX_DO_WHILE, CTX_ELSE, CTX_ELSE_IF, CTX_FINALLY, CTX_FOR, CTX_FUNCTION, CTX_IF, CTX_INTERFACE, CTX_LOCK, CTX_LOOP, CTX_NONE, CTX_OTHER, CTX_QUERY, CTX_SAVECONTENT, CTX_SWITCH, CTX_THREAD, CTX_TRANSACTION, CTX_TRY, CTX_WHILE, CTX_ZIP
 
Constructor Summary
CFMLScriptTransformer()
           
 
Method Summary
 Tag __multiAttrStatement(Body parent, CFMLExprTransformer.Data data, TagLibTag tlt)
           
 Statement _multiAttrStatement(Body parent, CFMLExprTransformer.Data data, TagLibTag tlt)
           
 Attribute[] attributes(Tag tag, TagLibTag tlt, CFMLExprTransformer.Data data, CFMLScriptTransformer.EndCondition endCond, Expression defaultValue, Object oAllowExpression, String ignoreAttrReqFor, boolean allowTwiceAttr)
           
 boolean caseStatement(CFMLExprTransformer.Data data, Switch swit)
          Liest ein Case Statement ein
 ExprBoolean condition(CFMLExprTransformer.Data data)
          Ruft die Methode expression der zu vererbenten Klasse auf und pr�ft ob der R�ckgabewert einen boolschen Wert repr�sentiert und castet den Wert allenfalls.
 boolean defaultStatement(CFMLExprTransformer.Data data, Switch swit)
          Liest ein default Statement ein
 DoWhile doStatement(CFMLExprTransformer.Data data)
          Liest ein do Statement ein.
 Expression expression(CFMLExprTransformer.Data data)
          Startpunkt zum transfomieren einer Expression, ohne dass das Objekt neu initialisiert wird, dient vererbten Objekten als Einstiegspunkt.
 ExpressionStatement expressionStatement(CFMLExprTransformer.Data data)
          List mithilfe des data.cfmlExprTransformer einen Ausruck ein.
 Statement forStatement(CFMLExprTransformer.Data data)
          Liest ein for Statement ein.
 Function funcStatement(CFMLExprTransformer.Data data, Body parent)
          Liest ein function Statement ein.
 boolean isFinish(CFMLExprTransformer.Data data)
          Pr�ft ob sich der Zeiger am Ende eines Script Blockes befindet
 Statement paramStatement(CFMLExprTransformer.Data data, Body parent)
           
 Statement propertyStatement(CFMLExprTransformer.Data data, Body parent)
           
 void switchBlock(CFMLExprTransformer.Data data, Body body)
          Liest ein Switch Block ein
 Switch switchStatement(CFMLExprTransformer.Data data)
          Liest ein switch Statment ein
 void transform(Config config, CFMLTransformer parentTransformer, EvaluatorPool ep, FunctionLib[] fld, Tag tag, TagLibTag libTag, CFMLString cfml)
          Einstiegsmethode f�r den CFScript Transformer, die Methode erbt sich von der Transform Methode der data.cfmlExprTransformer Klasse.
 Expression transform(FunctionLib[] fld, CFMLString cfml)
           
 Expression transformAsString(FunctionLib[] fld, CFMLString cfml, boolean allowLowerThan)
           
 TryCatchFinally tryStatement(CFMLExprTransformer.Data data)
          Liest eine try Block ein
EBNF:
;
 While whileStatement(CFMLExprTransformer.Data data)
          Liest ein while Statement ein.
 
Methods inherited from class railo.transformer.cfml.expression.CFMLExprTransformer
addFunctionDoc, transform, transformAsString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CFMLScriptTransformer

public CFMLScriptTransformer()
Method Detail

transform

public void transform(Config config,
                      CFMLTransformer parentTransformer,
                      EvaluatorPool ep,
                      FunctionLib[] fld,
                      Tag tag,
                      TagLibTag libTag,
                      CFMLString cfml)
               throws TemplateException
Einstiegsmethode f�r den CFScript Transformer, die Methode erbt sich von der Transform Methode der data.cfmlExprTransformer Klasse. Der einzige Unterschied liegt darin, das der data.cfmlString der eingegeben wird als vererbte Klasse CFScriptString vorliegen muss. Der Parameter ist als data.cfmlString definiert, so dass er die transform Methode �berschreibt.

Specified by:
transform in interface TagDependentBodyTransformer
Parameters:
fld - Array von Function Libraries, Mithilfe dieser Function Libraries kann der Transfomer buil-in Funktionen innerhalb des data.cfml Codes erkennen und validieren.
EBNF:
statements;
cfxdTag - XML Document des aktuellen zu erstellenden CFXD
libTag - Definition des aktuellen Tag.
data.cfml - data.cfml Code
parentTransformer -
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

transform

public Expression transform(FunctionLib[] fld,
                            CFMLString cfml)
                     throws TemplateException
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException
See Also:
railo.transformer.data.cfml.expression.data.cfmlExprTransformer#transform(railo.transformer.library.function.FunctionLib[], org.w3c.dom.Document, railo.transformer.util.data.cfmlString)

transformAsString

public Expression transformAsString(FunctionLib[] fld,
                                    CFMLString cfml,
                                    boolean allowLowerThan)
                             throws TemplateException
Throws:
TemplateException
See Also:
railo.transformer.data.cfml.expression.data.cfmlExprTransformer#transformAsString(railo.transformer.library.function.FunctionLib[], org.w3c.dom.Document, railo.transformer.util.data.cfmlString)

whileStatement

public While whileStatement(CFMLExprTransformer.Data data)
                     throws TemplateException
Liest ein while Statement ein.
EBNF:
spaces condition spaces ")" spaces block;

Returns:
while Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

switchStatement

public Switch switchStatement(CFMLExprTransformer.Data data)
                       throws TemplateException
Liest ein switch Statment ein

Returns:
switch Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

caseStatement

public boolean caseStatement(CFMLExprTransformer.Data data,
                             Switch swit)
                      throws TemplateException
Liest ein Case Statement ein

Returns:
case Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

defaultStatement

public boolean defaultStatement(CFMLExprTransformer.Data data,
                                Switch swit)
                         throws TemplateException
Liest ein default Statement ein

Returns:
default Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

switchBlock

public void switchBlock(CFMLExprTransformer.Data data,
                        Body body)
                 throws TemplateException
Liest ein Switch Block ein

Parameters:
block -
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

doStatement

public DoWhile doStatement(CFMLExprTransformer.Data data)
                    throws TemplateException
Liest ein do Statement ein.
EBNF:
block spaces "while" spaces "(" spaces condition spaces ")";

Returns:
do Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

forStatement

public Statement forStatement(CFMLExprTransformer.Data data)
                       throws TemplateException
Liest ein for Statement ein.
EBNF:
expression spaces ";" spaces condition spaces ";" spaces expression spaces ")" spaces block;

Returns:
for Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

funcStatement

public Function funcStatement(CFMLExprTransformer.Data data,
                              Body parent)
                       throws TemplateException
Liest ein function Statement ein.
EBNF:
identifier spaces "(" spaces identifier spaces {"," spaces identifier spaces} ")" spaces block;

Returns:
function Statement
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

_multiAttrStatement

public Statement _multiAttrStatement(Body parent,
                                     CFMLExprTransformer.Data data,
                                     TagLibTag tlt)
                              throws TemplateException
Throws:
TemplateException

__multiAttrStatement

public Tag __multiAttrStatement(Body parent,
                                CFMLExprTransformer.Data data,
                                TagLibTag tlt)
                         throws TemplateException
Throws:
TemplateException

propertyStatement

public Statement propertyStatement(CFMLExprTransformer.Data data,
                                   Body parent)
                            throws TemplateException
Throws:
TemplateException

paramStatement

public Statement paramStatement(CFMLExprTransformer.Data data,
                                Body parent)
                         throws TemplateException
Throws:
TemplateException

expressionStatement

public ExpressionStatement expressionStatement(CFMLExprTransformer.Data data)
                                        throws TemplateException
List mithilfe des data.cfmlExprTransformer einen Ausruck ein.
EBNF:
expression ";";

Returns:
Ausdruck
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

expression

public Expression expression(CFMLExprTransformer.Data data)
                      throws TemplateException
Description copied from class: CFMLExprTransformer
Startpunkt zum transfomieren einer Expression, ohne dass das Objekt neu initialisiert wird, dient vererbten Objekten als Einstiegspunkt.

Returns:
Element
Throws:
TemplateException
See Also:
railo.transformer.data.cfml.expression.data.cfmlExprTransformer#expression()

condition

public ExprBoolean condition(CFMLExprTransformer.Data data)
                      throws TemplateException
Ruft die Methode expression der zu vererbenten Klasse auf und pr�ft ob der R�ckgabewert einen boolschen Wert repr�sentiert und castet den Wert allenfalls.
EBNF:
TemplateException::expression;

Returns:
condition
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

tryStatement

public TryCatchFinally tryStatement(CFMLExprTransformer.Data data)
                             throws TemplateException
Liest eine try Block ein
EBNF:
;

Returns:
Try Block
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

isFinish

public boolean isFinish(CFMLExprTransformer.Data data)
                 throws TemplateException
Pr�ft ob sich der Zeiger am Ende eines Script Blockes befindet

Returns:
Ende ScriptBlock?
Throws:
CFMLScriptTransformer.ComponentTemplateException
TemplateException

attributes

public Attribute[] attributes(Tag tag,
                              TagLibTag tlt,
                              CFMLExprTransformer.Data data,
                              CFMLScriptTransformer.EndCondition endCond,
                              Expression defaultValue,
                              Object oAllowExpression,
                              String ignoreAttrReqFor,
                              boolean allowTwiceAttr)
                       throws TemplateException
Throws:
TemplateException


Copyright © 2012 Railo