All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.distribution.group.GroupManager Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.distribution.group;

import org.infinispan.remoting.transport.Address;

/**
 * Control's key grouping.
 *
 * @author Pete Muir
 */
public interface GroupManager {

	/**
	 * Get the group for a given key
	 *
	 * @param key the key for which to get the group
	 * @return the group, or null if no group is defined for the key
	 */
	String getGroup(Object key);

   /**
    * Checks if this node is an owner of the group.
    *
    * @param group the group name.
    * @return {@code true} if this node is an owner of the group, {@code false} otherwise.
    */
   boolean isOwner(String group);

   /**
    * It returns the primary owner of the group.
    *
    * @param group the group name.
    * @return the primary owner of the group.
    */
   Address getPrimaryOwner(String group);

   /**
    * It checks if this node is the primary owner of the group.
    *
    * @param group the group name.
    * @return {@code true} if this node is the primary owner of the group, {@code false} otherwise.
    */
   boolean isPrimaryOwner(String group);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy