railo.transformer.library.tag
Class TagLibTag

java.lang.Object
  extended by railo.transformer.library.tag.TagLibTag

public final class TagLibTag
extends Object

Die Klasse TagLibTag repaesentiert ein einzelne Tag Definition einer TagLib, beschreibt also alle Informationen die man zum validieren eines Tags braucht.


Field Summary
static int ATTRIBUTE_TYPE_DYNAMIC
           
static int ATTRIBUTE_TYPE_FIXED
           
static int ATTRIBUTE_TYPE_MIXED
           
static int ATTRIBUTE_TYPE_NONAME
           
 
Constructor Summary
TagLibTag(TagLib tagLib)
          Geschuetzer Konstruktor ohne Argumente.
 
Method Summary
 TagLibTag duplicate(boolean cloneAttributes)
           
 TagLibTagAttr getAttribute(String name)
          Gibt ein bestimmtes Attribut anhand seines Namens zurueck, falls dieses Attribut nicht existiert wird null zurueckgegeben.
 Expression getAttributeDefaultValue()
          attribute value set, if the attribute has no value defined
 AttributeEvaluator getAttributeEvaluator()
           
 String getAttributeNames()
           
 Map<String,TagLibTagAttr> getAttributes()
          Gibt alle Attribute (TagLibTagAttr) eines Tag als HashMap zurueck.
 int getAttributeType()
          Gibt den Attributetyp der Klasse zurueck.
 TagDependentBodyTransformer getBodyTransformer()
          Gibt den TagDependentBodyTransformer dieser Klasse zurueck.
 Class getClazz()
           
 TagLibTagAttr getDefaultAttribute()
           
 String getDescription()
           
 Evaluator getEvaluator()
          Gibt den Evaluator (Translation Time Evaluator) dieser Klasse zurueck.
 TagLibTagAttr getFirstAttribute()
          Gibt das erste Attribut, welches innerhalb des Tag definiert wurde, zurueck.
 String getFullName()
          Gibt den kompletten Namen des Tag zurueck, inkl.
 boolean getHasBody()
          Gibt zurueck, ob das Tag einen Body haben kann oder nicht.
 String getHash()
           
 TagLibTagAttr getLastAttribute()
          Gibt das letzte Attribut, welches innerhalb des Tag definiert wurde, zurueck.
 int getMax()
          Gibt die maximale Anzahl Attribute zurueck, die das Tag haben kann.
 int getMin()
          Gibt die minimale Anzahl Attribute zurueck, die das Tag haben muss.
 String getName()
          Gibt den Namen des Tag zurueck.
 boolean getParseBody()
          Gibt zurueck ob das Tag seinen Body parsen soll oder nicht.
 TagLibTagScript getScript()
           
 String getSetter(Attribute attr, org.objectweb.asm.Type type)
           
 TagLibTagAttr getSingleAttr()
           
 short getStatus()
           
 Tag getTag(Position start, Position end)
          return ASM Tag for this tag
 String getTagClassName()
          Gibt die Klassendefinition, welche diesen Tag implementiert, als Zeichenkette zurueck.
 TagLib getTagLib()
          Gibt die TagLib zurueck zu der das Tag gehoert.
 org.objectweb.asm.Type getTagType()
           
 String getTteClassName()
          Gibt die Klassendefinition, der Klasse die den Evaluator (Translation Time Evaluator) implementiert, als Zeichenkette zurueck.
 String getTttClassName()
           
 boolean handleException()
          Gibt zurueck ob Exception durch die implementierte Klasse abgehandelt werden oder nicht
 boolean hasAppendix()
          Gibt zurueck, ob das Tag einen Appendix besitzen kann oder nicht.
 boolean hasAttributeEvaluator()
           
 boolean hasBodyMethodExists()
           
 boolean hasDefaultValue()
           
 boolean hasTdbtClass()
          Gibt zurueck, ob eine Klassendefinition der Klasse die den TagDependentBodyTransformer implementiert existiert.
 boolean hasTteClass()
          Gibt zurueck, ob eine Klassendefinition der Klasse die den Evaluator (Translation Time Evaluator) implementiert existiert.
 boolean isAllowRemovingLiteral()
           
 boolean isBodyFree()
           
 boolean isBodyReq()
          Fragt ab ob der Body eines Tag freiwillig ist oder nicht.
 boolean isTagDependent()
          Fragt ab ob die verarbeitung des Inhaltes eines Tag mit einem eigenen Transformer vorgenommen werden soll.
 void setAllowRemovingLiteral(boolean allowRemovingLiteral)
           
 void setAppendix(boolean hasAppendix)
          Setzt ob das Tag einen Appendix besitzen kann oder nicht.
 void setAttribute(TagLibTagAttr attribute)
          Setzt ein einzelnes Attribut (TagLibTagAttr) eines Tag.
 void setAttributeDefaultValue(String defaultValue)
           
 void setAttributeEvaluatorClassName(String value)
          Setzt den Namen der Klasse welche einen AttributeEvaluator implementiert.
 void setAttributeType(int attributeType)
          Setzt den Attributtyp eines Tag.
 void setBodyContent(String value)
          Setzt die Information, was fuer ein BodyContent das Tag haben kann.
 void setDefaultAttribute(TagLibTagAttr defaultAttribute)
           
 void setDescription(String description)
           
 void setHandleExceptions(boolean handleException)
          sets if tag handle exception inside his body or not
 void setHasDefaultValue(boolean hasDefaultValue)
           
 void setName(String name)
          Setzt den Namen des Tag.
 void setParseBody(boolean parseBody)
          Setzt, ob der Body des Tag geparst werden soll oder nicht.
 void setScript(TagLibTagScript script)
           
 void setStatus(short status)
           
 void setTagClass(String tagClass)
          Setzt die implementierende Klassendefinition des Tag.
 void setTdbtClass(String tdbtClass)
          Setzt die implementierende Klassendefinition des TagDependentBodyTransformer.
 void setTttClass(String tttClass)
          Setzt die implementierende Klassendefinition des Evaluator.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTRIBUTE_TYPE_FIXED

