static void validateAsyncOnInterfaces ( Class < ? > [ ] ifaces , TraceComponent tc ) { if ( ifaces != null ) { for ( Class < ? > iface : ifaces ) { // d645943 - Modified the fix integrated for d618337 to include both // the class-level and method-level checks. Since no-interface view // beans are the interface, we need to check that the business // "interface" is really a Java interface. if ( iface . isInterface ( ) ) { if ( iface . getAnnotation ( Asynchronous . class ) != null ) { //interface contains class-level @Asynchronous annotation Tr . warning ( tc , "ASYNC_ON_INTERFACE_CNTR0305W" , iface . getName ( ) ) ; continue ; } for ( Method m : iface . getMethods ( ) ) { if ( m . getAnnotation ( Asynchronous . class ) != null ) { //interface method contains @Asynchronous annotation Tr . warning ( tc , "ASYNC_ON_INTERFACE_CNTR0305W" , iface . getName ( ) ) ; break ; // break out of the method for-loop - continue on to the next interface } } } } } }
F743 - 13921