Class FeatureUtil
- java.lang.Object
-
- com.google.common.collect.testing.features.FeatureUtil
-
@GwtIncompatible public class FeatureUtil extends Object
Utilities for collecting and validating tester requirements from annotations.- Author:
- George van den Driessche
-
-
Constructor Summary
Constructors Constructor Description FeatureUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Set<Feature<?>>addImpliedFeatures(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 TesterRequirementsbuildDeclaredTesterRequirements(AnnotatedElement classOrMethod)Construct the set of requirements specified by annotations directly on a tester class or method.static Iterable<Annotation>getTesterAnnotations(AnnotatedElement classOrMethod)Find all the tester annotations declared on a tester class or method.static TesterRequirementsgetTesterRequirements(Class<?> testerClass)Get the full set of requirements for a tester class.static TesterRequirementsgetTesterRequirements(Method testerMethod)Get the full set of requirements for a tester class.static Set<Feature<?>>impliedFeatures(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> Set<T>intersection(Set<? extends T> set1, Set<? extends T> set2)Construct a newSetthat is the intersection of the given sets.
-
-
-
Constructor Detail
-
FeatureUtil
public FeatureUtil()
-
-
Method Detail
-
addImpliedFeatures
@CanIgnoreReturnValue public static Set<Feature<?>> addImpliedFeatures(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 Set<Feature<?>> impliedFeatures(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(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(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(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 Iterable<Annotation> getTesterAnnotations(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> Set<T> intersection(Set<? extends T> set1, Set<? extends T> set2)
Construct a newSetthat is the intersection of the given sets.
-
-