public static final int ATTRIBUTE_TYPE_FIXED
See Also:
Constant Field Values

ATTRIBUTE_TYPE_DYNAMIC

public static final int ATTRIBUTE_TYPE_DYNAMIC
See Also:
Constant Field Values

ATTRIBUTE_TYPE_NONAME

public static final int ATTRIBUTE_TYPE_NONAME
See Also:
Constant Field Values

ATTRIBUTE_TYPE_MIXED

public static final int ATTRIBUTE_TYPE_MIXED
See Also:
Constant Field Values
Constructor Detail

TagLibTag

public TagLibTag(TagLib tagLib)
Geschuetzer Konstruktor ohne Argumente.

Parameters:
tagLib -
Method Detail

duplicate

public TagLibTag duplicate(boolean cloneAttributes)

getAttributes

public Map<String,TagLibTagAttr> getAttributes()
Gibt alle Attribute (TagLibTagAttr) eines Tag als HashMap zurueck.

Returns:
HashMap Attribute als HashMap.

getAttribute

public TagLibTagAttr getAttribute(String name)
Gibt ein bestimmtes Attribut anhand seines Namens zurueck, falls dieses Attribut nicht existiert wird null zurueckgegeben.

Parameters:
name - Name des Attribut das zurueckgegeben werden soll.
Returns:
Attribute das angfragt wurde oder null.

getFirstAttribute

public TagLibTagAttr getFirstAttribute()
Gibt das erste Attribut, welches innerhalb des Tag definiert wurde, zurueck.

Returns:
Attribut das angfragt wurde oder null.

getLastAttribute

public TagLibTagAttr getLastAttribute()
Gibt das letzte Attribut, welches innerhalb des Tag definiert wurde, zurueck.

Returns:
Attribut das angfragt wurde oder null.

getName

public String getName()
Gibt den Namen des Tag zurueck.

Returns:
String Name des Tag.

getFullName

public String getFullName()
Gibt den kompletten Namen des Tag zurueck, inkl. Name-Space und Trenner.

Returns:
String Kompletter Name des Tag.

getTagClassName

public String getTagClassName()
Gibt die Klassendefinition, welche diesen Tag implementiert, als Zeichenkette zurueck. Achtung: Die implementierende Klasse ist keine Java Klasse.

Returns:
String Zeichenkette der Klassendefinition.

getClazz

public Class getClazz()
               throws ClassException
Throws:
ClassException

getTagType

