All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softicar.platform.common.io.resource.supplier.container.validator.ResourceSupplierContainerAnnotationValidator Maven / Gradle / Ivy

Go to download

The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.

There is a newer version: 50.0.0
Show newest version
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));
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy