package core.framework.impl.mongo; import core.framework.api.mongo.Field; import core.framework.api.mongo.Id; import core.framework.impl.validate.Validator; import core.framework.impl.validate.ValidatorBuilder; /** * @author neo */ public final class EntityValidator<T> { private final Validator validator; public EntityValidator(Class<T> entityClass) { validator = new ValidatorBuilder(entityClass, field -> { if (field.isAnnotationPresent(Id.class)) return "_id"; return field.getDeclaredAnnotation(Field.class).name(); }).build(); } public void validate(T entity) { validator.validate(entity); } }