{"id":15147060,"url":"https://github.com/igniterealtime/jxmpp","last_synced_at":"2025-05-16T18:11:03.045Z","repository":{"id":17551897,"uuid":"20354740","full_name":"igniterealtime/jxmpp","owner":"igniterealtime","description":"A Java library providing fundamental abstractions for XMPP","archived":false,"fork":false,"pushed_at":"2024-10-24T17:36:33.000Z","size":744,"stargazers_count":98,"open_issues_count":4,"forks_count":52,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-12T17:48:36.424Z","etag":null,"topics":["android","java","xmpp"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igniterealtime.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-05-31T11:46:55.000Z","updated_at":"2025-04-01T08:17:37.000Z","dependencies_parsed_at":"2024-01-18T10:45:33.499Z","dependency_job_id":"f14860ba-a8ac-4f07-9f05-88865e933683","html_url":"https://github.com/igniterealtime/jxmpp","commit_stats":{"total_commits":379,"total_committers":10,"mean_commits":37.9,"dds":0.0554089709762533,"last_synced_commit":"3a334e466deefb02465ae942492953f09085df94"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igniterealtime%2Fjxmpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igniterealtime%2Fjxmpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igniterealtime%2Fjxmpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igniterealtime%2Fjxmpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igniterealtime","download_url":"https://codeload.github.com/igniterealtime/jxmpp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254582907,"owners_count":22095518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","java","xmpp"],"created_at":"2024-09-26T12:21:57.992Z","updated_at":"2025-05-16T18:11:03.009Z","avatar_url":"https://github.com/igniterealtime.png","language":"Java","funding_links":[],"categories":["网络编程"],"sub_categories":["Spring Cloud框架"],"readme":"JXMPP\n=====\n\n[![Project Stats](https://www.openhub.net/p/jxmpp/widgets/project_thin_badge.gif)](https://www.openhub.net/p/jxmpp)\n\nAbout\n-----\n\nJXMPP is an Open Source Java base library for XMPP. It provides often\nused functionality needed to build an XMPP stack.\n\nResources\n---------\n\n- Nightly Javadoc: http://jxmpp.org/nightly/javadoc/\n- Maven Releases: https://oss.sonatype.org/content/repositories/releases/org/jxmpp\n- Maven Snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/jxmpp\n\nJXMPP Components\n================\n\nJXMPP consists of several components, you can use all of them or decide to pick only the ones that suit your needs.\n\njxmpp-core\n----------\n\nProvides core functionality most software that interacts with XMPP requires.\nHighlights include\n\n### XmppDateTime\n\nA 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\n\n### XmppStringUtils\n\nContains various String operations often needed when using XMPP\n\n### XmppStringPrepUtil\n\nA utility to apply the various string transformation profiles required by XMPP in a efficient manner. Does also utilize a Cache for maximum efficiency.\n\n\njxmpp-jid\n---------\n\nThis part of the API abstracts XMPP JIDs with Java classes, performing string preparation and validation.\nAlthough JIDs are split over five classes, jxmpp-jid is designed so that you often only need to use the simple `Jid` type.\nIt 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)`).\n\nJid instances are created with the help of the `JidCreate` utility:\n\n```java\nJid jid = JidCreate.from(\"foo@bar.example\");\n```\n\n```text\n         ,______Jid______,\n        /       / \\       \\\nEntityFullJid  /   \\     DomainFullJid\n              /     \\\n     EntityBareJid  DomainBareJid\n```\n\nThere are also the `BareJid`, `FullJid`, `EntityJid` and `DomainJid` interfaces, which are implemented by the Jid types as follows:\n\n```text\n         BareJid                            FullJid\n         /    \\                             /   \\\n        /      \\                           /     \\\nEntityBareJid  DomainBareJid     EntityFullJid  DomainFullJid\n\n        EntityJid                         DomainJid\n         /    \\                             /   \\\n        /      \\                           /     \\\nEntityBareJid  EntityFullJid     DomainBareJid  DomainFullJid\n```\n\n| Example JID               | JXMPP JID Type  |\n|---------------------------|-----------------|\n| example.org               | `DomainBareJid` |\n| example.org/resource      | `DomainFullJid` |\n| user@example.org          | `EntityBareJid` |\n| user@example.org/resource | `EntityFullJid` |\n\njxmpp-stringprep-libidn\n-----------------------\n\nPerform XMPP's StringPrep with the help of libidn.\n\nUse `LibIdnXmppStringprep.setup()` to make `XmppStringPrepUtil` use libidn.\n\njxmpp-util-cache\n----------------\n\nProvides a lightweight and efficient Cache without external dependencies used by various JXMPP Components.\n\njxmpp-strings-testframework\n---------------------------\n\nA framework to test \"XMPP Strings\".\n\nSimply run\n\n```bash\n$ ./test-xmpp-strings\n```\n\nto run the testframework.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figniterealtime%2Fjxmpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figniterealtime%2Fjxmpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figniterealtime%2Fjxmpp/lists"}