com.google.common.collect.testing.features
Class FeatureUtil

java.lang.Object
  extended by com.google.common.collect.testing.features.FeatureUtil

@GwtCompatible
public class FeatureUtil
extends Object

Utilities for collecting and validating tester requirements from annotations.

This class can be referenced in GWT tests.

Author:
George van den Driessche

Constructor Summary
FeatureUtil()
           
 
Method Summary
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 TesterRequirements buildDeclaredTesterRequirements(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 TesterRequirements getTesterRequirements(Class<?> testerClass)
          Get the full set of requirements for a tester class.
static TesterRequirements getTesterRequirements(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>... sets)
          Construct a new Set that is the intersection of all the given sets.
static
<T> Set<T>
intersection(Set<? extends T> set1, 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 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 new Set that is the intersection of the given sets.


intersection

public static <T> Set<T> intersection(Set<? extends T>... sets)
Construct a new Set that is the intersection of all the given sets.

Parameters:
sets - the sets to intersect
Returns:
the intersection of the sets
Throws:
IllegalArgumentException - if there are no sets to intersect


Copyright © 2010-2012. All Rights Reserved.