jrun.jsp.compiler
Class JRunTagLibraryInfo

jrun.jsp.compiler.JRunTagLibraryInfo

public class JRunTagLibraryInfo

JRunTagLibraryInfo contains information about a tag library constructed from the TLD. If the tld defines a teiclass for a tag then it is passed the TagInfo object which contains a reference to this class, that's the only reason that TagLibraryInfo is an API class. A tag library is uniquely identified by the path to its tld. A pure JST taglibrary has no tld and uses a directory for its uri so this uri becomes the identifier in that case. One JRunTagLibraryInfo object is created for each tag library and is stored in the JSPEngine object (which is singleton per web app). The same tag library may used with different URI's, ie: >%@ taglib uri="foo_tags" prefix="foo" %< and >%@ taglib uri="/WEB-INF/lib/foo_tags.jar" prefix="foo" %< may refer to the same tag library.


Inner Class Summary
 class JRunTagLibraryInfo.CouldNotRegisterListenersException
          Could not register listener
 class JRunTagLibraryInfo.InvalidTLDElementException
          The tag {tag} on line {line} is not a valid TLD element
 class JRunTagLibraryInfo.NoSuchAttributeException
          The tag handler class '{clazz}' does not have a '{name}' property
 class JRunTagLibraryInfo.TagAttributeIntrospectionException
          Exception introspecting attribute '{name}' of tag handler class '{clazz}': {rootCause}
 class JRunTagLibraryInfo.TagLibraryValidatorException
          Exception instantiating tag library validator class '{clazz}' : {rootCause}
static class JRunTagLibraryInfo.TLDMustBeInWEBINF
          TLD's must be in a jar or under WEB-INF (or any subdirectories): {tld_uri}
 class JRunTagLibraryInfo.TLDNotFoundException
          The uri '{uri}' resolved to '{resolved_uri}' which was not found
 class JRunTagLibraryInfo.TLDNotFoundInJarException
          The uri '{uri}' resolved to '{resolved_uri}' which did not have a TLD in it
 class JRunTagLibraryInfo.TLDParseException
          Exception parsing the TLD {uri} : {rootCause}
 class JRunTagLibraryInfo.TLDParser
           
 
Field Summary
protected  javax.servlet.ServletContext application
           
protected  JSPEngine jspEngine
           
 
Constructor Summary
JRunTagLibraryInfo(JSPEngine jspEngine, java.lang.String prefix, java.lang.String uri, java.io.InputStream is)
           
JRunTagLibraryInfo(JSPEngine jspEngine, java.lang.String prefix, java.lang.String uri, java.lang.String tld_uri, java.lang.String pagePath)
          constructor used for regular taglibs
 
Method Summary
 java.lang.String getTLDLocation()
           
 boolean hasValidator()
           
protected  void init(java.io.InputStream tld_is)
           
protected  void init(java.lang.String pagePath)
           
 void refresh()
           
 java.io.InputStream resolveTagLibraryTLDFromURL(java.net.URL url)
           
 void tagAttributesToString(java.lang.String tag, javax.servlet.jsp.tagext.TagAttributeInfo[] a, java.io.PrintWriter out)
           
 void tagToString(javax.servlet.jsp.tagext.TagInfo t, java.io.PrintWriter out)
           
 java.lang.String toString()
          Print out a String representation of this Tag library object
 javax.servlet.jsp.tagext.ValidationMessage[] validate(java.lang.String prefix, java.lang.String uri, javax.servlet.jsp.tagext.PageData pd)
           
 

Field Detail

application

protected javax.servlet.ServletContext application

jspEngine

protected JSPEngine jspEngine
Constructor Detail

JRunTagLibraryInfo

public JRunTagLibraryInfo(JSPEngine jspEngine,
                          java.lang.String prefix,
                          java.lang.String uri,
                          java.io.InputStream is)
                   throws TagLibraryException

JRunTagLibraryInfo

public JRunTagLibraryInfo(JSPEngine jspEngine,
                          java.lang.String prefix,
                          java.lang.String uri,
                          java.lang.String tld_uri,
                          java.lang.String pagePath)
                   throws TagLibraryException
constructor used for regular taglibs
Method Detail

hasValidator

public boolean hasValidator()

validate

public javax.servlet.jsp.tagext.ValidationMessage[] validate(java.lang.String prefix,
                                                             java.lang.String uri,
                                                             javax.servlet.jsp.tagext.PageData pd)

getTLDLocation

public java.lang.String getTLDLocation()

init

protected void init(java.lang.String pagePath)
             throws TagLibraryException

init

protected void init(java.io.InputStream tld_is)
             throws TagLibraryException

resolveTagLibraryTLDFromURL

public java.io.InputStream resolveTagLibraryTLDFromURL(java.net.URL url)
                                                throws java.io.IOException,
                                                       TagLibraryException

refresh

public void refresh()
             throws TagLibraryException

toString

public java.lang.String toString()
Print out a String representation of this Tag library object

tagToString

public void tagToString(javax.servlet.jsp.tagext.TagInfo t,
                        java.io.PrintWriter out)

tagAttributesToString

public void tagAttributesToString(java.lang.String tag,
                                  javax.servlet.jsp.tagext.TagAttributeInfo[] a,
                                  java.io.PrintWriter out)


Copyright � 2002 Macromedia Corporation. All Rights Reserved.