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.IChatService
text
- 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.IChatService
status
- The new status.public jadex.commons.future.IFuture<java.lang.String> getStatus()
getStatus
in interface jadex.bridge.service.types.chat.IChatService
public 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.IChatService
nick
- 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.IChatService
nick
- 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.IChatGuiService
public jadex.commons.future.IFuture<java.lang.String> getNickName()
getNickName
in interface jadex.bridge.service.types.chat.IChatGuiService
getNickName
in interface jadex.bridge.service.types.chat.IChatService
public jadex.commons.future.IFuture<java.lang.Void> setImage(byte[] image)
setImage
in interface jadex.bridge.service.types.chat.IChatGuiService
public jadex.commons.future.IFuture<byte[]> getImage()
getImage
in interface jadex.bridge.service.types.chat.IChatGuiService
getImage
in interface jadex.bridge.service.types.chat.IChatService
public jadex.commons.future.ISubscriptionIntermediateFuture<jadex.bridge.service.types.chat.ChatEvent> subscribeToEvents()
subscribeToEvents
in interface jadex.bridge.service.types.chat.IChatGuiService
public jadex.commons.future.IIntermediateFuture<jadex.bridge.service.types.chat.IChatService> findUsers()
findUsers
in interface jadex.bridge.service.types.chat.IChatGuiService
public 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.IChatGuiService
text
- 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.IChatGuiService
status
- 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.IChatGuiService
public jadex.commons.future.IFuture<java.lang.Void> acceptFile(java.lang.String id, java.lang.String filepath)
acceptFile
in interface jadex.bridge.service.types.chat.IChatGuiService
id
- 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.IChatGuiService
id
- The transfer id.public jadex.commons.future.IFuture<java.lang.Void> cancelTransfer(java.lang.String id)
cancelTransfer
in interface jadex.bridge.service.types.chat.IChatGuiService
id
- 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.IChatGuiService
filepath
- 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)