org.exolab.jms.selector.parser
Class SelectorASTFactory

java.lang.Object
  |
  +--antlr.ASTFactory
        |
        +--org.exolab.jms.selector.parser.SelectorASTFactory

public class SelectorASTFactory
extends antlr.ASTFactory

This class was created to override the 4 methods in antlr.ASTFactory that use Class.forName(java.lang.String). In the case of interaction with OpenJMS, the ClassLoader for the Factory class must not be higher in the tree than the OpenJMS classes. In the case of Weblogic 8.1 SP3, some antlr classes, including ASTFactory are encapsulated in the weblogic.jar, the ClassLoader on the antlr.ASTFactory class is the System ClassLoader. If you have openjms.jar in your EAR or WAR files, the antlr.ASTFactory class will not be able to find the OpenJMS classes when it is doing a Class.forName to load them.

Version:
$Revision: 1.1 $ $Date: 2005/11/12 13:47:56 $
Author:
jason.michael, Tim Anderson

Fields inherited from class antlr.ASTFactory
theASTNodeType, theASTNodeTypeClass, tokenTypeToASTClassMap
 
Constructor Summary
SelectorASTFactory()
           
 
Method Summary
protected  antlr.collections.AST create(java.lang.String className)
           
protected  antlr.collections.AST createUsingCtor(antlr.Token token, java.lang.String className)
           
 void setASTNodeClass(java.lang.String t)
           
 void setTokenTypeASTNodeType(int tokenType, java.lang.String className)
          Specify an "override" for the Java AST object created for a specific token.
 
Methods inherited from class antlr.ASTFactory
addASTChild, create, create, create, create, create, create, create, create, dup, dupList, dupTree, error, getASTNodeType, getTokenTypeToASTClassMap, make, make, makeASTRoot, setASTNodeType, setTokenTypeToASTClassMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectorASTFactory

public SelectorASTFactory()
Method Detail

setTokenTypeASTNodeType

public void setTokenTypeASTNodeType(int tokenType,
                                    java.lang.String className)
                             throws java.lang.IllegalArgumentException
Specify an "override" for the Java AST object created for a specific token.
Overrides:
setTokenTypeASTNodeType in class antlr.ASTFactory
Since:
2.7.2

create

protected antlr.collections.AST create(java.lang.String className)
Overrides:
create in class antlr.ASTFactory
Since:
2.7.2

createUsingCtor

protected antlr.collections.AST createUsingCtor(antlr.Token token,
                                                java.lang.String className)
Overrides:
createUsingCtor in class antlr.ASTFactory
Since:
2.7.2

setASTNodeClass

public void setASTNodeClass(java.lang.String t)
Overrides:
setASTNodeClass in class antlr.ASTFactory


Copyright © 1999-2007 The OpenJMS Group. All Rights Reserved.