blob: 7a102c1af063a81aab87383b739f31a15f525d35 [file] [log] [blame]
package org.apache.xpath.parser;
import java.util.Vector;
import javax.xml.transform.TransformerException;
import org.apache.xml.dtm.DTM;
import org.apache.xpath.Expression;
import org.apache.xpath.ExpressionOwner;
import org.apache.xpath.VariableComposeState;
import org.apache.xpath.XPathContext;
import org.apache.xpath.XPathVisitor;
import org.apache.xpath.objects.XObject;
/**
* This is an expression node that only exists for construction
* purposes.
*/
public class NonExecutableExpression extends Expression
{
protected XPath m_parser; // I'm going to leave this for right now only.
public NonExecutableExpression(XPath parser, String value)
{
m_parser = parser;
m_value = value;
}
protected NonExecutableExpression(XPath parser)
{
m_parser = parser;
}
public XPath getParser()
{
return m_parser;
}
public Vector m_exprs = new Vector();
public void jjtAddChild(Node n, int i)
{
n = fixupPrimarys(n);
if(null == m_exprs)
m_exprs = new Vector();
if(i >= m_exprs.size())
{
m_exprs.setSize(i+1);
}
m_exprs.setElementAt(n, i);
}
public Node jjtGetChild(int i)
{
if(null == m_exprs)
return null;
else
return (Node)m_exprs.elementAt(i);
}
public int jjtGetNumChildren()
{
if(null == m_exprs)
return 0;
else
return m_exprs.size();
}
String m_value;
public void processToken(Token t) { m_value = t.image; }
public String toString()
{
return this.getClass().getName()+ ((null == m_value) ? "" : (" "+m_value));
}
/**
* @see Expression#deepEquals(Expression)
* Dummy stub.
*/
public boolean deepEquals(Expression expr)
{
return false;
}
/**
* @see Expression#fixupVariables(Vector, int)
* Dummy stub.
*/
public void fixupVariables(VariableComposeState vcs)
{
}
/**
* @see Expression#execute(XPathContext)
* Dummy stub.
*/
public XObject execute(XPathContext xctxt) throws TransformerException
{
throw new RuntimeException("Can't execute a NonExecutableExpression!");
// return null;
}
public XObject execute(XPathContext xctxt, int currentNode)
throws javax.xml.transform.TransformerException
{
throw new RuntimeException("Can't execute a NonExecutableExpression!");
}
public XObject execute(
XPathContext xctxt, int currentNode, DTM dtm, int expType)
throws javax.xml.transform.TransformerException
{
throw new RuntimeException("Can't execute a NonExecutableExpression!");
}
/**
* @see XPathVisitable#callVisitors(ExpressionOwner, XPathVisitor)
* Dummy stub.
*/
public void callVisitors(ExpressionOwner owner, XPathVisitor visitor)
{
}
}