com.kenshoo.pl.entity.spi.helpers.CompoundChangesValidatorFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of persistence-layer Show documentation
Show all versions of persistence-layer Show documentation
A Java persistence layer based on JOOQ for high performance and business flow support.
package com.kenshoo.pl.entity.spi.helpers;
import com.kenshoo.pl.entity.EntityType;
import com.kenshoo.pl.entity.internal.validators.EntityChangeValidator;
import com.kenshoo.pl.entity.spi.ChangeValidator;
import com.kenshoo.pl.entity.spi.ChangesValidator;
import com.kenshoo.pl.entity.spi.ParentConditionValidator;
import java.util.Collection;
public class CompoundChangesValidatorFactory {
public static > ChangesValidator buildChangesValidator(E entityType, Collection> validators) {
ParentConditionCompositeValidator parentConditionsValidator = new ParentConditionCompositeValidator<>();
EntityChangeCompositeValidator entityChangeValidator = new EntityChangeCompositeValidator<>();
CompoundChangesValidator compoundChangesValidator = new CompoundChangesValidator<>();
compoundChangesValidator.register(parentConditionsValidator);
compoundChangesValidator.register(entityChangeValidator);
for (Object validator : validators) {
if (validator instanceof ChangeValidator) {
entityChangeValidator.register(entityType, (ChangeValidator) validator);
} else if(validator instanceof EntityChangeValidator) {
//noinspection unchecked
entityChangeValidator.register((EntityChangeValidator)validator);
} else if (validator instanceof ParentConditionValidator) {
parentConditionsValidator.register((ParentConditionValidator) validator);
} else if (validator instanceof ChangesValidator) {
//noinspection unchecked
compoundChangesValidator.register((ChangesValidator) validator);
}
}
return compoundChangesValidator;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy