/******************************************************************************************************************* * * Scans all the given role implementation classes and build a map of roles by owner class. * * @param roleImplementationTypes the types of role implementations to scan * ******************************************************************************************************************/ protected void scan (final @Nonnull Collection<Class<?>> roleImplementationTypes) { log.debug("scan({})", shortNames(roleImplementationTypes)); for (final Class<?> roleImplementationType : roleImplementationTypes) { for (final Class<?> datumType : findDatumTypesForRole(roleImplementationType)) { for (final Class<?> roleType : findAllImplementedInterfacesOf(roleImplementationType)) { if (!roleType.getName().equals("org.springframework.beans.factory.aspectj.ConfigurableObject")) { roleMapByDatumAndRole.add(new DatumAndRole(datumType, roleType), roleImplementationType); } } } } logRoles(); }