code: @Override
      public boolean validate(Field f, Object validationObject)
      {
          boolean checkvalidation = true;
  
          for (Annotation annotation : f.getDeclaredAnnotations())
          {
  
              AttributeConstraintType eruleType = getERuleType(annotation.annotationType().getSimpleName());
  
              if (eruleType != null)
              {
                  Object fieldValue = PropertyAccessorHelper.getObject(validationObject, f);
  
                  switch (eruleType)
                  {
  
                  case ASSERT_FALSE:
                      checkvalidation = validateFalse(fieldValue, annotation);
                      break;
                  case ASSERT_TRUE:
                      checkvalidation = validateTrue(fieldValue, annotation);
                      break;
                  case DECIMAL_MAX:
                      checkvalidation = validateMaxDecimal(fieldValue, annotation);
                      break;
                  case DECIMAL_MIN:
                      checkvalidation = validateMinDecimal(fieldValue, annotation);
                      break;
                  case DIGITS:
                      checkvalidation = validateDigits(fieldValue, annotation);
                      break;
                  case FUTURE:
                      checkvalidation = validateFuture(fieldValue, annotation);
                      break;
                  case MAX:
                      checkvalidation = validateMaxValue(fieldValue, annotation);
                      break;
  
                  case MIN:
                      checkvalidation = validateMinValue(fieldValue, annotation);
                      break;
                  case NOT_NULL:
                      checkvalidation = validateNotNull(fieldValue, annotation);
                      break;
                  case NULL:
                      checkvalidation = validateNull(fieldValue, annotation);
                      break;
                  case PAST:
                      checkvalidation = validatePast(fieldValue, annotation);
                      break;
                  case PATTERN:
                      checkvalidation = validatePattern(fieldValue, annotation);
                      break;
                  case SIZE:
                      checkvalidation = validateSize(fieldValue, annotation);
                      break;
  
                  }
              }
          }
  
          return checkvalidation;
      }
docs: /*
  (non-Javadoc)
  
  @see
  com.impetus.kundera.validation.rules.AbstractFieldRule#validate(java.
  lang.reflect.Field, java.lang.Object)