package org.arquillian.cube.requirement; import java.lang.annotation.Annotation; import org.arquillian.cube.spi.requirement.Requirement; import org.arquillian.cube.spi.requirement.Requires; import org.arquillian.cube.spi.requirement.UnsatisfiedRequirementException; public class Requirements { private Requirements() { throw new UnsupportedOperationException("Utility Class"); } public static void checkRequirement(Requires requires, Annotation context) throws UnsatisfiedRequirementException { if (requires == null) { return; } for (Class<? extends Requirement> requirementType : requires.value()) { try { Requirement requirement = requirementType.newInstance(); requirement.check(context); } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (InstantiationException e) { throw new RuntimeException(e); } } } }