Skip to content

Add support for inheritance hierarchies validation #278

Open
@alexshavlovsky

Description

@alexshavlovsky

Now I treat inheritance as follows:

    ValidatorBuilder.<Parent>of()
                // constraints for parent
                .constraint(...)
                .constraint(...)
                .constraintOnCondition(
                        isInstanceOf(Child.class), b -> b
                                .nest(Child.class::cast, "(CHILD)", b2 -> b2
                                        // constraints for child
                                        .constraint(...)
                                        .constraint(...)
                                        .constraint(...)
                                )
                )

    public static <T, A extends T> ConstraintCondition<T> isInstanceOf(Class<A> aClass) {
        return (target, ctx) -> target.getClass() == aClass;
    }

It would be good to have something like:

    ValidatorBuilder.<Parent>of()
                // constraints for parent
                .constraint(...)
                .constraint(...)
                .constraintOnClass(Child.class), b -> b
                            // constraints for child
                            .constraint(...)
                            .constraint(...)
                            .constraint(...)
                    )
                )

Best Regards!!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions