org.apache.jdo.impl.jdoql.tree
Class StaticFieldAccessExpr

java.lang.Object
  extended by antlr.BaseAST
      extended by antlr.CommonAST
          extended by org.apache.jdo.impl.jdoql.jdoqlc.JDOQLAST
              extended by org.apache.jdo.impl.jdoql.tree.NodeImpl
                  extended by org.apache.jdo.impl.jdoql.tree.Expr
                      extended by org.apache.jdo.impl.jdoql.tree.IdentifierExpr
                          extended by org.apache.jdo.impl.jdoql.tree.StaticFieldAccessExpr
All Implemented Interfaces:
antlr.collections.AST, java.io.Serializable, java.lang.Cloneable, Expression, IdentifierExpression, Node, StaticFieldAccessExpression

public final class StaticFieldAccessExpr
extends IdentifierExpr
implements StaticFieldAccessExpression

This node represents a static field access expression. It inherits from FieldAccessExpr. Static Field access expressions have exactly one child, the target expression. That target expression is an identifier expression.

Author:
Michael Watzek
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.jdo.impl.jdoql.jdoqlc.JDOQLAST
column, line, typeInfo
 
Fields inherited from class antlr.BaseAST
down, right
 
Constructor Summary
StaticFieldAccessExpr()
          The noarg constructor is needed for ANTLR support and deserialization.
StaticFieldAccessExpr(antlr.Token token)
          The noarg constructor is needed for ANTLR support.
 
Method Summary
 void arrive(NodeVisitor visitor)
          Delegates to the argument visitor.
 java.lang.Object getFieldValue(javax.jdo.PersistenceManager pm)
          Returns the value of the field corresponding with this static field access expression.
 java.lang.String getName()
          Returns the name of the accessed field.
 java.lang.Object leave(NodeVisitor visitor, java.lang.Object[] results)
          Delegates to the argument visitor.
 void setName(java.lang.String fieldName)
          Sets the name of the accessed field.
 
Methods inherited from class org.apache.jdo.impl.jdoql.tree.IdentifierExpr
getTypeName
 
Methods inherited from class org.apache.jdo.impl.jdoql.tree.NodeImpl
clone, getChildren, getJavaClass, getObject, getParent, getTokenType, setObject, setParent, toString, walkNextChild
 
Methods inherited from class org.apache.jdo.impl.jdoql.jdoqlc.JDOQLAST
getColumn, getLine, getTypeInfo, initialize, initialize, initialize, setColumn, setLine, setTypeInfo, treeToString
 
Methods inherited from class antlr.CommonAST
getText, getType, initialize, setText, setType
 
Methods inherited from class antlr.BaseAST
addChild, decode, encode, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getFirstChild, getNextSibling, getNumberOfChildren, getTokenNames, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toStringList, toStringTree, xmlSerialize, xmlSerializeNode, xmlSerializeRootClose, xmlSerializeRootOpen
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.jdo.jdoql.tree.IdentifierExpression
getTypeName
 
Methods inherited from interface org.apache.jdo.jdoql.tree.Node
getChildren, getJavaClass, getObject, getParent, getTokenType, setObject, setParent, walkNextChild
 

Constructor Detail

StaticFieldAccessExpr

public StaticFieldAccessExpr()
The noarg constructor is needed for ANTLR support and deserialization. The caller must make sure to set the ANTLR tree structure himself or, call setChildren optionally.


StaticFieldAccessExpr

public StaticFieldAccessExpr(antlr.Token token)
The noarg constructor is needed for ANTLR support. The caller must make sure to set the ANTLR tree structure himself or, call setChildren optionally.

Method Detail

getName

public java.lang.String getName()
Returns the name of the accessed field. Please note, that this name does not contain any information about the target object of this field access.

Specified by:
getName in interface IdentifierExpression
Overrides:
getName in class IdentifierExpr
Returns:
the field name

setName

public void setName(java.lang.String fieldName)
Sets the name of the accessed field. Please note, that this name must not contain any information about the target object of this field access. This method is used by semantic analysis only.

Parameters:
fieldName - the field name

getFieldValue

public java.lang.Object getFieldValue(javax.jdo.PersistenceManager pm)
Returns the value of the field corresponding with this static field access expression.

Specified by:
getFieldValue in interface StaticFieldAccessExpression
Parameters:
pm - the persistence manager of the query
Returns:
the field value
Throws:
JDOQueryException - if access to the corresponding field of this expression is denied

arrive

public void arrive(NodeVisitor visitor)
Delegates to the argument visitor.

Specified by:
arrive in interface Node
Overrides:
arrive in class IdentifierExpr
Parameters:
visitor - the node visitor

leave

public java.lang.Object leave(NodeVisitor visitor,
                              java.lang.Object[] results)
Delegates to the argument visitor.

Specified by:
leave in interface Node
Overrides:
leave in class IdentifierExpr
Parameters:
visitor - the node visitor
results - the result array
Returns:
the object returned by the visitor instance


Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.