Package com.michelboudreau.alternator.validators

Source Code of com.michelboudreau.alternator.validators.ConditionValidator

package com.michelboudreau.alternator.validators;

import com.amazonaws.services.dynamodb.model.AttributeValue;
import com.amazonaws.services.dynamodb.model.Condition;
import com.michelboudreau.alternator.validation.Validator;
import com.michelboudreau.alternator.validation.ValidatorUtils;

import java.util.List;

public class ConditionValidator extends Validator {

  public Boolean supports(Class clazz) {
    return Condition.class.isAssignableFrom(clazz);
  }

  public List<Error> validate(Object target) {
    Condition instance = (Condition) target;
    List<Error> errors = ValidatorUtils.rejectIfNull(instance);
    if (errors.size() == 0) {
      errors.addAll(ValidatorUtils.rejectIfNullOrEmptyOrWhitespace(instance.getComparisonOperator()));
      errors.addAll(ValidatorUtils.rejectIfNotMatchRegex(instance.getComparisonOperator(), "^(EQ|NE|IN|LE|LT|GE|GT|BETWEEN|NOT_NULL|NULL|CONTAINS|NOT_CONTAINS|BEGINS_WITH)$"));
      if(instance.getAttributeValueList() != null) {
        for(AttributeValue value:instance.getAttributeValueList()) {
          errors.addAll(ValidatorUtils.invokeValidator(new PrimaryKeyValidator(), value));
        }
      }
    }
    return removeNulls(errors);
  }
}
TOP

Related Classes of com.michelboudreau.alternator.validators.ConditionValidator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.