package org.openstack.atlas.api.validation.verifiers; import java.util.Collection; public class MustHaveSizeOfExactly implements Verifier { private final int num; public MustHaveSizeOfExactly(int num) { this.num = num; } @Override public VerifierResult verify(Object obj) { boolean verifiedCorrectly = false; if (obj instanceof Collection) { int countNonNullObjects = 0; for (Object object : (Collection) obj) { if (object != null) { countNonNullObjects++; } } verifiedCorrectly = countNonNullObjects == num; } else if (obj instanceof String) { verifiedCorrectly = ((String) obj).length() == num; } return new VerifierResult(verifiedCorrectly); } }