Class FeatureUtil


  • @GwtIncompatible
    public class FeatureUtil
    extends java.lang.Object
    Utilities for collecting and validating tester requirements from annotations.
    • Constructor Summary

      Constructors 
      Constructor Description
      FeatureUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Set<Feature<?>> addImpliedFeatures​(java.util.Set<Feature<?>> features)
      Given a set of features, add to it all the features directly or indirectly implied by any of them, and return it.
      static TesterRequirements buildDeclaredTesterRequirements​(java.lang.reflect.AnnotatedElement classOrMethod)
      Construct the set of requirements specified by annotations directly on a tester class or method.
      static java.lang.Iterable<java.lang.annotation.Annotation> getTesterAnnotations​(java.lang.reflect.AnnotatedElement classOrMethod)
      Find all the tester annotations declared on a tester class or method.
      static TesterRequirements getTesterRequirements​(java.lang.Class<?> testerClass)
      Get the full set of requirements for a tester class.
      static TesterRequirements getTesterRequirements​(java.lang.reflect.Method testerMethod)
      Get the full set of requirements for a tester class.
      static java.util.Set<Feature<?>> impliedFeatures​(java.util.Set<Feature<?>> features)
      Given a set of features, return a new set of all features directly or indirectly implied by any of them.
      static <T> java.util.Set<T> intersection​(java.util.Set<? extends T> set1, java.util.Set<? extends T> set2)
      Construct a new Set that is the intersection of the given sets.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FeatureUtil

        public FeatureUtil()
    • Method Detail

      • addImpliedFeatures

        public static java.util.Set<Feature<?>> addImpliedFeatures​(java.util.Set<Feature<?>> features)
        Given a set of features, add to it all the features directly or indirectly implied by any of them, and return it.
        Parameters:
        features - the set of features to expand
        Returns:
        the same set of features, expanded with all implied features
      • impliedFeatures

        public static java.util.Set<Feature<?>> impliedFeatures​(java.util.Set<Feature<?>> features)
        Given a set of features, return a new set of all features directly or indirectly implied by any of them.
        Parameters:
        features - the set of features whose implications to find
        Returns:
        the implied set of features
      • getTesterRequirements

        public static TesterRequirements getTesterRequirements​(java.lang.Class<?> testerClass)
                                                        throws ConflictingRequirementsException
        Get the full set of requirements for a tester class.
        Parameters:
        testerClass - a tester class
        Returns:
        all the constraints implicitly or explicitly required by the class or any of its superclasses.
        Throws:
        ConflictingRequirementsException - if the requirements are mutually inconsistent.
      • getTesterRequirements

        public static TesterRequirements getTesterRequirements​(java.lang.reflect.Method testerMethod)
                                                        throws ConflictingRequirementsException
        Get the full set of requirements for a tester class.
        Parameters:
        testerMethod - a test method of a tester class
        Returns:
        all the constraints implicitly or explicitly required by the method, its declaring class, or any of its superclasses.
        Throws:
        ConflictingRequirementsException - if the requirements are mutually inconsistent.
      • buildDeclaredTesterRequirements

        public static TesterRequirements buildDeclaredTesterRequirements​(java.lang.reflect.AnnotatedElement classOrMethod)
                                                                  throws ConflictingRequirementsException
        Construct the set of requirements specified by annotations directly on a tester class or method.
        Parameters:
        classOrMethod - a tester class or a test method thereof
        Returns:
        all the constraints implicitly or explicitly required by annotations on the class or method.
        Throws:
        ConflictingRequirementsException - if the requirements are mutually inconsistent.
      • getTesterAnnotations

        public static java.lang.Iterable<java.lang.annotation.Annotation> getTesterAnnotations​(java.lang.reflect.AnnotatedElement classOrMethod)
        Find all the tester annotations declared on a tester class or method.
        Parameters:
        classOrMethod - a class or method whose tester annotations to find
        Returns:
        an iterable sequence of tester annotations on the class
      • intersection

        public static <T> java.util.Set<T> intersection​(java.util.Set<? extends T> set1,
                                                        java.util.Set<? extends T> set2)
        Construct a new Set that is the intersection of the given sets.