Package rocks.xmpp.im.chat
Class ChatSession
- java.lang.Object
-
- rocks.xmpp.im.chat.Chat
-
- rocks.xmpp.im.chat.ChatSession
-
- All Implemented Interfaces:
AutoCloseable
public final class ChatSession extends Chat implements AutoCloseable
Implements a one-to-one chat session. They are described in 5.1. One-to-One Chat Sessions and XEP-0201: Best Practices for Message Threads.In practice, instant messaging activity between human users tends to occur in the form of a conversational burst that we call a "chat session": the exchange of multiple messages between two parties in relatively rapid succession within a relatively brief period of time.
In order to create a new chat session, use the chat manager.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ChatSession.ChatPartnerEvent
AChatPartnerEvent
is fired, whenever aChatSession
's partner was replaced.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChatPartnerListener(Consumer<ChatSession.ChatPartnerEvent> chatPartnerListener)
Adds a chat partner listener.void
close()
Jid
getChatPartner()
Gets the chat partner of this chat session.String
getThread()
Gets the thread id which is used for this chat session.void
removeChatPartnerListener(Consumer<ChatSession.ChatPartnerEvent> chatPartnerListener)
Removes a chat partner listener.SendTask<Message>
sendMessage(String message)
Sends a chat message to the chat partner.SendTask<Message>
sendMessage(Message message)
Sends a chat message to the chat partner.-
Methods inherited from class rocks.xmpp.im.chat.Chat
addInboundMessageListener, removeInboundMessageListener
-
-
-
-
Method Detail
-
addChatPartnerListener
public final void addChatPartnerListener(Consumer<ChatSession.ChatPartnerEvent> chatPartnerListener)
Adds a chat partner listener.- Parameters:
chatPartnerListener
- The listener to add. Must not benull
.- Since:
- 0.5.0
- See Also:
removeChatPartnerListener(Consumer)
,ChatSession.ChatPartnerEvent
-
removeChatPartnerListener
public final void removeChatPartnerListener(Consumer<ChatSession.ChatPartnerEvent> chatPartnerListener)
Removes a chat partner listener.- Parameters:
chatPartnerListener
- The listener to remove. Must not benull
.- Since:
- 0.5.0
- See Also:
addChatPartnerListener(Consumer)
,ChatSession.ChatPartnerEvent
-
sendMessage
public SendTask<Message> sendMessage(String message)
Sends a chat message to the chat partner.- Specified by:
sendMessage
in classChat
- Parameters:
message
- The message.- Returns:
- The message, which has been sent.
-
sendMessage
public SendTask<Message> sendMessage(Message message)
Sends a chat message to the chat partner.- Specified by:
sendMessage
in classChat
- Parameters:
message
- The message.- Returns:
- The message, which has been sent.
-
getChatPartner
public Jid getChatPartner()
Gets the chat partner of this chat session.- Returns:
- The chat partner.
-
getThread
public final String getThread()
Gets the thread id which is used for this chat session.- Returns:
- The thread id.
-
close
public final void close()
- Specified by:
close
in interfaceAutoCloseable
-
-