diff options
Diffstat (limited to 'javax/lang')
-rw-r--r-- | javax/lang/model/util/ElementFilter.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/javax/lang/model/util/ElementFilter.java b/javax/lang/model/util/ElementFilter.java index 88d2c6bda..9ddff2c65 100644 --- a/javax/lang/model/util/ElementFilter.java +++ b/javax/lang/model/util/ElementFilter.java @@ -45,7 +45,10 @@ import java.util.Set; import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; +import javax.lang.model.element.ExecutableElement; +import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; +import javax.lang.model.element.VariableElement; /** * <p>Filter for selecting elements of interest from a collection. @@ -78,6 +81,55 @@ public class ElementFilter } /** + * Returns a set containing just the constructors + * held in {@code elements}. + * + * @param elements the elements to filter. + * @return the filtered set. + */ + public static Set<ExecutableElement> constructorsIn(Set<? extends Element> elements) + { + return new FilteredSet<ExecutableElement>(elements, ElementKind.CONSTRUCTOR); + } + + /** + * Returns a set containing just the fields + * held in {@code elements}. + * + * @param elements the elements to filter. + * @return the filtered set. + */ + public static Set<VariableElement> fieldsIn(Set<? extends Element> elements) + { + return new FilteredSet<VariableElement>(elements, ElementKind.FIELD, + ElementKind.ENUM_CONSTANT); + } + + /** + * Returns a set containing just the methods + * held in {@code elements}. + * + * @param elements the elements to filter. + * @return the filtered set. + */ + public static Set<ExecutableElement> methodsIn(Set<? extends Element> elements) + { + return new FilteredSet<ExecutableElement>(elements, ElementKind.METHOD); + } + + /** + * Returns a set containing just the packages + * held in {@code elements}. + * + * @param elements the elements to filter. + * @return the filtered set. + */ + public static Set<PackageElement> packagesIn(Set<? extends Element> elements) + { + return new FilteredSet<PackageElement>(elements, ElementKind.PACKAGE); + } + + /** * Provides a filtered view of the given set, returning only * instances which are of one of the specified kinds. */ |