From f45f5eea2eb5bed298a7372d6d2da827b0400e86 Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Sun, 3 Feb 2013 15:27:59 +0100 Subject: Add remaining Set filters to ElementFilter. 2013-02-03 Andrew John Hughes * javax/lang/model/util/ElementFilter.java: (constructorsIn(Set)): Implemented. (fieldsIn(Set)): Likewise. (methodsIn(Set)): Likewise. (packagesIn(Set)): Likewise. Signed-off-by: Andrew John Hughes --- ChangeLog | 8 +++++ javax/lang/model/util/ElementFilter.java | 52 ++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4f1cbea00..a51bd84e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2013-02-03 Andrew John Hughes + + * javax/lang/model/util/ElementFilter.java: + (constructorsIn(Set)): Implemented. + (fieldsIn(Set)): Likewise. + (methodsIn(Set)): Likewise. + (packagesIn(Set)): Likewise. + 2013-02-01 Andrew John Hughes * javax/lang/model/element/ElementKind.java: 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; /** *

Filter for selecting elements of interest from a collection. @@ -77,6 +80,55 @@ public class ElementFilter ElementKind.ANNOTATION_TYPE); } + /** + * Returns a set containing just the constructors + * held in {@code elements}. + * + * @param elements the elements to filter. + * @return the filtered set. + */ + public static Set constructorsIn(Set elements) + { + return new FilteredSet(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 fieldsIn(Set elements) + { + return new FilteredSet(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 methodsIn(Set elements) + { + return new FilteredSet(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 packagesIn(Set elements) + { + return new FilteredSet(elements, ElementKind.PACKAGE); + } + /** * Provides a filtered view of the given set, returning only * instances which are of one of the specified kinds. -- cgit v1.2.1