Interface ISFSBuddyApi

  • All Known Implementing Classes:
    SFSBuddyApi

    public interface ISFSBuddyApi
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addBuddy​(User owner, java.lang.String buddyName, boolean isTemp, boolean fireClientEvent, boolean fireServerEvent)
      Adds a new buddy to the BuddyList of the specified User.
      void addBuddy​(Zone zone, java.lang.String ownerName, java.lang.String buddyName, boolean isTemp, boolean fireClientEvent, boolean fireServerEvent)
      Adds a buddy to the User's buddy list even if the User is not online at the moment This feature is not implemented yet.
      void blockBuddy​(User owner, java.lang.String buddyName, boolean isBlocked, boolean fireClientEvent, boolean fireServerEvent)
      Block/Unblock a Buddy in the owner's BuddyList Blocked buddies won't be able to see the owner online status and send him messages or updates
      com.smartfoxserver.v2.api.ISFSBuddyResponseApi getResponseAPI()  
      void goOnline​(User user, boolean online, boolean fireServerEvent)
      Activates/De-activates the Buddy ONLINE status of the User.
      BuddyList initBuddyList​(User user, boolean fireServerEvent)
      Initialize the buddy list for the requested User.
      void removeBuddy​(User owner, java.lang.String buddyName, boolean fireClientEvent, boolean fireServerEvent)
      Remove a Buddy from the owner's BuddyList
      void removeBuddy​(Zone zone, java.lang.String ownerName, java.lang.String buddyName, boolean fireClientEvent, boolean fireServerEvent)
      Removes a Buddy from the owner's BuddyList even if the User is not online at the moment This feature is not implemented yet.
      void sendBuddyMessage​(User sender, User recipient, java.lang.String message, ISFSObject params)
      Send a Buddy Message to any Buddy in your list.
      void setBuddyVariables​(User owner, java.util.List<BuddyVariable> buddyVariables, boolean fireClientEvent, boolean fireServerEvent)
      Set any number of BuddyVariables for the specified owner
    • Method Detail

      • getResponseAPI

        com.smartfoxserver.v2.api.ISFSBuddyResponseApi getResponseAPI()
      • initBuddyList

        BuddyList initBuddyList​(User user,
                                boolean fireServerEvent)
                         throws java.io.IOException
        Initialize the buddy list for the requested User. This involves loading previous data from the BuddyList storage.
        Parameters:
        user - the User
        fireServerEvent - if true fires a server side event (BUDDY_LIST_INIT)
        Returns:
        the loaded BuddyList
        Throws:
        java.io.IOException
      • goOnline

        void goOnline​(User user,
                      boolean online,
                      boolean fireServerEvent)
               throws SFSBuddyListException
        Activates/De-activates the Buddy ONLINE status of the User. All clients who have the User as their Buddy will see him as online.
        Parameters:
        user - the User
        online - the online status
        fireServerEvent - if true fires a server side event (BUDDY_ONLINE)
        Throws:
        SFSBuddyListException
      • addBuddy

        void addBuddy​(Zone zone,
                      java.lang.String ownerName,
                      java.lang.String buddyName,
                      boolean isTemp,
                      boolean fireClientEvent,
                      boolean fireServerEvent)
               throws SFSBuddyListException
        Adds a buddy to the User's buddy list even if the User is not online at the moment This feature is not implemented yet.
        Parameters:
        zone -
        ownerName -
        buddyName -
        isTemp -
        fireClientEvent -
        fireServerEvent -
        Throws:
        SFSBuddyListException
      • addBuddy

        void addBuddy​(User owner,
                      java.lang.String buddyName,
                      boolean isTemp,
                      boolean fireClientEvent,
                      boolean fireServerEvent)
               throws SFSBuddyListException
        Adds a new buddy to the BuddyList of the specified User.
        Parameters:
        owner - the owner User
        buddyName - the name of the buddy to add
        isTemp - if true, the Buddy is only temporary and will be lost when the user logs out
        fireClientEvent - if true, send a client update
        fireServerEvent - if true, fire a server event (BUDDY_ADDED)
        Throws:
        SFSBuddyListException - an error might occur if the BuddyList is full or the buddy was already added
      • setBuddyVariables

        void setBuddyVariables​(User owner,
                               java.util.List<BuddyVariable> buddyVariables,
                               boolean fireClientEvent,
                               boolean fireServerEvent)
                        throws SFSBuddyListException
        Set any number of BuddyVariables for the specified owner
        Parameters:
        owner - the owner User
        buddyVariables - a list of variables
        fireClientEvent - if true, send a client update
        fireServerEvent - if true, fire a server event (BUDDY_VARIABLES_UPDATE)
        Throws:
        SFSBuddyListException - an error might occur if the limit of variables allowed is exceeded
      • removeBuddy

        void removeBuddy​(User owner,
                         java.lang.String buddyName,
                         boolean fireClientEvent,
                         boolean fireServerEvent)
        Remove a Buddy from the owner's BuddyList
        Parameters:
        owner - the owner
        buddyName - the Buddy name
        fireClientEvent - if true send a client update
        fireServerEvent - if true fire a server side event (BUDDY_REMOVED)
      • removeBuddy

        void removeBuddy​(Zone zone,
                         java.lang.String ownerName,
                         java.lang.String buddyName,
                         boolean fireClientEvent,
                         boolean fireServerEvent)
        Removes a Buddy from the owner's BuddyList even if the User is not online at the moment This feature is not implemented yet.
        Parameters:
        zone -
        ownerName -
        buddyName -
        fireClientEvent -
        fireServerEvent -
      • blockBuddy

        void blockBuddy​(User owner,
                        java.lang.String buddyName,
                        boolean isBlocked,
                        boolean fireClientEvent,
                        boolean fireServerEvent)
        Block/Unblock a Buddy in the owner's BuddyList Blocked buddies won't be able to see the owner online status and send him messages or updates
        Parameters:
        owner - the BuddyList owner
        buddyName - the name of the Buddy to block/unblock
        isBlocked - the 'blocked' flag
        fireClientEvent - if true send a client update
        fireServerEvent - if true fire a server side event (BUDDY_BLOCK_UPDATE)
      • sendBuddyMessage

        void sendBuddyMessage​(User sender,
                              User recipient,
                              java.lang.String message,
                              ISFSObject params)
                       throws SFSBuddyListException
        Send a Buddy Message to any Buddy in your list. A Buddy message is similar to a regular chat Private Message but it is meant to work with the BuddyList taking into account the Buddy blocked state etc...
        Parameters:
        sender - the sender of the message
        recipient - the recipient of the message (must be a Buddy in the sender's BuddyList)
        message - the message
        params - custom parameters
        Throws:
        SFSBuddyListException - thrown if the Buddy is not in the sender's Buddy List or if the recipient has blocked the sender