Package tigase.xmpp.jid
Class BareJID
java.lang.Object
tigase.xmpp.jid.BareJID
- All Implemented Interfaces:
Comparable<BareJID>
Instance of the
There are planed various optimisations for the class implementation, one of them is to allow for comparing the instanced by references ('==') instead of of equals() method. This is to improve the performance and lower memory usage. Other improvements and optimisations are also planed.
Some of the optimisations require that the instances are created in strictly controlled way, hence there is no public constructor and you have to use factory methods to create a new instance of the
The class also offers a few utility methods for parsing and constructing JID strings. Please see JavaDoc documentation for more details.
Created: Dec 28, 2009 10:47:51 PM
BareJID class holds a single, bare JID. When the object is created the parameters are
checked and processed through the stringprep. An exception is throw in case of stringprep processing error. The
instances of the class are immutable objects.
There are planed various optimisations for the class implementation, one of them is to allow for comparing the instanced by references ('==') instead of of equals() method. This is to improve the performance and lower memory usage. Other improvements and optimisations are also planed.
Some of the optimisations require that the instances are created in strictly controlled way, hence there is no public constructor and you have to use factory methods to create a new instance of the
BareJID class.
The class also offers a few utility methods for parsing and constructing JID strings. Please see JavaDoc documentation for more details.
Created: Dec 28, 2009 10:47:51 PM
- Version:
- $Rev$
- Author:
- Artur Hefczyc
-
Method Summary
Modifier and TypeMethodDescriptionstatic BareJIDbareJIDInstance(String jid) The method creates an instance of theBareJIDclass.static BareJIDbareJIDInstance(String p_localpart, String p_domain) The method creates an instance of theBareJIDclass.static BareJIDbareJIDInstanceNS(String jid) The method creates an instance of theBareJIDclass.static BareJIDbareJIDInstanceNS(String p_localpart, String p_domain) The method creates an instance of theBareJIDclass.intMethod compares theBareJIDinstance to the object given as a parameter.booleanMethod compares whether thisBareJIDinstance represents the same user bare JID as the one given in parameter.Method returns a domain part of theBareJID.Method returns a localpart (nickname) of theBareJID.inthashCode()Method returns a hash code calculated for theBareJIDinstance.static StringjidToBareJID(String jid) A utility method to strip the resource part from the given JID string.static String[]A utility method to parse and split the given JID string into separate parts.toString()Method returns aStringrepresentation of theBareJIDinstance.static StringA utility method to construct aStringrepresenting user JID from given parameters.static StringA utility method to construct aStringrepresenting user JID from given parameters.static StringA utility method to construct aStringrepresenting user JID from given parameters.static voiduseStringprepProcessor(String stringprepProcessor) Changes stringprep processor implementation used for the JID checking.
-
Method Details
-
bareJIDInstance
The method creates an instance of theBareJIDclass. The bare JID is parsed and constructed from theStringparameter.
The localpart (nick name) and the domain part of the JID are parsed and processed through the stringprep. If a strngprep parsing error occurs an exception is thrown.
The resource part, if provided in the JID paramater, is thrown away.
Please note, the method does not necessarily has to return a new instance of the class. It may return the same exact object every time you pass parameters which refer to the same bare JID identifier.- Parameters:
jid- is aStringparameter used to create the bare JID instance.- Returns:
- an instance of the
BareJIDclass which corresponds to the JID given as the parameter. - Throws:
TigaseStringprepException- if the stringprep processing fails for any JID part used to create the instance.
-
bareJIDInstance
public static BareJID bareJIDInstance(String p_localpart, String p_domain) throws TigaseStringprepException The method creates an instance of theBareJIDclass. The bare JID is parsed and constructed from twoStringparameters.
The localpart (nick name) and the domain part of the JID are parsed and processed through the stringprep. If a strngprep parsing error occurs an exception is thrown.
Please note, the method does not necessarily has to return a new instance of the class. It may return the same exact object every time you pass parameters which refer to the same bare JID identifier.- Parameters:
p_localpart- is aStringparameter assumed to be a JID localpart (nickname) and used to create the bare JID instance. The localpart parameter can be null.p_domain- is aStringparameter assumed to be a JID domain part and used to create the bare JID instance. This parameter must not be null.- Returns:
- an instance of the
BareJIDclass which corresponds to the JID given as the parameter. - Throws:
TigaseStringprepException- if the stringprep processing fails for any JID part used to create the instance.
-
bareJIDInstanceNS
The method creates an instance of theBareJIDclass. The bare JID is parsed and constructed from theStringparameter. Note, this method does not perform stringprep processing on input parameters.
The resource part, if provided in the JID paramater, is thrown away.
Please note, the method does not necessarily has to return a new instance of the class. It may return the same exact object every time you pass parameters which refer to the same bare JID identifier.- Parameters:
jid- is aStringparameter used to create the bare JID instance.- Returns:
- an instance of the
BareJIDclass which corresponds to the JID given as the parameter or null if passed string/domain was null or effectively empty.
-
bareJIDInstanceNS
The method creates an instance of theBareJIDclass. The bare JID is parsed and constructed from twoStringparameters. Note, this method does not perform stringprep processing on input parameters.
Please note, the method does not necessarily has to return a new instance of the class. It may return the same exact object every time you pass parameters which refer to the same bare JID identifier.- Parameters:
p_localpart- is aStringparameter assumed to be a JID localpart (nickname) and used to create the bare JID instance. The localpart parameter can be null.p_domain- is aStringparameter assumed to be a JID domain part and used to create the bare JID instance. This parameter must not be null.- Returns:
- an instance of the
BareJIDclass which corresponds to the JID given as the parameter or null if passed domain was null or effectively empty.
-
jidToBareJID
A utility method to strip the resource part from the given JID string. The method doesn't perform any checkings and it doesn't run stringprep processing on the given parameter. This is a pure string manipulation utility method.- Parameters:
jid- is aStringrepresenting user full JID.- Returns:
- a new
Stringinstance of the JID wihout resource part.
-
parseJID
A utility method to parse and split the given JID string into separate parts. The result is returned as a three elements'Stringarray:- The first element (index 0) of the array is the JID's localpart (nickname). Can be null.
- The second element (index 1) of the array is the JID's domain part.
- The third element (index 2) of the array is the JID's resource part. Can be null.
- Parameters:
jid- is aStringrepresenting user full JID.- Returns:
- a three element
Stringarray with parsed JID parts. The array may contain null elements.
-
toString
A utility method to construct aStringrepresenting user JID from given parameters. The method doesn't perform any checkings and it doesn't run stringprep processing on the given parameter. This is a pure string manipulation utility method.- Parameters:
p_localpart- is a JID's localpart (nickname)p_domain- is a JID's domain part.- Returns:
- a new
Stringrepresenting user's JID build from given parameters. If the localpart is null then the method simply returns parameter given as domain part.
-
toString
A utility method to construct aStringrepresenting user JID from given parameters. The method doesn't perform any checkings and it doesn't run stringprep processing on the given parameter. This is a pure string manipulation utility method.- Parameters:
p_localpart- is a JID's localpart (nickname)p_domain- is a JID's domain part.p_resource- is a JID's resource part.- Returns:
- a new
Stringrepresenting user's JID build from given parameters. If the localpart and resource part is null then the method simply returns parameter given as domain part.
-
toString
A utility method to construct aStringrepresenting user JID from given parameters. The method doesn't perform any checkings and it doesn't run stringprep processing on the resource parameter.- Parameters:
bareJid- is aBareJIDinstance.p_resource- is a JID's resource part.- Returns:
- a new
Stringrepresenting user's JID build from given parameters.
-
useStringprepProcessor
Changes stringprep processor implementation used for the JID checking. The method can be called at any time to change used processor. All subsequentJIDandBareJIDinstances are created using a new processor.- Parameters:
stringprepProcessor- is aStringvalue with stringprep processor name or class name implementing stringprep processing interface.
-
compareTo
Method compares theBareJIDinstance to the object given as a parameter. The method implements thecompareTospecification contract and returns values as we would expect from the call:bareJID_1.toString().compareTo(bareJID_2.toString())
- Specified by:
compareToin interfaceComparable<BareJID>- Parameters:
o- is anBareJIDinstance with which the comparision is performed.- Returns:
- values as we would expect from the call:
bareJID_1.toString().compareTo(bareJID_2.toString())
-
equals
Method compares whether thisBareJIDinstance represents the same user bare JID as the one given in parameter. It returnstrueof both the localpart (nickname) and domain part are the same for both objects. -
getDomain
Method returns a domain part of theBareJID. Please note theStringreturned is parsed, checked and processed via stringprep, hence it represents a valid domain name as defined in XMPP RFC.- Returns:
- a domain part of the
BareJIDinstance.
-
getLocalpart
Method returns a localpart (nickname) of theBareJID. Please note theStringreturned is parsed, checked and processed via stringprep, hence it represents a valid localpart as defined in XMPP RFC.- Returns:
- a localpart (nickname) of the
BareJIDinstance.
-
hashCode
public int hashCode()Method returns a hash code calculated for theBareJIDinstance. -
toString
Method returns aStringrepresentation of theBareJIDinstance.
-