Code Monkey home page Code Monkey logo

jxmpp's Introduction

JXMPP

Project Stats

About

JXMPP is an Open Source Java base library for XMPP. It provides often used functionality needed to build an XMPP stack.

Resources

JXMPP 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:

Jid jid = JidCreate.from("[email protected]");
         ,______Jid______,
        /       / \       \
EntityFullJid  /   \     DomainFullJid
              /     \
     EntityBareJid  DomainBareJid

There are also the BareJid, FullJid, EntityJid and DomainJid interfaces, which are implemented by the Jid types as follows:

         BareJid                            FullJid
         /    \                             /   \
        /      \                           /     \
EntityBareJid  DomainBareJid     EntityFullJid  DomainFullJid

        EntityJid                         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

$ ./test-xmpp-strings

to run the testframework.

jxmpp's People

Contributors

flowdalic avatar vanitasvitae avatar ibauersachs avatar ge0rg avatar m0xb avatar sunilmohanadapa avatar nitram509 avatar

Stargazers

semir avatar

Watchers

Neustradamus avatar  avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.