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);
     }
 }
 /**
  * Trace a given Operator $processor execution.
  * 
  * @param OperatorProcessor $processor The processor that undertook the processing.
  * @param mixed $result The result of the processing.
  */
 protected function traceOperator(OperatorProcessor $processor, $result)
 {
     $stringOperands = array();
     foreach ($processor->getOperands() as $operand) {
         $stringOperands[] = '' . $operand;
     }
     $qtiClassName = $processor->getExpression()->getQtiClassName();
     $msg = "{$qtiClassName}(" . implode(', ', $stringOperands) . ") [{$result}]";
     $this->trace($msg);
 }
Пример #15
0
 /**
  * Create a new CustomOperatorProcessor object.
  *
  * @param \qtism\data\expressions\Expression $expression The CustomOperator object to be processed.
  * @param \qtism\runtime\expressions\operators\OperandsCollection $operands A collection of operands to be used as parameters for the CustomOperator implementation.
  */
 public function __construct(Expression $expression, OperandsCollection $operands)
 {
     parent::__construct($expression, $operands);
 }