An instant messaging handle. Includes both an address and its protocol. The protocol value is
either a standard IM scheme (legal scheme values are defined by Scheme or a URL
identifying the IM network for the protocol (e.g. http://aim.com/).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003e\u003ccode\u003eIMHandle\u003c/code\u003e represents an instant messaging handle, comprising both an address and its associated protocol.\u003c/p\u003e\n"],["\u003cp\u003eThe protocol for an \u003ccode\u003eIMHandle\u003c/code\u003e can either be a standard IM scheme or a URL that identifies the specific IM network.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIMHandle\u003c/code\u003e objects can be sorted based on their protocol and then their address via the \u003ccode\u003ecompareTo\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors available to create an \u003ccode\u003eIMHandle\u003c/code\u003e, one that uses a Scheme and one that takes a URL.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIMHandle\u003c/code\u003e implements the \u003ccode\u003eSerializable\u003c/code\u003e and \u003ccode\u003eComparable\u003c/code\u003e interfaces.\u003c/p\u003e\n"]]],[],null,["# Class IMHandle (2.0.0)\n\n public final class IMHandle implements Serializable, Comparable\u003cIMHandle\u003e\n\nAn instant messaging handle. Includes both an address and its protocol. The protocol value is\neither a standard IM scheme (legal scheme values are defined by Scheme or a URL\nidentifying the IM network for the protocol (e.g. \u003chttp://aim.com/\u003e). \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e IMHandle \n\nImplements\n----------\n\n[Serializable](https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html), [Comparable\\\u003cIMHandle\\\u003e](https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable\u003ccom/google/appengine/api/datastore/IMHandle\u003e.html) \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Fields\n-------------\n\n### serialVersionUID\n\n public static final long serialVersionUID\n\nConstructors\n------------\n\n### IMHandle(IMHandle.Scheme scheme, String address)\n\n public IMHandle(IMHandle.Scheme scheme, String address)\n\n### IMHandle(URL network, String address)\n\n public IMHandle(URL network, String address)\n\nMethods\n-------\n\n### compareTo(IMHandle o)\n\n public int compareTo(IMHandle o)\n\nSorts first by protocol, then by address.\n\n### equals(@Nullable Object o)\n\n public boolean equals(@Nullable Object o)\n\n**Overrides** \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-)\n\n### getAddress()\n\n public String getAddress()\n\n### getProtocol()\n\n public String getProtocol()\n\n### hashCode()\n\n public int hashCode()\n\n**Overrides** \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--)\n\n### toString()\n\n public String toString()\n\n**Overrides** \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--)"]]