Class Group

    • Constructor Detail

      • Group

        public Group()
        Constructor added for Externalizable. Do not use this constructor.
      • Group

        public Group​(String name,
                     String description,
                     Collection<org.xmpp.packet.JID> members,
                     Collection<org.xmpp.packet.JID> administrators)
        Constructs a new group. Note: this constructor is intended for implementors of the GroupProvider interface. To create a new group, use the GroupManager.createGroup(String) method.
        Parameters:
        name - the name.
        description - the description.
        members - a Collection of the group members.
        administrators - a Collection of the group administrators.
      • Group

        public Group​(String name,
                     String description,
                     Collection<org.xmpp.packet.JID> members,
                     Collection<org.xmpp.packet.JID> administrators,
                     Map<String,​String> properties)
        Constructs a new group. Note: this constructor is intended for implementors of the GroupProvider interface. To create a new group, use the GroupManager.createGroup(String) method.
        Parameters:
        name - the name.
        description - the description.
        members - a Collection of the group members.
        administrators - a Collection of the group administrators.
        properties - a Map of properties with names and its values.
    • Method Detail

      • getJID

        public GroupJID getJID()
        Returns a JID for the group based on the group name. This instance will be of class GroupJID to distinguish it from other types of JIDs in the system. This method is synchronized to ensure each group has only a single JID instance created via lazy instantiation.
        Returns:
        A JID for the group.
      • getName

        public String getName()
        Returns the name of the group. For example, 'XYZ Admins'.
        Returns:
        the name of the group.
      • setName

        public void setName​(String name)
        Sets the name of the group. For example, 'XYZ Admins'. This method is restricted to those with group administration permission.
        Parameters:
        name - the name for the group.
      • getDescription

        public String getDescription()
        Returns the description of the group. The description often summarizes a group's function, such as 'Administrators of the XYZ forum'.
        Returns:
        the description of the group.
      • setDescription

        public void setDescription​(String description)
        Sets the description of the group. The description often summarizes a group's function, such as 'Administrators of the XYZ forum'. This method is restricted to those with group administration permission.
        Parameters:
        description - the description of the group.
      • getProperties

        public PersistableMap<String,​String> getProperties()
        Returns all extended properties of the group. Groups have an arbitrary number of extended properties. The returned collection can be modified to add new properties or remove existing ones.
        Returns:
        the extended properties.
      • getAll

        public Collection<org.xmpp.packet.JID> getAll()
        Returns a Collection of everyone in the group.
        Returns:
        a read-only Collection of the group administrators + members.
      • getAdmins

        public Collection<org.xmpp.packet.JID> getAdmins()
        Returns a Collection of the group administrators.
        Returns:
        a Collection of the group administrators.
      • getMembers

        public Collection<org.xmpp.packet.JID> getMembers()
        Returns a Collection of the group members.
        Returns:
        a Collection of the group members.
      • isUser

        public boolean isUser​(org.xmpp.packet.JID user)
        Returns true if the provided JID belongs to a user that is part of the group.
        Parameters:
        user - the JID address of the user to check.
        Returns:
        true if the specified user is a group user.
      • isUser

        public boolean isUser​(String username)
        Returns true if the provided username belongs to a user of the group.
        Parameters:
        username - the username to check.
        Returns:
        true if the provided username belongs to a user of the group.
      • getCachedSize

        public int getCachedSize()
                          throws CannotCalculateSizeException
        Description copied from interface: Cacheable
        Returns the approximate size of the Object in bytes. The size should be considered to be a best estimate of how much memory the Object occupies and may be based on empirical trials or dynamic calculations.

        Specified by:
        getCachedSize in interface Cacheable
        Returns:
        the size of the Object in bytes.
        Throws:
        CannotCalculateSizeException - if the size cannot be calculated
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • search

        public static boolean search​(org.xmpp.packet.JID needle,
                                     Object haystack)
        Search for a JID within a group. If the given haystack is not resolvable to a group, this method returns false.
        Parameters:
        needle - A JID, possibly a member/admin of the given group
        haystack - Presumably a Group, a Group name, or a JID that represents a Group
        Returns:
        true if the JID (needle) is found in the group (haystack)
      • resolveFrom

        public static Group resolveFrom​(Object proxy)
        Attempt to resolve the given object into a Group.
        Parameters:
        proxy - Presumably a Group, a Group name, or a JID that represents a Group
        Returns:
        The corresponding group, or null if the proxy cannot be resolved as a group