/** * Configuration for {@link DataSourceConnectionFactory}. * @author Paul Ferraro */ @BuiltBy(DataSourceConnectionFactoryConfigurationBuilder.class) public class DataSourceConnectionFactoryConfiguration implements ConnectionFactoryConfiguration { private final DataSource dataSource; public DataSourceConnectionFactoryConfiguration(DataSource dataSource) { this.dataSource = dataSource; } public DataSource getDataSource() { return this.dataSource; } @Override public Class<? extends ConnectionFactory> connectionFactoryClass() { return DataSourceConnectionFactory.class; } }
/** * The same as {@link org.infinispan.commons.configuration.ConfigurationUtils#builderFor(Object)} except that it won't * throw an exception if no builder class is found. Instead null will be returned. * @param built The instance to find the builder for * @param <B> The type of builder * @return The builder for this instance or null if there isn't one */ @SuppressWarnings("unchecked") public static <B> Class<? extends Builder<B>> builderForNonStrict(B built) { BuiltBy builtBy = built.getClass().getAnnotation(BuiltBy.class); if (builtBy == null) { return null; } return (Class<? extends Builder<B>>) builtBy.value(); } }
/** * Returns the builder that was used to build this class. This is determined by the instance having a class that * has a {@link org.infinispan.commons.configuration.BuiltBy} annotation present on it. If one is not present * a {@link org.infinispan.commons.CacheConfigurationException} is thrown * @param built The instance to find the builder for * @param <B> The type of builder * @return The builder for this instance * @throws CacheConfigurationException thrown if the instance class can't provide the builder */ @SuppressWarnings("unchecked") public static <B> Class<? extends Builder<B>> builderFor(B built) throws CacheConfigurationException { BuiltBy builtBy = built.getClass().getAnnotation(BuiltBy.class); if (builtBy == null) { throw new CacheConfigurationException("Missing BuiltBy annotation for configuration bean " + built.getClass().getName()); } return (Class<? extends Builder<B>>) builtBy.value(); }
/** * @author Radoslav Husar */ @SuppressWarnings("deprecation") @BuiltBy(HotRodStoreConfigurationBuilder.class) @ConfigurationFor(HotRodStore.class) public class HotRodStoreConfiguration extends AbstractStoreConfiguration { static final AttributeDefinition<RemoteCacheContainer> REMOTE_CACHE_CONTAINER = AttributeDefinition.builder("remoteCacheContainer", null, RemoteCacheContainer.class).build(); static final AttributeDefinition<String> CACHE_CONFIGURATION = AttributeDefinition.builder("cacheConfiguration", null, String.class).build(); public HotRodStoreConfiguration(AttributeSet attributes, AsyncStoreConfiguration async, SingletonStoreConfiguration singletonStore) { super(attributes, async, singletonStore); } @Override public String toString() { return "HotRodStoreConfiguration{attributes=" + this.attributes + '}'; } }
private void initializeConfigurationData() { ConfiguredBy configuredBy = loaderWriterRawInstance.getClass().getAnnotation(ConfiguredBy.class); if (configuredBy != null) { if (configuredBy.value() == null) { throw new IllegalArgumentException("Cache Store's configuration class is incorrect"); } this.storeConfigurationClass = (Class<? extends StoreConfiguration>) configuredBy.value(); BuiltBy builtBy = storeConfigurationClass.getAnnotation(BuiltBy.class); if (builtBy != null) { if (builtBy.value() == null) { throw new IllegalArgumentException("Cache Store's configuration builder class is incorrect"); } this.storeBuilderClass = builtBy.value().asSubclass(StoreConfigurationBuilder.class); } else { this.storeBuilderClass = CustomStoreConfigurationBuilder.class; } } else { this.storeConfigurationClass = CustomStoreConfiguration.class; this.storeBuilderClass = CustomStoreConfigurationBuilder.class; } }
/** * Configuration for {@link DataSourceConnectionFactory}. * @author Paul Ferraro */ @BuiltBy(DataSourceConnectionFactoryConfigurationBuilder.class) public class DataSourceConnectionFactoryConfiguration implements ConnectionFactoryConfiguration { private final DataSource dataSource; public DataSourceConnectionFactoryConfiguration(DataSource dataSource) { this.dataSource = dataSource; } public DataSource getDataSource() { return this.dataSource; } @Override public Class<? extends ConnectionFactory> connectionFactoryClass() { return DataSourceConnectionFactory.class; } }
private StoreConfigurationBuilder<?, ?> createStoreConfigurationFromLocalClassloader(String className, PersistenceConfigurationBuilder persistenceBuilder) throws ClassNotFoundException { Class<?> storeImplClass = CacheLoader.class.getClassLoader().loadClass(className); ConfiguredBy annotation = storeImplClass.getAnnotation(ConfiguredBy.class); Class<? extends StoreConfigurationBuilder> builderClass = null; if (annotation != null) { Class<?> configuredBy = annotation.value(); if (configuredBy != null) { BuiltBy builtBy = configuredBy.getAnnotation(BuiltBy.class); builderClass = builtBy.value().asSubclass(StoreConfigurationBuilder.class); } } if (builderClass == null) { return persistenceBuilder.addStore(CustomStoreConfigurationBuilder.class).customStoreClass(storeImplClass); } return persistenceBuilder.addStore(builderClass); }
@BuiltBy(MemcachedServerConfigurationBuilder.class) public class MemcachedServerConfiguration extends ProtocolServerConfiguration {
@BuiltBy(DeployedStoreConfigurationBuilder.class) public class DeployedStoreConfiguration extends AbstractStoreConfiguration {
@BuiltBy(ManagedConnectionFactoryConfigurationBuilder.class) public class ManagedConnectionFactoryConfiguration implements ConnectionFactoryConfiguration { private final String jndiUrl;
@BuiltBy(PooledConnectionFactoryConfigurationBuilder.class) public class PooledConnectionFactoryConfiguration implements ConnectionFactoryConfiguration { private final String propertyFile;
@BuiltBy(HotRodServerConfigurationBuilder.class) public class HotRodServerConfiguration extends ProtocolServerConfiguration { public static final String TOPOLOGY_CACHE_NAME_PREFIX = "___hotRodTopologyCache";
@BuiltBy(SimpleConnectionFactoryConfigurationBuilder.class) public class SimpleConnectionFactoryConfiguration implements ConnectionFactoryConfiguration { private final String connectionUrl;
@BuiltBy(ConnectionPoolConfigurationBuilder.class) public class ConnectionPoolConfiguration { public static final AttributeDefinition<Integer> CONNECTION_TIMEOUT = AttributeDefinition.builder("connectionTimeout", 60000).immutable().build();
@BuiltBy(MyModuleConfigurationBuilder.class) public class MyModuleConfiguration { final private String attribute; MyModuleConfiguration(String attribute) { this.attribute = attribute; } public String attribute() { return attribute; } }
@BuiltBy(SharedConnectionFactoryConfigurationBuilder.class) public static class SharedConnectionFactoryConfiguration extends PooledConnectionFactoryConfiguration { SharedConnectionFactoryConfiguration(String connectionUrl, String driverClass, String username, String password) { super(null, connectionUrl, driverClass, username, password); } @Override public Class<? extends ConnectionFactory> connectionFactoryClass() { return SharedConnectionFactory.class; } }
/** * @author Radoslav Husar */ @SuppressWarnings("deprecation") @BuiltBy(HotRodStoreConfigurationBuilder.class) @ConfigurationFor(HotRodStore.class) public class HotRodStoreConfiguration extends AbstractStoreConfiguration { static final AttributeDefinition<RemoteCacheContainer> REMOTE_CACHE_CONTAINER = AttributeDefinition.builder("remoteCacheContainer", null, RemoteCacheContainer.class).build(); static final AttributeDefinition<String> CACHE_CONFIGURATION = AttributeDefinition.builder("cacheConfiguration", null, String.class).build(); public HotRodStoreConfiguration(AttributeSet attributes, AsyncStoreConfiguration async, SingletonStoreConfiguration singletonStore) { super(attributes, async, singletonStore); } @Override public String toString() { return "HotRodStoreConfiguration{attributes=" + this.attributes + '}'; } }
@BuiltBy(LuceneLoaderConfigurationBuilder.class) @ConfigurationFor(LuceneCacheLoader.class) public class LuceneLoaderConfiguration extends AbstractStoreConfiguration {
@BuiltBy(CustomStoreConfigurationBuilder.class) public class CustomStoreConfigurationWithBuilder implements StoreConfiguration {
@BuiltBy(LuceneLoaderConfigurationBuilder.class) @ConfigurationFor(LuceneCacheLoader.class) public class LuceneLoaderConfiguration extends AbstractStoreConfiguration {