org.objectweb.medor.expression.lib
Class BasicExpression

java.lang.Object
  extended byorg.objectweb.medor.clone.lib.BasicCloneable
      extended byorg.objectweb.medor.expression.lib.BasicExpression
All Implemented Interfaces:
org.objectweb.medor.clone.api.Cloneable, java.lang.Cloneable, Expression, java.io.Serializable
Direct Known Subclasses:
BasicOperand, BasicOperator

public abstract class BasicExpression
extends org.objectweb.medor.clone.lib.BasicCloneable
implements Expression

Is an abstract common class for expression. It contains the type and implements the cloning

Author:
S.Chassande-Barrioz
See Also:
Serialized Form

Field Summary
protected  Logger logger
           
protected  org.objectweb.jorm.type.api.PType type
           
 
Constructor Summary
BasicExpression()
           
BasicExpression(BasicExpression be)
           
BasicExpression(org.objectweb.jorm.type.api.PType type)
           
 
Method Summary
 java.lang.Object clone(java.lang.Object clone, java.util.Map obj2clone)
          Clone the current object.
 org.objectweb.jorm.type.api.PType getType()
          It gets the result type of this expression
 
Methods inherited from class org.objectweb.medor.clone.lib.BasicCloneable
clone, clone, getClone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.medor.expression.api.Expression
compileExpression, evaluate
 

Field Detail

type

protected org.objectweb.jorm.type.api.PType type

logger

protected transient Logger logger
Constructor Detail

BasicExpression

public BasicExpression()

BasicExpression

public BasicExpression(org.objectweb.jorm.type.api.PType type)

BasicExpression

public BasicExpression(BasicExpression be)
Method Detail

getType

public org.objectweb.jorm.type.api.PType getType()
Description copied from interface: Expression
It gets the result type of this expression

Specified by:
getType in interface Expression
Returns:
a PType object

clone

public java.lang.Object clone(java.lang.Object clone,
                              java.util.Map obj2clone)
                       throws java.lang.CloneNotSupportedException
Description copied from interface: org.objectweb.medor.clone.api.Cloneable
Clone the current object.

Specified by:
clone in interface org.objectweb.medor.clone.api.Cloneable
Parameters:
clone - is the clone instance to register. If this parameter is null, a new instance of the current object is instanciated (getClass().newInstance()). if this parameter is not null, it must be an instance of the current class.
obj2clone - is the cloning context used to register the clone. If this parameter is null, no registration is done.
Returns:
a clone of the current instance.
Throws:
java.lang.CloneNotSupportedException - if the cloning is not possible due to a problem. A typically problem is when the clone parameter is null and when no no arg constructor is availlable in the class of the current instance.