private static < T > List < TableFactory > filterByFactoryClass ( Class < T > factoryClass , Map < String , String > properties , List < TableFactory > foundFactories ) { List < TableFactory > classFactories = foundFactories . stream ( ) . filter ( p -> factoryClass . isAssignableFrom ( p . getClass ( ) ) ) . collect ( Collectors . toList ( ) ) ; if ( classFactories . isEmpty ( ) ) { throw new NoMatchingTableFactoryException ( String . format ( "No factory implements '%s'." , factoryClass . getCanonicalName ( ) ) , factoryClass , foundFactories , properties ) ; } return classFactories ; }
Filters factories with matching context by factory class .