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

org.jivesoftware.openfire.group.GroupAwareMap Maven / Gradle / Ivy

The newest version!
package org.jivesoftware.openfire.group;

import java.util.Map;
import java.util.Set;

/**
 * This map specifies additional methods that understand groups among 
 * the entries in the map.
 * 
 * @author Tom Evans
 */

public interface GroupAwareMap extends Map {

    /**
     * Returns true if the map's keySet contains the given JID. If the JID
     * is not found explicitly, search the keySet for groups and look 
     * for the JID in each of the corresponding groups.
     * 
     * @param key The target, presumably a JID
     * @return True if the target is in the key list, or in any groups in the key list
     */
    boolean includesKey( Object key );

    /**
     * Returns true if the map contains a value referencing the given JID. If the JID
     * is not found explicitly, search the values for groups and look 
     * for the JID in each of the corresponding groups.
     * 
     * @param value The target, presumably a JID
     * @return True if the target is in the key list, or in any groups in the key list
     */
    boolean includesValue( Object value );
    
    /**
     * Returns the groups that are implied (resolvable) from the keys in the map.
     * 
     * @return A new Set containing the groups in the keySet
     */
    Set getGroupsFromKeys();
    
    /**
     * Returns the groups that are implied (resolvable) from the values in the map.
     * 
     * @return A new Set containing the groups among the mapped values
     */
    Set getGroupsFromValues();
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy