package org.infinispan.factories; /** * A specialized type of component factory that knows how to create named components, identified with the {@link * org.infinispan.factories.annotations.ComponentName} annotation on the classes requested in {@link * org.infinispan.factories.annotations.Inject} annotated methods. * * @author Manik Surtani * @since 4.0 */ public abstract class NamedComponentFactory extends AbstractComponentFactory { @Override public <T> T construct(Class<T> componentType) { // by default, use the FQCN of the component type. return construct(componentType, componentType.getName()); } /** * Constructs a component. * * @param componentType type of component * @return a component */ public abstract <T> T construct(Class<T> componentType, String componentName); }