public function setExpression(Expression $expression)
 {
     if ($expression instanceof Multiple) {
         parent::setExpression($expression);
     } else {
         $msg = "The MultipleProcessor class only accepts Multiple QTI Data Model Expression objects to be processed.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof Subtract) {
         parent::setExpression($expression);
     } else {
         $msg = "The SubtractProcessor class only processes Subtract QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof IntegerModulus) {
         parent::setExpression($expression);
     } else {
         $msg = "The IntegerModulusProcessor class only processes IntegerModulus QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof PatternMatch) {
         parent::setExpression($expression);
     } else {
         $msg = "The PatternMatchProcessor class only processes PatternMatch QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof MathOperator) {
         parent::setExpression($expression);
     } else {
         $msg = "The MathOperatorProcessor class only processes MathOperator QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof EqualRounded) {
         parent::setExpression($expression);
     } else {
         $msg = "The EqualRoundedProcessor class only processes EqualRounded QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 /**
  * Set the Product Expression object to be processed.
  * 
  * @param Expression $expression A Product object.
  * @throws InvalidArgumentException If $expression is not an instance of Product.
  */
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof Product) {
         parent::setExpression($expression);
     } else {
         $msg = "The ProductProcessor class only accepts a Product Operator to be processed.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof CustomOperator) {
         parent::setExpression($expression);
     } else {
         $msg = "The CustomOperatorProcessor can only process CustomOperator objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof RoundTo) {
         parent::setExpression($expression);
     } else {
         $msg = "The RoundToProcessor class only accepts RoundTo Operator objects to be processed.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof DurationGTE) {
         parent::setExpression($expression);
     } else {
         $msg = "The DurationGTEProcessor class only processes DurationGTE QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof FieldValue) {
         parent::setExpression($expression);
     } else {
         $msg = "The FieldValueProcessor class only processes FieldValue QTI Data Model objects.";
         throw new InvalidArgumentException($msg);
     }
 }
 /**
  * Set the Sum Expression object to be processed.
  * 
  * @param Expression $expression A Sum object.
  * @throws InvalidArgumentException If $expressions is not an instance of Sum.
  */
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof Sum) {
         parent::setExpression($expression);
     } else {
         $msg = "The SumProcessor class only accepts a Sum Expression to be processed.";
         throw new InvalidArgumentException($msg);
     }
 }
 /**
  * Set the Expression object to be processed.
  * 
  * @param Expression An IsNull object.
  * @throws InvalidArgumentException If the $expression is not an IsNull QTI Data Model Expression object.
  */
 public function setExpression(Expression $expression)
 {
     if ($expression instanceof IsNull) {
         parent::setExpression($expression);
     } else {
         $msg = "The IsNullProcessor class only accept IsNull Operator objects to be processed.";
         throw new InvalidArgumentException($expression);
     }
 }