| /* 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. |
| } |
| |
| } |
| |