org.siebengeisslein.ide.source.query
Class OperandFilterExpression

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

public class OperandFilterExpression
extends AbstractExpression
implements FilterExpression, ExpressionContainer


Constructor Summary
OperandFilterExpression(ExpressionContainer parent)
           
 
Method Summary
 boolean containsChild(Expression expression)
           
 VariableExpression getField()
           
 QueryOperator getOperator()
           
 PType getResultType()
           
 Expression getValue()
           
 void onRemove()
           
 void removeChild(Expression child)
           
 void replaceChild(Expression child, Expression newChild)
           
 void replaceWith(Expression expression)
           
 void setField(VariableExpression field)
           
 void setOperator(QueryOperator operator)
           
 void setValue(Expression value)
           
 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, getVariableManager, isAssignable, loadClass, 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.Expression
getContainer, getVariableManager, isAssignable, setContainer, visitAssignTo
 
Methods inherited from interface org.siebengeisslein.pclass.expression.ExpressionContainer
getDataDirectory, getOwnerClass, getOwnerMethod, getVariableManager
 
Methods inherited from interface org.siebengeisslein.client.CommitConstrained
checkConstraints
 

Constructor Detail

OperandFilterExpression

public OperandFilterExpression(ExpressionContainer parent)
Method Detail

getResultType

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

replaceWith

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

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".

getField

public VariableExpression getField()

setField

public void setField(VariableExpression field)

getValue

public Expression getValue()

setValue

public void setValue(Expression value)

getOperator

public QueryOperator getOperator()

setOperator

public void setOperator(QueryOperator operator)

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