org.siebengeisslein.ide.source.query
Class QueryExpression

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.expression.AbstractExpression
          extended by org.siebengeisslein.ide.source.query.QueryExpression
All Implemented Interfaces:
CommitConstrained, Instrumented, CodeFragment, Expression, ExpressionContainer

public class QueryExpression
extends AbstractExpression
implements ExpressionContainer


Constructor Summary
QueryExpression(ExpressionContainer parent, GlobalDataVariable gdv)
           
 
Method Summary
 boolean containsChild(Expression expression)
           
 FilterExpression getFilter()
           
 PType getResultType()
           
 TableExpression getTable()
           
 PType getType()
           
 AbstractModifieableVariableManager getVariableManager()
           
 void onRemove()
           
 void removeChild(Expression child)
           
 void replaceChild(Expression child, Expression newChild)
           
 void setFilter(FilterExpression filter)
           
 void setTable(TableExpression table)
           
 void setType(PType type)
           
 java.lang.String toString(java.lang.String indent)
           
 void visit(org.objectweb.asm.MethodVisitor mv, Frame frame, PClass clazz, boolean forAssignment)
           
 
Methods inherited from class org.siebengeisslein.pclass.expression.AbstractExpression
checkConstraints, getContainer, getDataDirectory, getOwnerClass, getOwnerMethod, getTypeManager, isAssignable, loadClass, replaceWith, setContainer, toString, visitAssignTo
 
Methods inherited from class org.siebengeisslein.client.Persistent
abort, clearUserLocals, clone, commit, disposeTransient, getGroup, getRef, getTransientValue, hashCode, initTransient, isWriteTransaction, joinWriteTransaction, readLock, setGroup, setTransientValue, toPersistent, toRef, writeExternal, writeLock
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.siebengeisslein.pclass.expression.ExpressionContainer
getDataDirectory, getOwnerClass, getOwnerMethod
 
Methods inherited from interface org.siebengeisslein.client.CommitConstrained
checkConstraints
 

Constructor Detail

QueryExpression

public QueryExpression(ExpressionContainer parent,
                       GlobalDataVariable gdv)
Method Detail

getVariableManager

public AbstractModifieableVariableManager getVariableManager()
Specified by:
getVariableManager in interface Expression
Specified by:
getVariableManager in interface ExpressionContainer
Overrides:
getVariableManager in class AbstractExpression

getResultType

public PType getResultType()
Specified by:
getResultType in interface Expression

toString

public java.lang.String toString(java.lang.String indent)
Specified by:
toString in interface Expression

visit

public void visit(org.objectweb.asm.MethodVisitor mv,
                  Frame frame,
                  PClass clazz,
                  boolean forAssignment)
Specified by:
visit in interface Expression
forAssignment - This indicates that the expression is evaluated to be assigned a value. In this case the last element should not be evaluated (e.g. obj.name should only push obj onto the stack, but to the value of "name".

getFilter

public FilterExpression getFilter()

setFilter

public void setFilter(FilterExpression filter)

getTable

public TableExpression getTable()

setTable

public void setTable(TableExpression table)

getType

public PType getType()

setType

public void setType(PType type)

containsChild

public boolean containsChild(Expression expression)
Specified by:
containsChild in interface ExpressionContainer

removeChild

public void removeChild(Expression child)
Specified by:
removeChild in interface ExpressionContainer

replaceChild

public void replaceChild(Expression child,
                         Expression newChild)
Specified by:
replaceChild in interface ExpressionContainer

onRemove

public void onRemove()
Specified by:
onRemove in interface Expression
Overrides:
onRemove in class AbstractExpression