blob: f221fe17b71d433bfe95ed064bae3073cd4ec8c1 [file] [log] [blame]
/* Generated By:JJTree: Do not edit this line. SimpleNode.java */
// ONLY EDIT THIS FILE IN THE GRAMMAR ROOT DIRECTORY!
// THE ONE IN THE ${spec}-src DIRECTORY IS A COPY!!!
package org.apache.xpath.parser;
import java.io.PrintStream;
import org.apache.xml.utils.QName;
import org.apache.xpath.Expression;
import org.apache.xpath.ExpressionNode;
import org.apache.xpath.operations.And;
import org.apache.xpath.operations.Div;
import org.apache.xpath.operations.Equals;
import org.apache.xpath.operations.Gt;
import org.apache.xpath.operations.Idiv;
import org.apache.xpath.operations.Lt;
import org.apache.xpath.operations.Minus;
import org.apache.xpath.operations.Mod;
import org.apache.xpath.operations.NotEquals;
import org.apache.xpath.operations.Or;
import org.apache.xpath.operations.Plus;
import org.apache.xpath.quantified.Every;
import org.apache.xpath.quantified.In;
import org.apache.xpath.quantified.Satisfies;
import org.apache.xpath.quantified.Some;
/**
*
* This is the most generic syntax node, which implements the JJTree
* interface "Node" methods. This class assumes that it's derived
* class is org.apache.xpath.Expression, and so does a fair amount
* of downcasting. The only reason this class exists is to separate
* out the jjXXX methods, to act as a more generic interface to
* the JavaCC/JJTree parser, and also to act as a factory class for
* the concrete implementations of the expressions.
*/
public class SimpleNode implements Node {
//== Factory Method
public static Node jjtCreate(XPath p, int id)
{
SimpleNode newNode = null;
switch(id)
{
case XPathConstants.AxisChild:
newNode = new SimpleNode();
break;
case XPathConstants.AxisDescendant:
newNode = new SimpleNode();
break;
case XPathConstants.AxisParent:
newNode = new SimpleNode();
break;
case XPathConstants.AxisAttribute:
newNode = new SimpleNode();
break;
case XPathConstants.AxisSelf:
newNode = new SimpleNode();
break;
case XPathConstants.AxisDescendantOrSelf:
newNode = new SimpleNode();
break;
case XPathConstants.AxisAncestor:
newNode = new SimpleNode();
break;
case XPathConstants.AxisFollowingSibling:
newNode = new SimpleNode();
break;
case XPathConstants.AxisPrecedingSibling:
newNode = new SimpleNode();
break;
case XPathConstants.AxisFollowing:
newNode = new SimpleNode();
break;
case XPathConstants.AxisPreceding:
newNode = new SimpleNode();
break;
case XPathConstants.AxisNamespace:
newNode = new SimpleNode();
break;
case XPathConstants.AxisAncestorOrSelf:
newNode = new SimpleNode();
break;
case XPathConstants.Or:
newNode = new org.apache.xpath.operations.Or();
break;
case XPathConstants.And:
newNode = new org.apache.xpath.operations.And();
break;
case XPathConstants.Div:
newNode = new org.apache.xpath.operations.Div();
break;
case XPathConstants.Idiv:
newNode = new org.apache.xpath.operations.Idiv();
break;
case XPathConstants.Mod:
newNode = new org.apache.xpath.operations.Mod();
break;
case XPathConstants.Multiply:
newNode = new org.apache.xpath.operations.Mult();
break;
case XPathConstants.In:
newNode = new org.apache.xpath.quantified.In();
break;
case XPathConstants.Satisfies:
newNode = new org.apache.xpath.quantified.Satisfies();
break;
case XPathConstants.Return:
newNode = new org.apache.xpath.itteration.Return();
break;
case XPathConstants.Then:
newNode = new org.apache.xpath.conditional.Then();
break;
case XPathConstants.Else:
newNode = new org.apache.xpath.conditional.Else();
break;
case XPathConstants.To:
newNode = new org.apache.xpath.seqctor.RangeExpr();
break;
case XPathConstants.Intersect:
newNode = new SimpleNode();
break;
case XPathConstants.Union:
newNode = new SimpleNode();
break;
case XPathConstants.Except:
newNode = new SimpleNode();
break;
case XPathConstants.Precedes:
newNode = new SimpleNode();
break;
case XPathConstants.Follows:
newNode = new SimpleNode();
break;
case XPathConstants.Instanceof:
newNode = new org.apache.xpath.types.Instanceof();
break;
case XPathConstants.Item:
newNode = new SimpleNode();
break;
case XPathConstants.ElementType:
newNode = new SimpleNode();
break;
case XPathConstants.AttributeType:
newNode = new SimpleNode();
break;
case XPathConstants.ElementQNameLbrace:
newNode = new SimpleNode();
break;
case XPathConstants.AttributeQNameLbrace:
newNode = new SimpleNode();
break;
case XPathConstants.ElementLbrace:
newNode = new SimpleNode();
break;
case XPathConstants.AttributeLbrace:
newNode = new SimpleNode();
break;
case XPathConstants.DefaultElement:
newNode = new SimpleNode();
break;
case XPathConstants.DefaultFunction:
newNode = new SimpleNode();
break;
case XPathConstants.OfType:
newNode = new SimpleNode();
break;
case XPathConstants.AtomicValue:
newNode = new SimpleNode();
break;
case XPathConstants.Type:
newNode = new SimpleNode();
break;
case XPathConstants.Node:
newNode = new SimpleNode();
break;
case XPathConstants.Empty:
newNode = new SimpleNode();
break;
case XPathConstants.Nmstart:
newNode = new SimpleNode();
break;
case XPathConstants.Nmchar:
newNode = new SimpleNode();
break;
case XPathConstants.Star:
newNode = new SimpleNode();
break;
case XPathConstants.NCNameColonStar:
newNode = new SimpleNode();
break;
case XPathConstants.StarColonNCName:
newNode = new SimpleNode();
break;
case XPathConstants.Root:
newNode = new SimpleNode();
break;
case XPathConstants.RootDescendants:
newNode = new SimpleNode();
break;
case XPathConstants.Slash:
newNode = new SimpleNode();
break;
case XPathConstants.SlashSlash:
newNode = new SimpleNode();
break;
case XPathConstants.Equals:
newNode = new SimpleNode();
break;
case XPathConstants.Is:
newNode = new SimpleNode();
break;
case XPathConstants.NotEquals:
newNode = new org.apache.xpath.operations.NotEquals();
break;
case XPathConstants.IsNot:
newNode = new SimpleNode();
break;
case XPathConstants.LtEquals:
newNode = new org.apache.xpath.operations.Lte();
break;
case XPathConstants.LtLt:
newNode = new SimpleNode();
break;
case XPathConstants.GtEquals:
newNode = new org.apache.xpath.operations.Gte();
break;
case XPathConstants.GtGt:
newNode = new SimpleNode();
break;
case XPathConstants.FortranEq:
newNode = new org.apache.xpath.operations.FortranEq();
break;
case XPathConstants.FortranNe:
newNode = new org.apache.xpath.operations.FortranNe();
break;
case XPathConstants.FortranGt:
newNode = new org.apache.xpath.operations.FortranGt();
break;
case XPathConstants.FortranGe:
newNode = new org.apache.xpath.operations.FortranGe();
break;
case XPathConstants.FortranLt:
newNode = new org.apache.xpath.operations.FortranLt();
break;
case XPathConstants.FortranLe:
newNode = new org.apache.xpath.operations.FortranLe();
break;
case XPathConstants.Lt:
newNode = new org.apache.xpath.operations.Lt();
break;
case XPathConstants.Gt:
newNode = new org.apache.xpath.operations.Gt();
break;
case XPathConstants.Minus:
newNode = new org.apache.xpath.operations.Minus();
break;
case XPathConstants.Plus:
newNode = new org.apache.xpath.operations.Plus();
break;
case XPathConstants.QMark:
newNode = new SimpleNode();
break;
case XPathConstants.Vbar:
newNode = new SimpleNode();
break;
case XPathConstants.Lpar:
newNode = new SimpleNode();
break;
case XPathConstants.At:
newNode = new SimpleNode();
break;
case XPathConstants.Lbrack:
newNode = new SimpleNode();
break;
case XPathConstants.Rpar:
newNode = new SimpleNode();
break;
case XPathConstants.Rbrack:
newNode = new SimpleNode();
break;
case XPathConstants.Some:
newNode = new org.apache.xpath.quantified.Some();
break;
case XPathConstants.Every:
newNode = new org.apache.xpath.quantified.Every();
break;
case XPathConstants.ForVariable:
newNode = new org.apache.xpath.itteration.ForClause();
break;
case XPathConstants.CastAs:
// to be done
break;
case XPathConstants.TreatAs:
// to be done
break;
case XPathConstants.Validate:
// Assume we won't have this?
break;
case XPathConstants.Digits:
newNode = new SimpleNode();
break;
case XPathConstants.IntegerLiteral:
newNode = new SimpleNode();
break;
case XPathConstants.DecimalLiteral:
newNode = new SimpleNode();
break;
case XPathConstants.DoubleLiteral:
newNode = new SimpleNode();
break;
case XPathConstants.Comment:
newNode = new SimpleNode();
break;
case XPathConstants.Document:
newNode = new SimpleNode();
break;
case XPathConstants.DocumentLbrace:
newNode = new SimpleNode();
break;
case XPathConstants.Text:
newNode = new SimpleNode();
break;
case XPathConstants.Untyped:
newNode = new SimpleNode();
break;
case XPathConstants.ProcessingInstruction:
newNode = new SimpleNode();
break;
case XPathConstants.NodeLpar:
newNode = new SimpleNode();
break;
case XPathConstants.CommentLpar:
newNode = new SimpleNode();
break;
case XPathConstants.TextLpar:
newNode = new SimpleNode();
break;
case XPathConstants.ProcessingInstructionLpar:
newNode = new SimpleNode();
break;
case XPathConstants.IfLpar:
newNode = new SimpleNode();
break;
case XPathConstants.Comma:
newNode = new SimpleNode();
break;
case XPathConstants.StringLiteral:
newNode = new SimpleNode();
break;
case XPathConstants.AtStringLiteral:
newNode = new SimpleNode();
break;
case XPathConstants.NamespaceURLLiteral:
newNode = new SimpleNode();
break;
case XPathConstants.Dot:
newNode = new SimpleNode();
break;
case XPathConstants.DotDot:
newNode = new SimpleNode();
break;
case XPathConstants.NCName:
newNode = new SimpleNode();
break;
case XPathConstants.Prefix:
newNode = new SimpleNode();
break;
case XPathConstants.LocalPart:
newNode = new SimpleNode();
break;
case XPathConstants.VariableIndicator:
newNode = new SimpleNode();
break;
case XPathConstants.VarName:
newNode = new SimpleNode();
break;
case XPathConstants.QName:
newNode = new SimpleNode();
break;
case XPathConstants.FuncName:
newNode = new SimpleNode();
break;
case XPathConstants.FuncPListOpen:
newNode = new SimpleNode();
break;
case XPathConstants.QNameLpar:
newNode = new SimpleNode();
break;
case XPathConstants.Lbrace:
newNode = new SimpleNode();
break;
case XPathConstants.Rbrace:
newNode = new SimpleNode();
break;
case XPathConstants.Char:
newNode = new SimpleNode();
break;
case XPathConstants.WhitespaceChar:
newNode = new SimpleNode();
break;
case XPathConstants.Letter:
newNode = new SimpleNode();
break;
// case XPathConstants.BaseChar:
// newNode = new SimpleNode();
// break;
// case XPathConstants.Ideographic:
// newNode = new SimpleNode();
// break;
// case XPathConstants.CombiningChar:
// newNode = new SimpleNode();
// break;
// case XPathConstants.Digit:
// newNode = new SimpleNode();
// break;
// case XPathConstants.Extender:
// newNode = new SimpleNode();
// break;
default:
newNode = new SimpleNode();
}
newNode.parser = p; // We shouldn't need this. -sb
return newNode;
}
protected XPath parser; // I'm going to leave this for right now only.
public SimpleNode() {
}
public void jjtOpen() {
}
public void jjtClose() {
}
public void jjtSetParent(Node n) { ((Expression)this).exprSetParent((ExpressionNode) n); }
public Node jjtGetParent() { return (Node)((Expression)this).exprGetParent(); }
public void jjtAddChild(Node n, int i) {
((Expression)this).exprAddChild((ExpressionNode)n, i);
}
public Node jjtGetChild(int i) {
return (Node)((Expression)this).exprGetChild(i);
}
public int jjtGetNumChildren() {
return ((Expression)this).exprGetNumChildren();
}
/** Accept the visitor. **/
public Object jjtAccept(XPathVisitor visitor, Object data) {
return visitor.visit(this, data);
}
/** Accept the visitor. **/
public Object childrenAccept(XPathVisitor visitor, Object data) {
int nChildren = jjtGetNumChildren();
for (int i = 0; i < nChildren; ++i) {
jjtGetChild(i).jjtAccept(visitor, data);
}
return data;
}
public void processToken(Token t)
{
// not sure what to do with this yet.
}
public void dump(String prefix) {
dump(prefix, System.out);
}
public void dump(String prefix, java.io.PrintStream ps) {
// Not implemented yet.
}
}