
org.infinispan.configuration.cache.DataContainerConfiguration Maven / Gradle / Ivy
package org.infinispan.configuration.cache;
import org.infinispan.commons.configuration.AbstractTypedPropertiesConfiguration;
import org.infinispan.commons.configuration.attributes.Attribute;
import org.infinispan.commons.configuration.attributes.AttributeDefinition;
import org.infinispan.commons.configuration.attributes.AttributeSet;
import org.infinispan.commons.configuration.attributes.IdentityAttributeCopier;
import org.infinispan.commons.equivalence.AnyEquivalence;
import org.infinispan.commons.equivalence.Equivalence;
import org.infinispan.container.DataContainer;
/**
* Controls the data container for the cache.
*
* @author pmuir
*
*/
public class DataContainerConfiguration extends AbstractTypedPropertiesConfiguration {
public static final AttributeDefinition DATA_CONTAINER = AttributeDefinition
.builder("dataContainer", null, DataContainer.class).copier(IdentityAttributeCopier.INSTANCE).immutable().build();
public static final AttributeDefinition KEY_EQUIVALENCE = AttributeDefinition
. builder("keyEquivalence", AnyEquivalence.getInstance()).copier(IdentityAttributeCopier.INSTANCE).immutable().build();
public static final AttributeDefinition VALUE_EQUIVALENCE = AttributeDefinition
. builder("valueEquivalence", AnyEquivalence.getInstance()).copier(IdentityAttributeCopier.INSTANCE).immutable().build();
static public AttributeSet attributeDefinitionSet() {
return new AttributeSet(DataContainerConfiguration.class, AbstractTypedPropertiesConfiguration.attributeSet(),
DATA_CONTAINER, KEY_EQUIVALENCE, VALUE_EQUIVALENCE);
}
private final Attribute dataContainer;
private final Attribute keyEquivalence;
private final Attribute valueEquivalence;
DataContainerConfiguration(AttributeSet attributes) {
super(attributes);
dataContainer = attributes.attribute(DATA_CONTAINER);
keyEquivalence = attributes.attribute(KEY_EQUIVALENCE);
valueEquivalence = attributes.attribute(VALUE_EQUIVALENCE);
}
/**
* Data container implementation in use
*
* @return
* @deprecated data container is no longer to exposed via configuration at a later point
*/
public DataContainer dataContainer() {
return dataContainer.get();
}
@SuppressWarnings("unchecked")
public Equivalence keyEquivalence() {
return keyEquivalence.get();
}
@SuppressWarnings("unchecked")
public Equivalence valueEquivalence() {
return valueEquivalence.get();
}
public AttributeSet attributes() {
return attributes;
}
@Override
public String toString() {
return "DataContainerConfiguration [attributes=" + attributes + "]";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy