|
Smack | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jivesoftware.smack.util.StringUtils
public class StringUtils
A collection of utility methods for String objects.
Field Summary | |
---|---|
static DateFormat |
XEP_0082_UTC_FORMAT
Date format as defined in XEP-0082 - XMPP Date and Time Profiles. |
Method Summary | |
---|---|
static byte[] |
decodeBase64(String data)
Decodes a base64 String. |
static String |
encodeBase64(byte[] data)
Encodes a byte array into a base64 String. |
static String |
encodeBase64(byte[] data,
boolean lineBreaks)
Encodes a byte array into a bse64 String. |
static String |
encodeBase64(byte[] data,
int offset,
int len,
boolean lineBreaks)
Encodes a byte array into a bse64 String. |
static String |
encodeBase64(String data)
Encodes a String as a base64 String. |
static String |
encodeHex(byte[] bytes)
Encodes an array of bytes as String representation of hexadecimal. |
static String |
escapeForXML(String string)
Escapes all necessary characters in the String so that it can be used in an XML doc. |
static String |
escapeNode(String node)
Escapes the node portion of a JID according to "JID Escaping" (JEP-0106). |
static String |
formatXEP0082Date(Date date)
Formats a Date into a XEP-0082 - XMPP Date and Time Profiles string. |
static String |
hash(String data)
Hashes a String using the SHA-1 algorithm and returns the result as a String of hexadecimal numbers. |
static String |
parseBareAddress(String XMPPAddress)
Returns the XMPP address with any resource information removed. |
static String |
parseName(String XMPPAddress)
Returns the name portion of a XMPP address. |
static String |
parseResource(String XMPPAddress)
Returns the resource portion of a XMPP address. |
static String |
parseServer(String XMPPAddress)
Returns the server portion of a XMPP address. |
static Date |
parseXEP0082Date(String dateString)
Parses the given date string in the XEP-0082 - XMPP Date and Time Profiles format. |
static String |
randomString(int length)
Returns a random String of numbers and letters (lower and upper case) of the specified length. |
static String |
unescapeNode(String node)
Un-escapes the node portion of a JID according to "JID Escaping" (JEP-0106). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final DateFormat XEP_0082_UTC_FORMAT
Date formats are not synchronized. Since multiple threads access the format concurrently, it
must be synchronized externally or you can use the convenience methods
parseXEP0082Date(String)
and formatXEP0082Date(Date)
.
Method Detail |
---|
public static Date parseXEP0082Date(String dateString) throws ParseException
dateString
- the date string to parse
ParseException
- if the specified string cannot be parsedpublic static String formatXEP0082Date(Date date)
date
- the time value to be formatted into a time string
public static String parseName(String XMPPAddress)
XMPPAddress
- the XMPP address.
public static String parseServer(String XMPPAddress)
XMPPAddress
- the XMPP address.
public static String parseResource(String XMPPAddress)
XMPPAddress
- the XMPP address.
public static String parseBareAddress(String XMPPAddress)
XMPPAddress
- the XMPP address.
public static String escapeNode(String node)
Unescaped Character | Encoded Sequence |
<space> | \20 |
" | \22 |
& | \26 |
' | \27 |
/ | \2f |
: | \3a |
< | \3c |
> | \3e |
@ | \40 |
\ | \5c |
This process is useful when the node 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 node, 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 node escaping and un-escaping must be performed manually at the appropriate time; the JID class will not escape or un-escape automatically.
node
- the node.
public static String unescapeNode(String node)
Escaping replaces characters prohibited by node-prep with escape sequences, as follows:
Unescaped Character | Encoded Sequence |
<space> | \20 |
" | \22 |
& | \26 |
' | \27 |
/ | \2f |
: | \3a |
< | \3c |
> | \3e |
@ | \40 |
\ | \5c |
This process is useful when the node 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 node, 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 node escaping and un-escaping must be performed manually at the appropriate time; the JID class will not escape or un-escape automatically.
node
- the escaped version of the node.
public static String escapeForXML(String string)
string
- the string to escape.
public static String hash(String data)
A hash is a one-way function -- that is, given an input, an output is easily computed. However, given the output, the input is almost impossible to compute. This is useful for passwords since we can store the hash and a hacker will then have a very hard time determining the original password.
data
- the String to compute the hash of.
public static String encodeHex(byte[] bytes)
bytes
- an array of bytes to convert to a hex string.
public static String encodeBase64(String data)
data
- a String to encode.
public static String encodeBase64(byte[] data)
data
- a byte array to encode.
public static String encodeBase64(byte[] data, boolean lineBreaks)
data
- The byte arry to encode.lineBreaks
- True if the encoding should contain line breaks and false if it should not.
public static String encodeBase64(byte[] data, int offset, int len, boolean lineBreaks)
data
- The byte arry to encode.offset
- the offset of the bytearray to begin encoding at.len
- the length of bytes to encode.lineBreaks
- True if the encoding should contain line breaks and false if it should not.
public static byte[] decodeBase64(String data)
data
- a base64 encoded String to decode.
public static String randomString(int length)
The specified length must be at least one. If not, the method will return null.
length
- the desired length of the random String to return.
|
Smack | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |