package org.infinispan.topology; import org.infinispan.factories.AbstractComponentFactory; import org.infinispan.factories.AutoInstantiableFactory; import org.infinispan.factories.annotations.DefaultFactoryFor; import org.infinispan.factories.scopes.Scope; import org.infinispan.factories.scopes.Scopes; /** * Factory for ClusterTopologyManager implementations * * @author Dan Berindei * @since 5.2 */ @Scope(Scopes.GLOBAL) @DefaultFactoryFor(classes = ClusterTopologyManager.class) public class ClusterTopologyManagerFactory extends AbstractComponentFactory implements AutoInstantiableFactory { @Override @SuppressWarnings("unchecked") public <T> T construct(Class<T> componentType) { if (globalConfiguration.transport().transport() == null) return null; return (T) new ClusterTopologyManagerImpl(); } }