code: protected AbstractComponentFactory getFactory(Class<?> componentClass) {
        String cfClass = getComponentMetadataRepo().findFactoryForComponent(componentClass);
        if (cfClass == null) {
           throw new CacheConfigurationException("No registered default factory for component '" + componentClass + "' found!");
        }
        return basicComponentRegistry.getComponent(cfClass, AbstractComponentFactory.class).wired();
     }
docs: Retrieves a component factory instance capable of constructing components of a specified type.  If the factory
  doesn't exist in the registry, one is created.
  
  @param componentClass type of component to construct
  @return component factory capable of constructing such components