// Path: src/main/java/com/michaelfotiadis/validator/annotated/model/ValidationResult.java
// public class ValidationResult {
// 
//     private final ValidationStatus status;
// 
//     public ValidationResult(final ValidationStatus status) {
//         this.status = status;
//     }
// 
//     public ValidationResult(final boolean isValid) {
//         if (isValid) {
//             this.status = ValidationStatus.SUCCESS;
//         } else {
//             this.status = ValidationStatus.UNDEFINED_FAILURE;
//         }
//     }
// 
//     /**
//      * Static factory
//      *
//      * @return successful {@link ValidationResult}
//      */
//     public static ValidationResult success() {
//         return new ValidationResult(ValidationStatus.SUCCESS);
//     }
// 
//     /**
//      * Static factory
//      *
//      * @return failed {@link ValidationResult}
//      */
//     public static ValidationResult failure() {
//         return new ValidationResult(ValidationStatus.UNDEFINED_FAILURE);
//     }
// 
//     /**
//      * Static factory
//      *
//      * @return null max {@link ValidationResult}
//      */
//     public static ValidationResult nullValue() {
//         return new ValidationResult(ValidationStatus.NULL_VALUE);
//     }
// 
//     public ValidationStatus getStatus() {
//         return this.status;
//     }
// 
//     public boolean isValid() {
//         return this.status == ValidationStatus.SUCCESS;
//     }
// 
// }
// 
// Path: src/main/java/com/michaelfotiadis/validator/annotated/model/ValidationStatus.java
// public enum ValidationStatus {
// 
//     UNDEFINED_FAILURE,
//     NULL_VALUE,
//     EMPTY_COLLECTION,
//     COLLECTION_CONTAINS_NULL,
//     PATTERN_DID_NOT_MATCH,
//     EMPTY_STRING,
//     INVALID_VALUE,
//     WRONG_TYPE_ARGUMENTS,
//     VALUE_OUT_OF_RANGE,
//     NUMBER_OUT_OF_RANGE,
//     INTEGER_OUT_OF_RANGE,
//     BYTE_OUT_OF_RANGE,
//     DOUBLE_OUT_OF_RANGE,
//     FLOAT_OUT_OF_RANGE,
//     EXCEPTION,
//     SUCCESS
// 
// }
// 
// Path: src/main/java/com/michaelfotiadis/validator/annotated/validators/Validator.java
// public interface Validator<T> {
// 
//     ValidationResult validate(T item, Annotation annotation);
// 
// }


import com.michaelfotiadis.validator.annotated.annotations.numeric.floatnum.FloatEqualsValue;
import com.michaelfotiadis.validator.annotated.annotations.numeric.floatnum.FloatMaxValue;
import com.michaelfotiadis.validator.annotated.annotations.numeric.floatnum.FloatMinValue;
import com.michaelfotiadis.validator.annotated.model.ValidationResult;
import com.michaelfotiadis.validator.annotated.model.ValidationStatus;
import com.michaelfotiadis.validator.annotated.validators.Validator;
import java.lang.annotation.Annotation;
package com.michaelfotiadis.validator.annotated.validators.numeric;



/**
 *
 */
public class FloatValidator implements Validator<Float> {

    @Override
// Path: src/main/java/com/michaelfotiadis/validator/annotated/model/ValidationResult.java
// public class ValidationResult {
// 
//     private final ValidationStatus status;
// 
//     public ValidationResult(final ValidationStatus status) {
//         this.status = status;
//     }
// 
//     public ValidationResult(final boolean isValid) {
//         if (isValid) {
//             this.status = ValidationStatus.SUCCESS;
//         } else {
//             this.status = ValidationStatus.UNDEFINED_FAILURE;
//         }
//     }
// 
//     /**
//      * Static factory
//      *
//      * @return successful {@link ValidationResult}
//      */
//     public static ValidationResult success() {
//         return new ValidationResult(ValidationStatus.SUCCESS);
//     }
// 
//     /**
//      * Static factory
//      *
//      * @return failed {@link ValidationResult}
//      */
//     public static ValidationResult failure() {
//         return new ValidationResult(ValidationStatus.UNDEFINED_FAILURE);
//     }
// 
//     /**
//      * Static factory
//      *
//      * @return null max {@link ValidationResult}
//      */
//     public static ValidationResult nullValue() {
//         return new ValidationResult(ValidationStatus.NULL_VALUE);
//     }
// 
//     public ValidationStatus getStatus() {
//         return this.status;
//     }
// 
//     public boolean isValid() {
//         return this.status == ValidationStatus.SUCCESS;
//     }
// 
// }
// 
// Path: src/main/java/com/michaelfotiadis/validator/annotated/model/ValidationStatus.java
// public enum ValidationStatus {
// 
//     UNDEFINED_FAILURE,
//     NULL_VALUE,
//     EMPTY_COLLECTION,
//     COLLECTION_CONTAINS_NULL,
//     PATTERN_DID_NOT_MATCH,
//     EMPTY_STRING,
//     INVALID_VALUE,
//     WRONG_TYPE_ARGUMENTS,
//     VALUE_OUT_OF_RANGE,
//     NUMBER_OUT_OF_RANGE,
//     INTEGER_OUT_OF_RANGE,
//     BYTE_OUT_OF_RANGE,
//     DOUBLE_OUT_OF_RANGE,
//     FLOAT_OUT_OF_RANGE,
//     EXCEPTION,
//     SUCCESS
// 
// }
// 
// Path: src/main/java/com/michaelfotiadis/validator/annotated/validators/Validator.java
// public interface Validator<T> {
// 
//     ValidationResult validate(T item, Annotation annotation);
// 
// }


// Path: src/main/java/com/michaelfotiadis/validator/annotated/validators/numeric/FloatValidator.java
import com.michaelfotiadis.validator.annotated.annotations.numeric.floatnum.FloatEqualsValue;
import com.michaelfotiadis.validator.annotated.annotations.numeric.floatnum.FloatMaxValue;
import com.michaelfotiadis.validator.annotated.annotations.numeric.floatnum.FloatMinValue;
import com.michaelfotiadis.validator.annotated.model.ValidationResult;
import com.michaelfotiadis.validator.annotated.model.ValidationStatus;
import com.michaelfotiadis.validator.annotated.validators.Validator;
import java.lang.annotation.Annotation;

package com.michaelfotiadis.validator.annotated.validators.numeric;



/**
 *
 */
public class FloatValidator implements Validator<Float> {

    @Override
    public ValidationResult validate(final Float value, final Annotation annotation) {