com.softicar.platform.common.io.resource.supplier.container.validator.ResourceSupplierContainerAnnotationValidator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of platform-common Show documentation
Show all versions of platform-common Show documentation
The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.
package com.softicar.platform.common.io.resource.supplier.container.validator;
import com.softicar.platform.common.core.constant.container.validator.IConstantContainerValidator;
import com.softicar.platform.common.core.constant.container.validator.result.ConstantContainerValidatorResult;
import com.softicar.platform.common.io.resource.container.ResourceSupplierContainer;
import com.softicar.platform.common.io.resource.supplier.IResourceSupplier;
import com.softicar.platform.common.io.resource.supplier.container.validator.error.ResourceSupplierContainerMissingAnnotationError;
import java.util.stream.Stream;
class ResourceSupplierContainerAnnotationValidator implements IConstantContainerValidator {
private final Class containerClass;
public ResourceSupplierContainerAnnotationValidator(Class containerClass) {
this.containerClass = containerClass;
}
@Override
public void validate(ConstantContainerValidatorResult result) {
boolean lacksAnnotation = Stream//
.of(containerClass.getAnnotations())
.noneMatch(annotation -> annotation.annotationType().equals(ResourceSupplierContainer.class));
if (lacksAnnotation) {
result.addError(new ResourceSupplierContainerMissingAnnotationError(containerClass));
}
}
}