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 rep�sentiert 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)
          Gesch�tzer Konstruktor ohne Argumente.
 
Method Summary
 TagLibTag duplicate(boolean cloneAttributes)
           
 TagLibTagAttr getAttribute(String name)
          Gibt ein bestimmtes Attribut anhand seines Namens zur�ck, falls dieses Attribut nicht existiert wird null zur�ckgegeben.
 AttributeEvaluator getAttributeEvaluator()
           
 String getAttributeNames()
           
 Map<String,TagLibTagAttr> getAttributes()
          Gibt alle Attribute (TagLibTagAttr) eines Tag als HashMap zur�ck.
 int getAttributeType()
          Gibt den Attributetyp der Klasse zur�ck.
 TagDependentBodyTransformer getBodyTransformer()
          Gibt den TagDependentBodyTransformer dieser Klasse zur�ck.
 Class getClazz()
           
 TagLibTagAttr getDefaultAttribute()
           
 String getDescription()
           
 Evaluator getEvaluator()
          Gibt den Evaluator (Translation Time Evaluator) dieser Klasse zur�ck.
 TagLibTagAttr getFirstAttribute()
          Gibt das erste Attribut, welches innerhalb des Tag definiert wurde, zur�ck.
 String getFullName()
          Gibt den kompletten Namen des Tag zur�ck, inkl.
 boolean getHasBody()
          Gibt zur�ck, ob das Tag einen Body haben kann oder nicht.
 String getHash()
           
 TagLibTagAttr getLastAttribute()
          Gibt das letzte Attribut, welches innerhalb des Tag definiert wurde, zur�ck.
 int getMax()
          Gibt die maximale Anzahl Attribute zur�ck, die das Tag haben kann.
 int getMin()
          Gibt die minimale Anzahl Attribute zur�ck, die das Tag haben muss.
 String getName()
          Gibt den Namen des Tag zur�ck.
 boolean getParseBody()
          Gibt zur�ck ob das Tag seinen Body parsen soll oder nicht.
 TagLibTagScript getScript()
           
 String getSetter(Attribute attr, org.objectweb.asm.Type type)
           
 short getStatus()
           
 Tag getTag(int startline, int endline)
          return ASM Tag for this tag
 String getTagClassName()
          Gibt die Klassendefinition, welche diesen Tag implementiert, als Zeichenkette zur�ck.
 TagLib getTagLib()
          Gibt die TagLib zur�ck zu der das Tag geh�rt.
 org.objectweb.asm.Type getTagType()
           
 String getTteClassName()
          Gibt die Klassendefinition, der Klasse die den Evaluator (Translation Time Evaluator) implementiert, als Zeichenkette zur�ck.
 String getTttClassName()
           
 boolean handleException()
          Gibt zur�ck ob Exception durch die implementierte Klasse abgehandelt werden oder nicht
 boolean hasAppendix()
          Gibt zur�ck, ob das Tag einen Appendix besitzen kann oder nicht.
 boolean hasAttributeEvaluator()
           
 boolean hasBodyMethodExists()
           
 boolean hasDefaultValue()
           
 boolean hasTdbtClass()
          Gibt zur�ck, ob eine Klassendefinition der Klasse die den TagDependentBodyTransformer implementiert existiert.
 boolean hasTteClass()
          Gibt zur�ck, 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 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 f�r 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)
Gesch�tzer 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 zur�ck.

Returns:
HashMap Attribute als HashMap.

getAttribute

public TagLibTagAttr getAttribute(String name)
Gibt ein bestimmtes Attribut anhand seines Namens zur�ck, falls dieses Attribut nicht existiert wird null zur�ckgegeben.

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

getFirstAttribute

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

Returns:
Attribut das angfragt wurde oder null.

getLastAttribute

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

Returns:
Attribut das angfragt wurde oder null.

getName

public String getName()
Gibt den Namen des Tag zur�ck.

Returns:
String Name des Tag.

getFullName

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

Returns:
String Kompletter Name des Tag.

getTagClassName

public String getTagClassName()
Gibt die Klassendefinition, welche diesen Tag implementiert, als Zeichenkette zur�ck. 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 zur�ck. Falls kein Evaluator definiert ist wird null zur�ckgegeben.

Returns:
String Zeichenkette der Klassendefinition.

getTttClassName

public String getTttClassName()

getEvaluator

public Evaluator getEvaluator()
                       throws EvaluatorException
Gibt den Evaluator (Translation Time Evaluator) dieser Klasse zur�ck. Falls kein Evaluator definiert ist, wird null zur�ckgegeben.

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 zur�ck. Falls kein TagDependentBodyTransformer definiert ist, wird null zur�ckgegeben.

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

handleException

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

Returns:
Wird eine Exception abgehandelt?

hasTteClass

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

Returns:
Ob eine Evaluator definiert ist.

hasTdbtClass

public boolean hasTdbtClass()
Gibt zur�ck, 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 zur�ck. ( ATTRIBUTE_TYPE_FIX, ATTRIBUTE_TYPE_DYNAMIC, ATTRIBUTE_TYPE_NONAME)

Returns:
int

getHasBody

public boolean getHasBody()
Gibt zur�ck, 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 zur�ck, die das Tag haben kann.

Returns:
Maximale m�gliche Anzahl Attribute.

getMin

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

Returns:
Minimal m�gliche Anzahl Attribute.

getTagLib

public TagLib getTagLib()
Gibt die TagLib zur�ck zu der das Tag geh�rt.

Returns:
TagLib Zugeh�rige TagLib.

getParseBody

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

Returns:
Soll der Body geparst werden.

hasAppendix

public boolean hasAppendix()
Gibt zur�ck, 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 f�r 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 zur�ck ob ein Attribut Evaluator definiert ist oder nicht.

getAttributeEvaluator

public AttributeEvaluator getAttributeEvaluator()
                                         throws AttributeEvaluatorException
Returns:
Gibt den AttributeEvaluator zum Tag zur�ck
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(int startline,
                  int endline)
           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


Copyright © 2012 Railo