public org.objectweb.asm.Type getTagType()
                                  throws ClassException
Throws:
ClassException

getStatus

public short getStatus()
Returns:
the status (TagLib.,TagLib.STATUS_IMPLEMENTED,TagLib.STATUS_DEPRECATED,TagLib.STATUS_UNIMPLEMENTED)

setStatus

public void setStatus(short status)
Parameters:
status - the status to set (TagLib.,TagLib.STATUS_IMPLEMENTED,TagLib.STATUS_DEPRECATED,TagLib.STATUS_UNIMPLEMENTED)

getTteClassName

public String getTteClassName()
Gibt die Klassendefinition, der Klasse die den Evaluator (Translation Time Evaluator) implementiert, als Zeichenkette zurueck. Falls kein Evaluator definiert ist wird null zurueckgegeben.

Returns:
String Zeichenkette der Klassendefinition.

getTttClassName

public String getTttClassName()

getEvaluator

public Evaluator getEvaluator()
                       throws EvaluatorException
Gibt den Evaluator (Translation Time Evaluator) dieser Klasse zurueck. Falls kein Evaluator definiert ist, wird null zurueckgegeben.

Returns:
Implementation des Evaluator zu dieser Klasse.
Throws:
EvaluatorException - Falls die Evaluator-Klasse nicht geladen werden kann.

getBodyTransformer

public TagDependentBodyTransformer getBodyTransformer()
                                               throws TagLibException
Gibt den TagDependentBodyTransformer dieser Klasse zurueck. Falls kein TagDependentBodyTransformer definiert ist, wird null zurueckgegeben.

Returns:
Implementation des TagDependentBodyTransformer zu dieser Klasse.
Throws:
TagLibException - Falls die TagDependentBodyTransformer-Klasse nicht geladen werden kann.

handleException

public boolean handleException()
Gibt zurueck ob Exception durch die implementierte Klasse abgehandelt werden oder nicht

Returns:
Wird eine Exception abgehandelt?

hasTteClass

public boolean hasTteClass()
Gibt zurueck, ob eine Klassendefinition der Klasse die den Evaluator (Translation Time Evaluator) implementiert existiert.

Returns:
Ob eine Evaluator definiert ist.

hasTdbtClass

public boolean hasTdbtClass()
Gibt zurueck, ob eine Klassendefinition der Klasse die den TagDependentBodyTransformer implementiert existiert.

Returns:
Ob eine Evaluator definiert ist.

getAttributeType

public int getAttributeType()
Gibt den Attributetyp der Klasse zurueck. ( ATTRIBUTE_TYPE_FIX, ATTRIBUTE_TYPE_DYNAMIC, ATTRIBUTE_TYPE_NONAME)

Returns:
int

getHasBody

public boolean getHasBody()
Gibt zurueck, ob das Tag einen Body haben kann oder nicht.

Returns:
Kann das Tag einen Body haben.

getMax

public int getMax()
Gibt die maximale Anzahl Attribute zurueck, die das Tag haben kann.

Returns:
Maximale moegliche Anzahl Attribute.

getMin

public int getMin()
Gibt die minimale Anzahl Attribute zurueck, die das Tag haben muss.

Returns:
Minimal moegliche Anzahl Attribute.

getTagLib

public TagLib getTagLib()
Gibt die TagLib zurueck zu der das Tag gehoert.

Returns:
TagLib Zugehoerige TagLib.

getParseBody

public boolean getParseBody()
Gibt zurueck ob das Tag seinen Body parsen soll oder nicht.

Returns:
Soll der Body geparst werden.

hasAppendix

public boolean hasAppendix()
Gibt zurueck, ob das Tag einen Appendix besitzen kann oder nicht.

Returns:
Kann das Tag einen Appendix besitzen.

isBodyReq

public boolean isBodyReq()
Fragt ab ob der Body eines Tag freiwillig ist oder nicht.

Returns:
is required

isTagDependent

public boolean isTagDependent()
Fragt ab ob die verarbeitung des Inhaltes eines Tag mit einem eigenen Transformer vorgenommen werden soll.

Returns:
Fragt ab ob die verarbeitung des Inhaltes eines Tag mit einem eigenen Transformer vorgenommen werden soll.

setAttribute

