package org.infinispan.distribution.group.impl; import org.infinispan.distribution.DistributionManager; 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. * * @deprecated Since 9.0, please use {@link DistributionManager#getCacheTopology()} instead. */ @Deprecated boolean isOwner(String group); /** * It returns the primary owner of the group. * * @param group the group name. * @return the primary owner of the group. * * @deprecated Since 9.0, please use {@link DistributionManager#getCacheTopology()} instead. */ @Deprecated 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. * * @deprecated Since 9.0, please use {@link DistributionManager#getCacheTopology()} instead. */ @Deprecated boolean isPrimaryOwner(String group); }