java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.privacy.packet.Privacy
All Implemented Interfaces:
org.jivesoftware.smack.packet.Element, org.jivesoftware.smack.packet.IqView, org.jivesoftware.smack.packet.NamedElement, org.jivesoftware.smack.packet.StanzaView, org.jivesoftware.smack.packet.TopLevelStreamElement, org.jivesoftware.smack.packet.XmlElement, org.jivesoftware.smack.packet.XmlLangElement

public class Privacy extends org.jivesoftware.smack.packet.IQ
A Privacy IQ Packet, is used by the PrivacyListManager and PrivacyProvider to allow and block communications from other users. It contains the appropriate structure to suit user-defined privacy lists. Different configured Privacy packages are used in the server and manager communication in order to:
  • Retrieving one's privacy lists.
  • Adding, removing, and editing one's privacy lists.
  • Setting, changing, or declining active lists.
  • Setting, changing, or declining the default list (i.e., the list that is active by default).
Privacy Items can handle different kind of blocking communications based on JID, group, subscription type or globally PrivacyItem
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ

    org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder, org.jivesoftware.smack.packet.IQ.ResponseType, org.jivesoftware.smack.packet.IQ.Type
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     

    Fields inherited from class org.jivesoftware.smack.packet.IQ

    IQ_ELEMENT, QUERY_ELEMENT

    Fields inherited from class org.jivesoftware.smack.packet.Stanza

    DEFAULT_LANGUAGE, ITEM, language, TEXT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Sets a given privacy list as the new user default list.
    void
    deleteList(String listName)
    Remove the list.
    void
    Deletes an existing privacy list.
    Returns the name associated with the active list set for the session.
    Returns the active privacy list or null if none was found.
    Returns the name of the default list that applies to the user as a whole.
    Returns the default privacy list or null if none was found.
    protected org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder
    getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder buf)
     
    getItem(String listName, int order)
     
    getItem(String listName, org.jivesoftware.smack.datatypes.UInt32 order)
    Returns the privacy item in the specified order.
    Returns the collection of privacy list that the user holds.
    Returns a specific privacy list.
    Returns all the list names the user has defined to group restrictions.
    boolean
    Returns whether the receiver allows or declines the use of an active list.
    boolean
    Returns whether the receiver allows or declines the use of a default list.
    void
    setActiveName(String activeName)
    Sets the name associated with the active list set for the session.
    Set the active list based on the default list.
    void
    setDeclineActiveList(boolean declineActiveList)
    Sets whether the receiver allows or declines the use of an active list.
    void
    setDeclineDefaultList(boolean declineDefaultList)
    Sets whether the receiver allows or declines the use of a default list.
    void
    setDefaultName(String defaultName)
    Sets the name of the default list that applies to the user as a whole.
    setPrivacyList(String listName, List<PrivacyItem> listItem)
    Set or update a privacy list with privacy items.

    Methods inherited from class org.jivesoftware.smack.packet.IQ

    createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementQName, getChildElementXML, getElementName, getType, setType, toString, toXML

    Methods inherited from class org.jivesoftware.smack.packet.Stanza

    addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensionElement, getExtensions, getExtensions, getExtensions, getExtensions, getExtensionsMap, getFrom, getLanguage, getNamespace, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, setError, setFrom, setNewStanzaId, setStanzaId, setTo, throwIfNoStanzaId

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.jivesoftware.smack.packet.Element

    toXML, toXML

    Methods inherited from interface org.jivesoftware.smack.packet.IqView

    isRequestIQ, isResponseIQ

    Methods inherited from interface org.jivesoftware.smack.packet.StanzaView

    getError, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getFrom, getStanzaId, getTo, hasExtension, hasExtension, hasExtension

    Methods inherited from interface org.jivesoftware.smack.packet.XmlElement

    getQName
  • Field Details

  • Constructor Details

    • Privacy

      public Privacy()
  • Method Details

    • setPrivacyList

      public List<PrivacyItem> setPrivacyList(String listName, List<PrivacyItem> listItem)
      Set or update a privacy list with privacy items.
      Parameters:
      listName - the name of the new privacy list.
      listItem - the PrivacyItem that rules the list.
      Returns:
      the privacy List.
    • setActivePrivacyList

      public List<PrivacyItem> setActivePrivacyList()
      Set the active list based on the default list.
      Returns:
      the active List.
    • deletePrivacyList

      public void deletePrivacyList(String listName)
      Deletes an existing privacy list. If the privacy list being deleted was the default list then the user will end up with no default list. Therefore, the user will have to set a new default list.
      Parameters:
      listName - the name of the list being deleted.
    • getActivePrivacyList

      public List<PrivacyItem> getActivePrivacyList()
      Returns the active privacy list or null if none was found.
      Returns:
      list with PrivacyItem or null if none was found.
    • getDefaultPrivacyList

      public List<PrivacyItem> getDefaultPrivacyList()
      Returns the default privacy list or null if none was found.
      Returns:
      list with PrivacyItem or null if none was found.
    • getPrivacyList

      public List<PrivacyItem> getPrivacyList(String listName)
      Returns a specific privacy list.
      Parameters:
      listName - the name of the list to get.
      Returns:
      a List with PrivacyItem
    • getItem

      public PrivacyItem getItem(String listName, int order)
    • getItem

      public PrivacyItem getItem(String listName, org.jivesoftware.smack.datatypes.UInt32 order)
      Returns the privacy item in the specified order.
      Parameters:
      listName - the name of the privacy list.
      order - the order of the element.
      Returns:
      a List with PrivacyItem
    • changeDefaultList

      public boolean changeDefaultList(String newDefault)
      Sets a given privacy list as the new user default list.
      Parameters:
      newDefault - the new default privacy list.
      Returns:
      if the default list was changed.
    • deleteList

      public void deleteList(String listName)
      Remove the list.
      Parameters:
      listName - name of the list to remove.
    • getActiveName

      public String getActiveName()
      Returns the name associated with the active list set for the session. Communications will be verified against the active list.
      Returns:
      the name of the active list.
    • setActiveName

      public void setActiveName(String activeName)
      Sets the name associated with the active list set for the session. Communications will be verified against the active list.
      Parameters:
      activeName - is the name of the active list.
    • getDefaultName

      public String getDefaultName()
      Returns the name of the default list that applies to the user as a whole. Default list is processed if there is no active list set for the target session/resource to which a stanza is addressed, or if there are no current sessions for the user.
      Returns:
      the name of the default list.
    • setDefaultName

      public void setDefaultName(String defaultName)
      Sets the name of the default list that applies to the user as a whole. Default list is processed if there is no active list set for the target session/resource to which a stanza is addressed, or if there are no current sessions for the user. If there is no default list set, then all Privacy Items are processed.
      Parameters:
      defaultName - is the name of the default list.
    • getItemLists

      public Map<String,List<PrivacyItem>> getItemLists()
      Returns the collection of privacy list that the user holds. A Privacy List contains a set of rules that define if communication with the list owner is allowed or denied. Users may have zero, one or more privacy items.
      Returns:
      a map where the key is the name of the list and the value the collection of privacy items.
    • isDeclineActiveList

      public boolean isDeclineActiveList()
      Returns whether the receiver allows or declines the use of an active list.
      Returns:
      the decline status of the list.
    • setDeclineActiveList

      public void setDeclineActiveList(boolean declineActiveList)
      Sets whether the receiver allows or declines the use of an active list.
      Parameters:
      declineActiveList - indicates if the receiver declines the use of an active list.
    • isDeclineDefaultList

      public boolean isDeclineDefaultList()
      Returns whether the receiver allows or declines the use of a default list.
      Returns:
      the decline status of the list.
    • setDeclineDefaultList

      public void setDeclineDefaultList(boolean declineDefaultList)
      Sets whether the receiver allows or declines the use of a default list.
      Parameters:
      declineDefaultList - indicates if the receiver declines the use of a default list.
    • getPrivacyListNames

      public Set<String> getPrivacyListNames()
      Returns all the list names the user has defined to group restrictions.
      Returns:
      a Set with Strings containing every list names.
    • getIQChildElementBuilder

      protected org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder buf)
      Specified by:
      getIQChildElementBuilder in class org.jivesoftware.smack.packet.IQ