1 package com.lexicalscope.fluentreflection; 2 3 import java.util.List; 4 5 import org.hamcrest.Matcher; 6 7 interface ReflectedMembers<T> { 8 List<FluentClass<?>> superclassesAndInterfaces(Matcher<? super FluentClass<?>> supertypeMatcher); 9 10 List<FluentMethod> declaredMethods(); 11 12 List<FluentMethod> methods(); 13 List<FluentMethod> methods(Matcher<? super FluentMethod> methodMatcher); 14 FluentMethod method(Matcher<? super FluentMethod> methodMatcher); 15 16 List<FluentClass<?>> superclassesAndInterfaces(); 17 18 List<FluentConstructor<T>> constructors(); 19 List<FluentConstructor<T>> constructors(Matcher<? super FluentConstructor<?>> constructorMatcher); 20 FluentConstructor<T> constructor(Matcher<? super FluentConstructor<?>> constructorMatcher); 21 22 List<FluentField> declaredFields(); 23 24 List<FluentField> fields(); 25 List<FluentField> fields(ReflectionMatcher<? super FluentField> fieldMatcher); 26 FluentField field(Matcher<? super FluentField> fieldMatcher); 27 }