4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Validator\Mapping;
15 * Specifies whether an object should be cascaded.
17 * Cascading is relevant for any node type but class nodes. If such a node
18 * contains an object of value, and if cascading is enabled, then the node
19 * traverser will try to find class metadata for that object and validate the
20 * object against that metadata.
22 * If no metadata is found for a cascaded object, and if that object implements
23 * {@link \Traversable}, the node traverser will iterate over the object and
24 * cascade each object or collection contained within, unless iteration is
25 * prohibited by the specified {@link TraversalStrategy}.
27 * Although the constants currently represent a boolean switch, they are
28 * implemented as bit mask in order to allow future extensions.
30 * @author Bernhard Schussek <bschussek@gmail.com>
32 * @see TraversalStrategy
34 class CascadingStrategy
37 * Specifies that a node should not be cascaded.
42 * Specifies that a node should be cascaded.
49 private function __construct()