org.exolab.jms.selector.parser
Class SelectorASTFactory

java.lang.Object
  extended by antlr.ASTFactory
      extended by 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

Field Summary
 
Fields inherited from class antlr.ASTFactory
theASTNodeType, theASTNodeTypeClass, tokenTypeToASTClassMap
 
Constructor Summary
SelectorASTFactory()
           
 
Method Summary
 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, setASTNodeClass, 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
Throws:
java.lang.IllegalArgumentException
Since:
2.7.2

create

public 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-2012 The OpenJMS Group. All Rights Reserved.