public void setAttribute(TagLibTagAttr attribute)
Setzt ein einzelnes Attribut (TagLibTagAttr) eines Tag. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
attribute - Attribute eines Tag.

setAttributeType

public void setAttributeType(int attributeType)
Setzt den Attributtyp eines Tag. ( ATTRIBUTE_TYPE_FIX, ATTRIBUTE_TYPE_DYNAMIC, ATTRIBUTE_TYPE_FULLDYNAMIC, ATTRIBUTE_TYPE_NONAME) Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
attributeType - The attributeType to set

setBodyContent

public void setBodyContent(String value)
Setzt die Information, was fuer ein BodyContent das Tag haben kann. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
value - BodyContent Information.

setName

public void setName(String name)
Setzt den Namen des Tag. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
name - Name des Tag.

setTagClass

public void setTagClass(String tagClass)
Setzt die implementierende Klassendefinition des Tag. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
tagClass - Klassendefinition der Tag-Implementation.

setTttClass

public void setTttClass(String tttClass)
Setzt die implementierende Klassendefinition des Evaluator. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
tteClass - Klassendefinition der Evaluator-Implementation.

setTdbtClass

public void setTdbtClass(String tdbtClass)
Setzt die implementierende Klassendefinition des TagDependentBodyTransformer. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
tdbtClass - Klassendefinition der TagDependentBodyTransformer-Implementation.

setParseBody

public void setParseBody(boolean parseBody)
Setzt, ob der Body des Tag geparst werden soll oder nicht. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
parseBody - Soll der Body geparst werden.

setAppendix

public void setAppendix(boolean hasAppendix)
Setzt ob das Tag einen Appendix besitzen kann oder nicht. Diese Methode wird durch die Klasse TagLibFactory verwendet.

Parameters:
hasAppendix - Kann das Tag einen Appendix besitzen.

getDescription

public String getDescription()
Returns:
Returns the description.

setDescription

public void setDescription(String description)
Parameters:
description - The description to set.

isBodyFree

public boolean isBodyFree()
Returns:
Returns the bodyIsFree.

hasBodyMethodExists

public boolean hasBodyMethodExists()

hasAttributeEvaluator

public boolean hasAttributeEvaluator()
Returns:
Gibt zurueck ob ein Attribut Evaluator definiert ist oder nicht.

getAttributeEvaluator

public AttributeEvaluator getAttributeEvaluator()
                                         throws AttributeEvaluatorException
Returns:
Gibt den AttributeEvaluator zum Tag zurueck
Throws:
AttributeEvaluatorException

setAttributeEvaluatorClassName

public void setAttributeEvaluatorClassName(String value)
Setzt den Namen der Klasse welche einen AttributeEvaluator implementiert.

Parameters:
value - Name der AttributeEvaluator Klassse

setHandleExceptions

public void setHandleExceptions(boolean handleException)
sets if tag handle exception inside his body or not

Parameters:
handleException - handle it or not

hasDefaultValue

public boolean hasDefaultValue()
Returns:

setHasDefaultValue

public void setHasDefaultValue(boolean hasDefaultValue)
Parameters:
hasDefaultValue - The hasDefaultValue to set.

getTag

public Tag getTag(Position start,
                  Position end)
           throws TagLibException
return ASM Tag for this tag

Parameters:
line -
Returns:
Throws:
TagLibException

setAllowRemovingLiteral

public void setAllowRemovingLiteral(boolean allowRemovingLiteral)

isAllowRemovingLiteral

public boolean isAllowRemovingLiteral()
Returns:
the allowRemovingLiteral

getAttributeNames

public String getAttributeNames()

getSetter

public String getSetter(Attribute attr,
                        org.objectweb.asm.Type type)

getHash

public String getHash()

getDefaultAttribute

public TagLibTagAttr getDefaultAttribute()

setDefaultAttribute

public void setDefaultAttribute(TagLibTagAttr defaultAttribute)

setScript

public void setScript(TagLibTagScript script)

getScript

public TagLibTagScript getScript()
Returns:
the script

getSingleAttr

public TagLibTagAttr getSingleAttr()

getAttributeDefaultValue

public Expression getAttributeDefaultValue()
attribute value set, if the attribute has no value defined

Returns:

setAttributeDefaultValue

public void setAttributeDefaultValue(String defaultValue)


Copyright © 2012 Railo