package flare.query
{
/**
* Expression operator for a literal value.
*/
public class Literal extends Expression
{
/** The boolean true literal. */
public static const TRUE:Literal = new Literal(true);
/** The boolean false literal. */
public static const FALSE:Literal = new Literal(false);
private var _value:Object = null;
/** The literal value of this expression. */
public function get value():Object { return _value; }
public function set value(val:Object):void { _value = val; }
/**
* Creates a new Literal instance.
* @param val the literal value
*/
public function Literal(val:Object=null) {
_value = val;
}
/**
* @inheritDoc
*/
public override function clone():Expression
{
return new Literal(_value);
}
/**
* @inheritDoc
*/
public override function predicate(o:Object):Boolean
{
return Boolean(_value);
}
/**
* @inheritDoc
*/
public override function eval(o:Object=null):*
{
return _value;
}
/**
* @inheritDoc
*/
public override function toString():String
{
return String(_value);
}
} }