/** * Check if the given {@code field} should hold one or more Managed Objects. * * @param field * @return */ public boolean isAManyElementsProvider( Field field ) { for ( final FieldQualifierExtractor extractor : extractors ) if ( extractor.isAManyElementsProvider( field ) ) return true; return false; } }
/** * Check if the given {@code field} should hold a Managed Object. * * @param field * @return */ public boolean isASingleElementProvider( Field field ) { for ( final FieldQualifierExtractor extractor : extractors ) if ( extractor.isASingleElementProvider( field ) ) return true; return false; }
/** * Check if the given Annotation {@code ann} is a Qualifier Annotation. * * @param ann * @return */ public boolean isAnnotatedWithQualifierAnnotation( Class<? extends Annotation> ann ){ for ( final FieldQualifierExtractor extractor : extractors ) if ( extractor.isAnnotatedWithQualifierAnnotation(ann) ) return true; return false; }
/** * Extract Qualifier Annotation from a given {@code field}. * * @param field * @return */ public Collection<Class<? extends Annotation>> extractQualifiersFrom( Field field ){ final Collection<Class<? extends Annotation>> anns = new TinyList<>(); for ( final FieldQualifierExtractor extractor : extractors ) anns.addAll( extractor.extractQualifiersFrom(field) ); return anns; }
default List<Class<? extends Annotation>> extractQualifiersFrom(Field field) { final List<Class<? extends Annotation>> anns = new TinyList<>(); for ( final Annotation ann : field.getAnnotations() ) if ( isAnnotatedWithQualifierAnnotation( ann.annotationType() ) ) anns.add( ann.annotationType() ); return anns; }