Class XmppStringUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcompleteJidFrom(CharSequence localpart, CharSequence domainpart) Construct a JID String from the given parts.static StringcompleteJidFrom(CharSequence localpart, CharSequence domainpart, CharSequence resource) Construct a JID String from the given parts.static StringcompleteJidFrom(String localpart, String domainpart) Construct a JID String from the given parts.static StringcompleteJidFrom(String localpart, String domainpart, String resource) Construct a JID String from the given parts.static StringescapeLocalpart(String localpart) Escapes the localpart of a JID according to "JID Escaping" (XEP-0106).static StringgenerateKey(String element, String namespace) Generate a unique key from a element name and namespace.static booleanReturns true ifjidis a bare JID ("foo@bar.com").static booleanReturns true if jid is a full JID (i.e.static StringparseBareJid(String jid) Returns the JID with any resource information removed.static StringparseDomain(String jid) Returns the domain of an XMPP address (JID).static StringparseLocalpart(String jid) Returns the localpart of an XMPP address (JID).static StringparseResource(String jid) Returns the resource portion of an XMPP address (JID).static StringunescapeLocalpart(String localpart) Un-escapes the localpart of a JID according to "JID Escaping" (XEP-0106).
-
Constructor Details
-
XmppStringUtils
public XmppStringUtils()
-
-
Method Details
-
parseLocalpart
Returns the localpart of an XMPP address (JID). For example, for the address "user@xmpp.org/Resource", "user" would be returned. Returnsnullif the given JID has no localpart. Returns the empty string if the given JIDs localpart is the empty string (which is invalid).- Parameters:
jid- the XMPP address to parse.- Returns:
- the name portion of the XMPP address, the empty String or
null.
-
parseDomain
Returns the domain of an XMPP address (JID). For example, for the address "user@xmpp.org/Resource", "xmpp.org" would be returned. Ifjidisnull, then this method returns alsonull. If the input String is no valid JID or has no domainpart, then this method will return the empty String.- Parameters:
jid- the XMPP address to parse.- Returns:
- the domainpart of the XMPP address, the empty String or
null.
-
parseResource
Returns the resource portion of an XMPP address (JID). For example, for the address "user@xmpp.org/Resource", "Resource" would be returned. Returnsnullif the given JID has no resourcepart. Returns the empty string if the given JID has an empty resourcepart (which is invalid).- Parameters:
jid- the XMPP address to parse.- Returns:
- the resource portion of the XMPP address.
-
parseBareJid
Returns the JID with any resource information removed. For example, for the address "matt@jivesoftware.com/Smack", "matt@jivesoftware.com" would be returned.- Parameters:
jid- the XMPP JID.- Returns:
- the bare XMPP JID without resource information.
-
isFullJID
Returns true if jid is a full JID (i.e. a JID with resource part).- Parameters:
jid- the String to check.- Returns:
- true if full JID, false otherwise
-
isBareJid
Returns true ifjidis a bare JID ("foo@bar.com").This method may return true for Strings that are not valid JIDs (e.g. because of Stringprep violations). Consider using
org.jxmpp.jid.util.JidUtil.validateBareJid(String)from jxmpp-jid instead of this method as it exceptions provide a meaningful message string why the JID is not a bare JID and will also check for Stringprep errors.- Parameters:
jid- the String to check.- Returns:
- true if bare JID, false otherwise
-
escapeLocalpart
Escapes the localpart of a JID according to "JID Escaping" (XEP-0106). Escaping replaces characters prohibited by Nodeprep with escape sequences, as follows:Character mappings Unescaped Character Encoded Sequence <space> \20 " \22 & \26 ' \27 / \2f : \3a < \3c > \3e @ \40 \ \5c This process is useful when the localpart comes from an external source that doesn't conform to Nodeprep. For example, a username in LDAP may be "Joe Smith". Because the <space> character isn't a valid part of a localpart, the username should be escaped to "Joe\20Smith" before being made into a JID (e.g. "joe\20smith@example.com" after case-folding, etc. has been applied).
All localpart escaping and un-escaping must be performed manually at the appropriate time; the JID class will not escape or un-escape automatically.- Parameters:
localpart- the localpart.- Returns:
- the escaped version of the localpart.
- See Also:
-
unescapeLocalpart
Un-escapes the localpart of a JID according to "JID Escaping" (XEP-0106). Escaping replaces characters prohibited by Nodeprep with escape sequences, as follows:Character mapping Unescaped Character Encoded Sequence <space> \20 " \22 & \26 ' \27 / \2f : \3a < \3c > \3e @ \40 \ \5c This process is useful when the localpart comes from an external source that doesn't conform to Nodeprep. For example, a username in LDAP may be "Joe Smith". Because the <space> character isn't a valid part of a localpart, the username should be escaped to "Joe\20Smith" before being made into a JID (e.g. "joe\20smith@example.com" after case-folding, etc. has been applied).
All localpart escaping and un-escaping must be performed manually at the appropriate time; the JID class will not escape or un-escape automatically.- Parameters:
localpart- the escaped version of the localpart.- Returns:
- the un-escaped version of the localpart.
- See Also:
-
completeJidFrom
Construct a JID String from the given parts.- Parameters:
localpart- the localpart.domainpart- the domainpart.- Returns:
- the constructed JID String.
-
completeJidFrom
Construct a JID String from the given parts.- Parameters:
localpart- the localpart.domainpart- the domainpart.- Returns:
- the constructed JID String.
-
completeJidFrom
public static String completeJidFrom(CharSequence localpart, CharSequence domainpart, CharSequence resource) Construct a JID String from the given parts.- Parameters:
localpart- the localpart.domainpart- the domainpart.resource- the resourcepart.- Returns:
- the constructed JID String.
-
completeJidFrom
Construct a JID String from the given parts.- Parameters:
localpart- the localpart.domainpart- the domainpart.resource- the resourcepart.- Returns:
- the constructed JID String.
-
generateKey
Generate a unique key from a element name and namespace. This key can be used to lookup element/namespace information. The key is simply generated by concatenating the strings as follows:element + '\t' + namespace.The tab character (\t) was chosen because it will be normalized, i.e. replace by space, in attribute values. It therefore should never appear in
elementornamespace. For more information about the normalization, see the XML specification ยง 3.3.3 Attribute-Value Normalization.- Parameters:
element- the element.namespace- the namespace.- Returns:
- the unique key of element and namespace.
-