public class SFSBuddyApi extends java.lang.Object implements ISFSBuddyApi
Modifier and Type | Field and Description |
---|---|
protected org.slf4j.Logger |
log |
protected com.smartfoxserver.v2.api.ISFSBuddyResponseApi |
responseAPI |
protected SmartFoxServer |
sfs |
protected ISFSApi |
sfsApi |
Constructor and Description |
---|
SFSBuddyApi(SmartFoxServer sfs) |
Modifier and Type | Method and 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.
|
protected void |
initializeBuddyState(User 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
|
protected final SmartFoxServer sfs
protected final org.slf4j.Logger log
protected final com.smartfoxserver.v2.api.ISFSBuddyResponseApi responseAPI
protected final ISFSApi sfsApi
public SFSBuddyApi(SmartFoxServer sfs)
public com.smartfoxserver.v2.api.ISFSBuddyResponseApi getResponseAPI()
getResponseAPI
in interface ISFSBuddyApi
public BuddyList initBuddyList(User user, boolean fireServerEvent) throws java.io.IOException
initBuddyList
in interface ISFSBuddyApi
user
- the UserfireServerEvent
- if true fires a server side event (BUDDY_LIST_INIT)java.io.IOException
public void goOnline(User user, boolean online, boolean fireServerEvent)
goOnline
in interface ISFSBuddyApi
user
- the Useronline
- the online statusfireServerEvent
- if true fires a server side event (BUDDY_ONLINE)public void addBuddy(User owner, java.lang.String buddyName, boolean isTemp, boolean fireClientEvent, boolean fireServerEvent) throws SFSBuddyListException
addBuddy
in interface ISFSBuddyApi
owner
- the owner UserbuddyName
- the name of the buddy to addisTemp
- if true, the Buddy is only temporary and will be lost when the user logs outfireClientEvent
- if true, send a client updatefireServerEvent
- if true, fire a server event (BUDDY_ADDED)SFSBuddyListException
- an error might occur if the BuddyList is full or the buddy was already addedpublic void addBuddy(Zone zone, java.lang.String ownerName, java.lang.String buddyName, boolean isTemp, boolean fireClientEvent, boolean fireServerEvent) throws SFSBuddyListException
addBuddy
in interface ISFSBuddyApi
SFSBuddyListException
public void removeBuddy(User owner, java.lang.String buddyName, boolean fireClientEvent, boolean fireServerEvent)
removeBuddy
in interface ISFSBuddyApi
owner
- the ownerbuddyName
- the Buddy namefireClientEvent
- if true send a client updatefireServerEvent
- if true fire a server side event (BUDDY_REMOVED)public void removeBuddy(Zone zone, java.lang.String ownerName, java.lang.String buddyName, boolean fireClientEvent, boolean fireServerEvent)
ISFSBuddyApi
removeBuddy
in interface ISFSBuddyApi
public void blockBuddy(User owner, java.lang.String buddyName, boolean isBlocked, boolean fireClientEvent, boolean fireServerEvent)
blockBuddy
in interface ISFSBuddyApi
owner
- the BuddyList ownerbuddyName
- the name of the Buddy to block/unblockisBlocked
- the 'blocked' flagfireClientEvent
- if true send a client updatefireServerEvent
- if true fire a server side event (BUDDY_BLOCK_UPDATE)public void setBuddyVariables(User owner, java.util.List<BuddyVariable> buddyVariables, boolean fireClientEvent, boolean fireServerEvent) throws SFSBuddyListException
setBuddyVariables
in interface ISFSBuddyApi
owner
- the owner UserbuddyVariables
- a list of variablesfireClientEvent
- if true, send a client updatefireServerEvent
- if true, fire a server event (BUDDY_VARIABLES_UPDATE)SFSBuddyListException
- an error might occur if the limit of variables allowed is exceededpublic void sendBuddyMessage(User sender, User recipient, java.lang.String message, ISFSObject params) throws SFSBuddyListException
sendBuddyMessage
in interface ISFSBuddyApi
sender
- the sender of the messagerecipient
- the recipient of the message (must be a Buddy in the sender's BuddyList)message
- the messageparams
- custom parametersSFSBuddyListException
- thrown if the Buddy is not in the sender's Buddy List or if the recipient has blocked the senderprotected void initializeBuddyState(User user) throws SFSBuddyListException
SFSBuddyListException