org.infinispan.config.GroupsConfiguration Maven / Gradle / Ivy
package org.infinispan.config;
import org.infinispan.config.FluentConfiguration.GroupsConfig;
import org.infinispan.distribution.group.Grouper;
import org.infinispan.util.Util;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import java.util.AbstractList;
import java.util.LinkedList;
import java.util.List;
@XmlAccessorType(XmlAccessType.PROPERTY)
@ConfigurationDoc(name="groups",desc="Configuration for various grouper definitions. See the user guide for more information")
public class GroupsConfiguration extends AbstractFluentConfigurationBean implements GroupsConfig {
List> groupers = new LinkedList>();
@ConfigurationDocRef(targetElement = "enabled", bean = GroupsConfiguration.class)
Boolean enabled = false;
public void accept(ConfigurationBeanVisitor v) {
v.visitGroupConfig(this);
}
@XmlElement(name = "grouper")
public List getGroupGeneratorConfigurations() {
return new AbstractList() {
@Override
public GrouperConfiguration get(int index) {
return new GrouperConfiguration(groupers.get(index).getClass());
}
@Override
public boolean add(GrouperConfiguration e) {
return groupers.add(new LazyGrouper
© 2015 - 2025 Weber Informatics LLC | Privacy Policy