Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/igniterealtime/jxmpp
A Java library providing fundamental abstractions for XMPP
https://github.com/igniterealtime/jxmpp
android java xmpp
Last synced: about 6 hours ago
JSON representation
A Java library providing fundamental abstractions for XMPP
- Host: GitHub
- URL: https://github.com/igniterealtime/jxmpp
- Owner: igniterealtime
- License: apache-2.0
- Created: 2014-05-31T11:46:55.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T17:36:33.000Z (3 months ago)
- Last Synced: 2025-01-25T22:05:22.703Z (7 days ago)
- Topics: android, java, xmpp
- Language: Java
- Homepage:
- Size: 727 KB
- Stars: 96
- Watchers: 15
- Forks: 51
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
JXMPP
=====[![Project Stats](https://www.openhub.net/p/jxmpp/widgets/project_thin_badge.gif)](https://www.openhub.net/p/jxmpp)
About
-----JXMPP is an Open Source Java base library for XMPP. It provides often
used functionality needed to build an XMPP stack.Resources
---------- Nightly Javadoc: http://jxmpp.org/nightly/javadoc/
- Maven Releases: https://oss.sonatype.org/content/repositories/releases/org/jxmpp
- Maven Snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/jxmppJXMPP Components
================JXMPP consists of several components, you can use all of them or decide to pick only the ones that suit your needs.
jxmpp-core
----------Provides core functionality most software that interacts with XMPP requires.
Highlights include### XmppDateTime
A utility to parse date/time Strings in the various formats used within XMPP to a Date instance in a efficient manner without depending on third party libraries
### XmppStringUtils
Contains various String operations often needed when using XMPP
### XmppStringPrepUtil
A utility to apply the various string transformation profiles required by XMPP in a efficient manner. Does also utilize a Cache for maximum efficiency.
jxmpp-jid
---------This part of the API abstracts XMPP JIDs with Java classes, performing string preparation and validation.
Although JIDs are split over five classes, jxmpp-jid is designed so that you often only need to use the simple `Jid` type.
It therefore combines the simplicity of the single JID class approach, where JIDs are represented by a single class no matter what kind of JID they are, which the expressiveness of the JID class hierarchy approach, where you can express in a method signature the required JID type (e.g. `foo(BareJid bareJid)`).Jid instances are created with the help of the `JidCreate` utility:
```java
Jid jid = JidCreate.from("[email protected]");
``````text
,______Jid______,
/ / \ \
EntityFullJid / \ DomainFullJid
/ \
EntityBareJid DomainBareJid
```There are also the `BareJid`, `FullJid`, `EntityJid` and `DomainJid` interfaces, which are implemented by the Jid types as follows:
```text
BareJid FullJid
/ \ / \
/ \ / \
EntityBareJid DomainBareJid EntityFullJid DomainFullJidEntityJid DomainJid
/ \ / \
/ \ / \
EntityBareJid EntityFullJid DomainBareJid DomainFullJid
```| Example JID | JXMPP JID Type |
|---------------------------|-----------------|
| example.org | `DomainBareJid` |
| example.org/resource | `DomainFullJid` |
| [email protected] | `EntityBareJid` |
| [email protected]/resource | `EntityFullJid` |jxmpp-stringprep-libidn
-----------------------Perform XMPP's StringPrep with the help of libidn.
Use `LibIdnXmppStringprep.setup()` to make `XmppStringPrepUtil` use libidn.
jxmpp-util-cache
----------------Provides a lightweight and efficient Cache without external dependencies used by various JXMPP Components.
jxmpp-strings-testframework
---------------------------A framework to test "XMPP Strings".
Simply run
```bash
$ ./test-xmpp-strings
```to run the testframework.