Skip to content

Composite must be extends AbstractSpecification #120

@cedvan

Description

@cedvan

Hi,

Composite must be extends AbstractSpecification to chain multiple specifications.

Sample :

class specificationA extends AbstractSpecification 
{
    ...
}

class specificationB extends AbstractSpecification 
{
    ...
}

class specificationC extends AbstractSpecification 
{
    ...
}

$specificationA
    ->andX($specificationB)
    ->andX($specificationC);

Keep chain support to specification type composite

class specificationD extends AndX
{
    public function __construct()
    {
        parent::__construct([
            new specificationA(),
            new specificationB(),
            new specificationC()
        ]);
    }
}

class specificationE extends Composite
{
    public function __construct()
    {
        parent::__construct(
            "MyOperator",
            [
                new specificationA(),
                new specificationB(),
                new specificationC()
            ]
        );
    }
}

$specificationD->andX($specificationE)->andX(...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions