package org.openstack.atlas.api.validation.verifiers; import org.openstack.atlas.api.validation.expectation.ValidationResult; import org.openstack.atlas.api.validation.verifiers.Verifier; import org.openstack.atlas.api.validation.verifiers.VerifierResult; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class MustHaveLengthVerifier implements Verifier { private int length; public MustHaveLengthVerifier(int length) { this.length = length; } @Override public VerifierResult verify(Object obj) { if (obj instanceof String){ return new VerifierResult(((String)obj).length() <= length); } if (obj instanceof Collection){ return new VerifierResult(((Collection)obj).size() <= length); } if (obj instanceof Object[]){ return new VerifierResult(((Object[])obj).length <= length); } List<ValidationResult> results = new ArrayList(); results.add(new ValidationResult(false, "Inappropriate type for length comparison.")); return new VerifierResult(false, results); } }