public void processAnnotations(Class<?> classHierarchy)
                    throws InjectionException
    {
        final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
        if (isTraceOn && tc.isEntryEnabled())
            Tr.entry(tc, "processAnnotations: " + classHierarchy);

        for (Class<?> klass = classHierarchy; klass != null && klass != Object.class; klass = klass.getSuperclass())
        {
            Field[] fields = getAllDeclaredFields(klass, classHierarchy);

            for (int processorIndex = 0; processorIndex < ivProviders.size(); processorIndex++)
            {
                InjectionProcessorProvider<?, ?> provider = ivProviders.get(processorIndex);

                processClassAnnotations(processorIndex, provider, klass);

                if (fields != null)
                {
                    processMemberAnnotations(processorIndex, provider, fields, fields);
                }
            }
        }

        Method[] methods = getAllDeclaredMethods(classHierarchy);
        for (int processorIndex = 0; processorIndex < ivProviders.size(); processorIndex++)
        {
            processMemberAnnotations(processorIndex, ivProviders.get(processorIndex), methods, methods);
        }

        if (isTraceOn && tc.isEntryEnabled())
            Tr.exit(tc, "processAnnotations");
    }
public void processAnnotations ( Class < ? > classHierarchy ) throws InjectionException { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "processAnnotations: " + classHierarchy ) ; for ( Class < ? > klass = classHierarchy ; klass != null && klass != Object . class ; klass = klass . getSuperclass ( ) ) { Field [ ] fields = getAllDeclaredFields ( klass , classHierarchy ) ; for ( int processorIndex = 0 ; processorIndex < ivProviders . size ( ) ; processorIndex ++ ) { InjectionProcessorProvider < ? , ? > provider = ivProviders . get ( processorIndex ) ; processClassAnnotations ( processorIndex , provider , klass ) ; if ( fields != null ) { processMemberAnnotations ( processorIndex , provider , fields , fields ) ; } } } Method [ ] methods = getAllDeclaredMethods ( classHierarchy ) ; for ( int processorIndex = 0 ; processorIndex < ivProviders . size ( ) ; processorIndex ++ ) { processMemberAnnotations ( processorIndex , ivProviders . get ( processorIndex ) , methods , methods ) ; } if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "processAnnotations" ) ; }
Process all class, field, and method annotations for the class hierarchy.

@param classHierarchy the subclass of the hierarchy to process