Ejemplo n.º 1
0
 /**
  * Walks recursively through the method resources tree.
  *
  * @param string $operator The operator
  * @param string $pointcutExpression The pointcut expression (value of the designator)
  * @param \TYPO3\FLOW3\Aop\Pointcut\PointcutFilterComposite $pointcutFilterComposite An instance of the pointcut filter composite. The result (ie. the pointcut filter) will be added to this composite object.
  * @param array &$trace
  * @return void
  * @throws \TYPO3\FLOW3\Aop\Exception\InvalidPointcutExpressionException
  */
 protected function parseDesignatorPointcut($operator, $pointcutExpression, \TYPO3\FLOW3\Aop\Pointcut\PointcutFilterComposite $pointcutFilterComposite, array &$trace = array())
 {
     if (!isset($this->methodResourcesTree[$pointcutExpression])) {
         throw new \TYPO3\FLOW3\Aop\Exception\InvalidPointcutExpressionException('The given resource was not defined: "' . $pointcutExpression . '".', 1222014591);
     }
     $pointcutFilterComposite->addFilter($operator, $this->parseMethodResources($this->methodResourcesTree[$pointcutExpression], array(), $trace));
 }
Ejemplo n.º 2
0
 /**
  * Adds runtime evaluations to the pointcut filter composite
  *
  * @param string $operator The operator
  * @param string $runtimeEvaluations The runtime evaluations string
  * @param PointcutFilterComposite $pointcutFilterComposite An instance of the pointcut filter composite. The result (ie. the custom filter) will be added to this composite object.
  * @return void
  */
 protected function parseRuntimeEvaluations($operator, $runtimeEvaluations, PointcutFilterComposite $pointcutFilterComposite)
 {
     $runtimeEvaluationsDefinition = array($operator => array('evaluateConditions' => $this->getRuntimeEvaluationConditionsFromEvaluateString($runtimeEvaluations)));
     $pointcutFilterComposite->setGlobalRuntimeEvaluationsDefinition($runtimeEvaluationsDefinition);
 }
Ejemplo n.º 3
0
 /**
  * This method is used to optimize the matching process.
  *
  * @param \TYPO3\FLOW3\Aop\Builder\ClassNameIndex $classNameIndex
  * @return \TYPO3\FLOW3\Aop\Builder\ClassNameIndex
  */
 public function reduceTargetClassNames(\TYPO3\FLOW3\Aop\Builder\ClassNameIndex $classNameIndex)
 {
     return $this->pointcutFilterComposite->reduceTargetClassNames($classNameIndex);
 }