public class ChatService
extends java.lang.Object
implements jadex.bridge.service.types.chat.IChatService, jadex.bridge.service.types.chat.IChatGuiService
| Modifier and Type | Class and Description |
|---|---|
class |
ChatService.PropProvider |
| Modifier and Type | Field and Description |
|---|---|
protected jadex.bridge.IInternalAccess |
agent
The agent.
|
protected byte[] |
image
The image.
|
protected java.lang.String |
nick
The local nick name.
|
protected boolean |
running
Flag to avoid duplicate initialization/shutdown due to duplicate use of implementation.
|
protected java.lang.String |
status
The current status (idle, typing, away).
|
protected java.util.Set<jadex.commons.future.SubscriptionIntermediateFuture<jadex.bridge.service.types.chat.ChatEvent>> |
subscribers
The futures of active subscribers.
|
protected java.util.Map<java.lang.String,jadex.commons.Tuple3<jadex.bridge.service.types.chat.TransferInfo,jadex.commons.future.TerminableIntermediateFuture<java.lang.Long>,jadex.bridge.IInputConnection>> |
transfers
The currently managed file transfers.
|
protected java.util.Map<java.lang.String,jadex.commons.Tuple3<jadex.bridge.service.types.chat.TransferInfo,jadex.commons.future.ITerminableFuture<jadex.bridge.IOutputConnection>,jadex.bridge.IConnection>> |
transfers2 |
| Constructor and Description |
|---|
ChatService() |
| Modifier and Type | Method and Description |
|---|---|
jadex.commons.future.IFuture<java.lang.Void> |
acceptFile(java.lang.String id,
java.lang.String filepath)
Accept a waiting file transfer.
|
jadex.commons.future.IFuture<java.lang.Void> |
cancelTransfer(java.lang.String id)
Cancel an ongoing file transfer.
|
protected void |
doDownload(jadex.bridge.service.types.chat.TransferInfo ti,
jadex.commons.future.TerminableIntermediateFuture<java.lang.Long> ret,
jadex.bridge.IInputConnection con)
Perform a download.
|
protected void |
doUpload(jadex.bridge.service.types.chat.TransferInfo ti,
jadex.bridge.IOutputConnection ocon,
jadex.bridge.IComponentIdentifier receiver)
Perform an upload.
|
jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> |
findUsers()
Search for available chat services.
|
jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.TransferInfo> |
getFileTransfers()
Get a snapshot of the currently managed file transfers.
|
jadex.commons.future.IFuture<byte[]> |
getImage()
Get the image.
|
jadex.commons.future.IFuture<java.lang.String> |
getNickName()
Get the user name.
|
jadex.commons.future.IFuture<java.lang.String> |
getStatus()
Get the current status.
|
protected java.lang.String |
getSubname()
Get the "semi-qualified" sub name for settings.
|
jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> |
message(java.lang.String text,
jadex.bridge.IComponentIdentifier[] receivers,
boolean self)
Post a message.
|
jadex.commons.future.IFuture<java.lang.Void> |
message(java.lang.String nick,
java.lang.String text,
boolean privatemessage)
Post a message
|
protected boolean |
publishEvent(java.lang.String type,
java.lang.String nick,
jadex.bridge.IComponentIdentifier cid,
java.lang.Object value)
Post an event to registered subscribers.
|
protected boolean |
publishEvent(java.lang.String type,
java.lang.String nick,
jadex.bridge.IComponentIdentifier cid,
java.lang.Object value,
boolean privatemessage,
byte[] image)
Post an event to registered subscribers.
|
jadex.commons.future.IFuture<java.lang.Void> |
rejectFile(java.lang.String id)
Reject a waiting file transfer.
|
jadex.commons.future.IFuture<java.lang.Void> |
sendFile(java.lang.String filepath,
jadex.bridge.IComponentIdentifier cid)
Send a local file to the target component.
|
jadex.commons.future.ITerminableIntermediateFuture<java.lang.Long> |
sendFile(java.lang.String nick,
java.lang.String filename,
long size,
java.lang.String id,
jadex.bridge.IInputConnection con)
Send a file.
|
protected jadex.commons.future.IFuture<jadex.bridge.service.types.chat.IChatService> |
sendTo(java.lang.String text,
jadex.bridge.IComponentIdentifier rec,
boolean privatemessage)
Helper method for sending message to cid.
|
jadex.commons.future.IFuture<java.lang.Void> |
setImage(byte[] image)
Set the image.
|
jadex.commons.future.IFuture<java.lang.Void> |
setNickName(java.lang.String nick)
Set the user name.
|
jadex.commons.future.IFuture<java.lang.Void> |
shutdown()
Called on shutdown.
|
jadex.commons.future.IFuture<java.lang.Void> |
start()
Called on startup.
|
jadex.commons.future.ITerminableFuture<jadex.bridge.IOutputConnection> |
startUpload(java.lang.String nick,
java.lang.String filename,
long size,
java.lang.String id)
Send a file.
|
jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> |
status(java.lang.String status,
byte[] image,
jadex.bridge.IComponentIdentifier[] receivers)
Post a status change.
|
jadex.commons.future.IFuture<java.lang.Void> |
status(java.lang.String nick,
java.lang.String status,
byte[] image)
Post a status change.
|
protected jadex.commons.future.IFuture<jadex.bridge.service.types.chat.IChatService> |
statusTo(java.lang.String nick,
java.lang.String status,
byte[] image,
jadex.bridge.IComponentIdentifier rec)
Helper method for posting status to cid.
|
jadex.commons.future.ISubscriptionIntermediateFuture<jadex.bridge.service.types.chat.ChatEvent> |
subscribeToEvents()
Subscribe to events from the chat service.
|
protected jadex.bridge.IInternalAccess agent
protected java.util.Set<jadex.commons.future.SubscriptionIntermediateFuture<jadex.bridge.service.types.chat.ChatEvent>> subscribers
protected java.lang.String nick
protected java.lang.String status
protected java.util.Map<java.lang.String,jadex.commons.Tuple3<jadex.bridge.service.types.chat.TransferInfo,jadex.commons.future.TerminableIntermediateFuture<java.lang.Long>,jadex.bridge.IInputConnection>> transfers
protected java.util.Map<java.lang.String,jadex.commons.Tuple3<jadex.bridge.service.types.chat.TransferInfo,jadex.commons.future.ITerminableFuture<jadex.bridge.IOutputConnection>,jadex.bridge.IConnection>> transfers2
protected boolean running
protected byte[] image
public jadex.commons.future.IFuture<java.lang.Void> start()
public jadex.commons.future.IFuture<java.lang.Void> shutdown()
protected java.lang.String getSubname()
public jadex.commons.future.IFuture<java.lang.Void> message(java.lang.String nick,
java.lang.String text,
boolean privatemessage)
message in interface jadex.bridge.service.types.chat.IChatServicetext - The text message.public jadex.commons.future.IFuture<java.lang.Void> status(java.lang.String nick,
java.lang.String status,
byte[] image)
status in interface jadex.bridge.service.types.chat.IChatServicestatus - The new status.public jadex.commons.future.IFuture<java.lang.String> getStatus()
getStatus in interface jadex.bridge.service.types.chat.IChatServicepublic jadex.commons.future.ITerminableIntermediateFuture<java.lang.Long> sendFile(java.lang.String nick,
java.lang.String filename,
long size,
java.lang.String id,
jadex.bridge.IInputConnection con)
sendFile in interface jadex.bridge.service.types.chat.IChatServicenick - The sender's nick name.filename - The filename.size - The size of the file.id - An optional id to identify the transfer (e.g. for resume after error).con - The connection.public jadex.commons.future.ITerminableFuture<jadex.bridge.IOutputConnection> startUpload(java.lang.String nick,
java.lang.String filename,
long size,
java.lang.String id)
startUpload in interface jadex.bridge.service.types.chat.IChatServicenick - The sender's nick name.filename - The filename.size - The size of the file.id - An optional id to identify the transfer (e.g. for resume after error).public jadex.commons.future.IFuture<java.lang.Void> setNickName(java.lang.String nick)
setNickName in interface jadex.bridge.service.types.chat.IChatGuiServicepublic jadex.commons.future.IFuture<java.lang.String> getNickName()
getNickName in interface jadex.bridge.service.types.chat.IChatGuiServicegetNickName in interface jadex.bridge.service.types.chat.IChatServicepublic jadex.commons.future.IFuture<java.lang.Void> setImage(byte[] image)
setImage in interface jadex.bridge.service.types.chat.IChatGuiServicepublic jadex.commons.future.IFuture<byte[]> getImage()
getImage in interface jadex.bridge.service.types.chat.IChatGuiServicegetImage in interface jadex.bridge.service.types.chat.IChatServicepublic jadex.commons.future.ISubscriptionIntermediateFuture<jadex.bridge.service.types.chat.ChatEvent> subscribeToEvents()
subscribeToEvents in interface jadex.bridge.service.types.chat.IChatGuiServicepublic jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> findUsers()
findUsers in interface jadex.bridge.service.types.chat.IChatGuiServicepublic jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> message(java.lang.String text,
jadex.bridge.IComponentIdentifier[] receivers,
boolean self)
message in interface jadex.bridge.service.types.chat.IChatGuiServicetext - The text message.protected jadex.commons.future.IFuture<jadex.bridge.service.types.chat.IChatService> sendTo(java.lang.String text,
jadex.bridge.IComponentIdentifier rec,
boolean privatemessage)
public jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> status(java.lang.String status,
byte[] image,
jadex.bridge.IComponentIdentifier[] receivers)
status in interface jadex.bridge.service.types.chat.IChatGuiServicestatus - The new status or null for no change.image - The new avatar image or null for no change.protected jadex.commons.future.IFuture<jadex.bridge.service.types.chat.IChatService> statusTo(java.lang.String nick,
java.lang.String status,
byte[] image,
jadex.bridge.IComponentIdentifier rec)
public jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.TransferInfo> getFileTransfers()
getFileTransfers in interface jadex.bridge.service.types.chat.IChatGuiServicepublic jadex.commons.future.IFuture<java.lang.Void> acceptFile(java.lang.String id,
java.lang.String filepath)
acceptFile in interface jadex.bridge.service.types.chat.IChatGuiServiceid - The transfer id.filepath - The location of the file (possibly changed by user).public jadex.commons.future.IFuture<java.lang.Void> rejectFile(java.lang.String id)
rejectFile in interface jadex.bridge.service.types.chat.IChatGuiServiceid - The transfer id.public jadex.commons.future.IFuture<java.lang.Void> cancelTransfer(java.lang.String id)
cancelTransfer in interface jadex.bridge.service.types.chat.IChatGuiServiceid - The transfer id.public jadex.commons.future.IFuture<java.lang.Void> sendFile(java.lang.String filepath,
jadex.bridge.IComponentIdentifier cid)
sendFile in interface jadex.bridge.service.types.chat.IChatGuiServicefilepath - The file path, local to the chat component.cid - The id of a remote chat component.protected boolean publishEvent(java.lang.String type,
java.lang.String nick,
jadex.bridge.IComponentIdentifier cid,
java.lang.Object value)
type - The event type.nick - The nick name.cid - The component ID.value - The event value.protected boolean publishEvent(java.lang.String type,
java.lang.String nick,
jadex.bridge.IComponentIdentifier cid,
java.lang.Object value,
boolean privatemessage,
byte[] image)
type - The event type.nick - The nick name.cid - The component ID.value - The event value.protected void doDownload(jadex.bridge.service.types.chat.TransferInfo ti,
jadex.commons.future.TerminableIntermediateFuture<java.lang.Long> ret,
jadex.bridge.IInputConnection con)
protected void doUpload(jadex.bridge.service.types.chat.TransferInfo ti,
jadex.bridge.IOutputConnection ocon,
jadex.bridge.IComponentIdentifier receiver)