org.apache.ignite.internal.util

## Class IgniteUtils

- java.lang.Object
- - org.apache.ignite.internal.util.IgniteUtils

Direct Known Subclasses:
  U

    public abstract class IgniteUtils
    extends Object

Collection of utility methods used throughout the system.

### Field Summary

Fields
`static String` `DFLT_USER_VERSION` Default user version.
`static Field[]` `EMPTY_FIELDS` Empty longs.
`static int[]` `EMPTY_INTS` Empty integers array.
`static long[]` `EMPTY_LONGS` Empty longs.
`static byte[]` `IGNITE_HEADER` Network packet header.
`static String` `IGNITE_LOG_DIR` Ignite Logging Directory.
`static String` `IGNITE_WORK_DIR` Ignite Work Directory.
`static String` `JMX_DOMAIN` JMX domain as 'xxx.apache.ignite'.
`static String` `MAC_INVALID_ARG_MSG` MAC OS invalid argument socket error message.

### Constructor Summary

Constructors
Constructor and Description
`IgniteUtils()`

### Method Summary

Methods
`static void` `acquire(Semaphore sem)` Acquires a permit from provided semaphore.
`static <V,C extends Collection<? super V>> C` `addAll(C c, V... vals)` Adds values to collection and returns the same collection to allow chaining.
`static int[]` `addAll(int[] arr1, int[] arr2)`
`static <K,V,M extends Map<K,V>> M` `addAll(M m, IgniteBiTuple<K,V>... entries)` Adds values to collection and returns the same collection to allow chaining.
`static <K,V,M extends Map<K,V>> M` `addAll(M m, Map.Entry<K,V>... entries)` Adds values to collection and returns the same collection to allow chaining.
`static Collection<Handler>` `addJavaNoOpLogger()` Adds no-op console handler for root java logger.
`static boolean` `addLastCause(Throwable e, Throwable cause, IgniteLogger log)` Adds cause to the end of cause chain.
`static IgniteBiTuple<Object,Object>` `addLog4jNoOpLogger()` Adds no-op logger to remove no-appender warning.
`static String` `addressesAsString(ClusterNode node)` Returns string representation of node addresses.
`static String` `addressesAsString(Collection<String> addrs, Collection<String> hostNames)` Returns string representation of addresses.
`static Collection<String>` `allLocalIps()` Gets a list of all local non-loopback IPs known to this JVM.
`static Collection<String>` `allLocalMACs()` Gets a list of all local enabled MACs known to this JVM.
`static List<PluginProvider>` `allPluginProviders()` Gets all plugin providers.
`static int` `arrayCopy(byte[] src, int off, byte[] resBuf, int resOff, int len)`
`static <T extends R,R> List<R>` `arrayList(Collection<T> c)`
`static <T extends R,R> List<R>` `arrayList(Collection<T> c, IgnitePredicate<? super T>... p)`
`static <T extends R,R> List<R>` `arrayList(Iterable<T> c, int cap, IgnitePredicate<? super T>... p)`
`static <T> Iterable<T>` `asIterable(Enumeration<T> e)` Converts enumeration to iterable so it can be used in `foreach` construct.
`static void` `assertParameter(boolean cond, String condDesc)` Throws exception with uniform error message if given parameter's assertion condition is `false`.
`static void` `asyncLogError(IgniteInternalFuture<?> f, IgniteLogger log)` Adds listener to asynchronously log errors.
`static void` `await(Condition cond)` Awaits for condition.
`static boolean` `await(Condition cond, long time, TimeUnit unit)` Awaits for condition.
`static void` `await(CountDownLatch latch)` Awaits for the latch.
`static boolean` `await(CountDownLatch latch, long timeout, TimeUnit unit)` Awaits for the latch.
`static void` `awaitQuiet(CountDownLatch latch)` Awaits for the latch until it is counted down, ignoring interruptions.
`static void` `awaitQuiet(CyclicBarrier barrier)` Awaits for the barrier ignoring interruptions.
`static Class<?>` `box(Class<?> cls)` Gets wrapper class for a primitive type.
`static String` `byteArray2HexString(byte[] arr)` Converts byte array to hex string.
`static String` `byteArray2String(byte[] arr, String hdrFmt, String bodyFmt)` Converts byte array to formatted string.
`static boolean` `bytesEqual(byte[] a, int aOff, byte[] b, int bOff, int len)` Compares fragments of byte arrays.
`static double` `bytesToDouble(byte[] bytes, int off)` Constructs double from byte array.
`static float` `bytesToFloat(byte[] bytes, int off)` Constructs float from byte array.
`static IgniteUuid` `bytesToIgniteUuid(byte[] in, int off)` Converts bytes to GridUuid.
`static int` `bytesToInt(byte[] bytes, int off)` Constructs `int` from byte array.
`static long` `bytesToLong(byte[] bytes, int off)` Constructs `long` from byte array.
`static short` `bytesToShort(byte[] bytes, int off)` Constructs `short` from byte array.
`static UUID` `bytesToUuid(byte[] bytes, int off)` Reads an `UUID` form byte array.
`static GridCacheAttributes[]` `cacheAttributes(ClusterNode n)` Gets cache attributes for the node.
`static String` `calculateMD5(InputStream in)` Calculate MD5 string.
`static byte[]` `calculateMD5Digest(InputStream in)` Calculate MD5 digits.
`static void` `cancel(GridWorker w)` Cancels given runnable.
`static void` `cancel(Iterable<? extends GridWorker> ws)` Cancels collection of runnables.
`static int` `capacity(int expSize)` Returns a capacity that is sufficient to keep the map from being resized as long as it grows no larger than expSize and the load factor is >= its default (0.75).
`static IgniteCheckedException` `cast(Throwable t)` Casts this throwable as `IgniteCheckedException`.
`static int` `ceilPow2(int v)` Gets nearest power of 2 larger or equal than v.
`static Class<?>` `classForName(String cls, Class<?> dflt)` Gets class for the given name if it can be loaded or default given class.
`static String` `classNameToResourceName(String clsName)` Gets resource path for the class.
`static void` `clearClassCache()` Completely clears class cache.
`static void` `clearClassCache(ClassLoader ldr)` Clears class cache for provided loader.
`static void` `close(AutoCloseable rsrc, IgniteLogger log)` Closes given resource logging possible checked exception.
`static void` `close(Context rsrc, IgniteLogger log)` Closes given resource logging possible checked exception.
`static void` `close(DatagramSocket rsrc)` Closes given resource.
`static void` `close(SelectionKey rsrc, IgniteLogger log)` Closes given resource logging possible checked exceptions.
`static void` `close(Selector rsrc, IgniteLogger log)` Closes given resource logging possible checked exception.
`static void` `close(URLClassLoader clsLdr, IgniteLogger log)` Closes class loader logging possible checked exception.
`static void` `closeQuiet(AutoCloseable rsrc)` Quietly closes given resource ignoring possible checked exception.
`static void` `closeQuiet(Context rsrc)` Quietly closes given resource ignoring possible checked exception.
`static void` `closeQuiet(SelectionKey rsrc)` Quietly closes given resource ignoring possible checked exceptions.
`static void` `closeQuiet(Selector rsrc)` Quietly closes given resource ignoring possible checked exception.
`static String` `compact(String s)` Replaces all occurrences of `org.apache.ignite.` with `o.a.i.`, `org.apache.ignite.internal.` with `o.a.i.i.`, `org.apache.ignite.internal.visor.` with `o.a.i.i.v.` and `org.apache.ignite.scalar.` with `o.a.i.s.`.
`static int` `compareVersionNumbers(String v1, String v2)` Compare java implementation version
`static int` `concurrentMapSegment(int hash, int concurLvl)`
`static String` `consistentId(Collection<String> addrs, int port)`
`static boolean` `containsAll(Map<?,?> base, Map<?,?> map)` Checks if the map passed in is contained in base map.
`static boolean` `containsIntArray(int[] arr, int val)` Checks for containment of the value in the array.
`static boolean` `containsObjectArray(Object[] arr, Collection<Object> c)` Checks for containment of the value in the array.
`static boolean` `containsObjectArray(Object[] arr, Object val, Object... vals)` Checks for containment of the value in the array.
`static boolean` `containsStringArray(String[] arr, String val, boolean ignoreCase)` Checks for containment of given string value in the specified array.
`static boolean` `containsStringCollection(Iterable<String> c, String val, boolean ignoreCase)` Checks for containment of given string value in the specified collection.
`static IgniteException` `convertException(IgniteCheckedException e)`
`static Exception` `convertExceptionNoWrap(IgniteCheckedException e)` Converts exception, but unlike `convertException(IgniteCheckedException)` does not wrap passed in exception if none suitable converter found.
`static void` `copy(File src, File dest, boolean overwrite)` Copy source file (or folder) to destination file (or folder).
`static int` `copy(InputStream in, OutputStream out)` Copies input byte stream to output byte stream.
`static int` `copy(Reader in, Writer out)` Copies input character stream to output character stream.
`static int[]` `copyIfExceeded(int[] arr, int len)` Copies array only if array length greater than needed length.
`static <K,V> Map<K,V>` `copyMap(Map<K,V> m)`
`static byte[]` `copyMemory(long ptr, int size)`
`static void` `courtesy(IgniteLogger log, Object msg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message in `org.apache.ignite.CourtesyConfigNotice` category.
`static void` `courtesy(IgniteLogger log, Object longMsg, Object shortMsg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message in `org.apache.ignite.CourtesyConfigNotice` category.
`static Method` `ctorFactory()` Return SUN specific constructor factory.
`static long` `currentTimeMillis()`
`static String` `customDirectoryLogFileName(String dir, String fileName)` Substitutes log directory with a custom one.
`static String` `dash(int len)` Makes a `'+---+'` dash line.
`static void` `debug(IgniteLogger log, String msg)` Deprecated. Calls to this method should never be committed to master.
`static void` `debug(Object msg)` Deprecated. Calls to this method should never be committed to master.
`static void` `debugHeapUsage()` Prints heap usage.
`static void` `debugStack(IgniteLogger log, String msg)` Deprecated. Calls to this method should never be committed to master.
`static void` `debugx(String msg)` Deprecated. Calls to this method should never be committed to master.
`static byte[]` `decodeHex(char[] data)` Converts an array of characters representing hexidecimal values into an array of bytes of those same values.
`static boolean` `delete(File file)` Deletes file or directory with all sub-directories and files.
`static Class<?>` `detectClass(Object obj)` Tries to detect user class from passed in object inspecting collections, arrays or maps.
`static ClassLoader` `detectClassLoader(Class<?> cls)` Detects class loader for given class.
`static ClassLoader` `detectObjectClassLoader(Object obj)` Detects class loader for given object's class.
`static GridPeerDeployAware` `detectPeerDeployAware(GridPeerDeployAware obj)` Unwraps top level user class for wrapped objects.
`static int[]` `difference(int[] a, int aLen, int[] b, int bLen)` Returns array which is the difference between two arrays (array of elements contained in first array but not contained in second).
`static byte` `directProtocolVersion(GridKernalContext ctx, UUID nodeId)` Defines which protocol version to use for communication with the provided node.
`static boolean` `discoOrdered(DiscoverySpi discoSpi)`
`static byte[]` `doubleToBytes(double d)` Converts primitive double to byte array.
`static int` `doubleToBytes(double d, byte[] bytes, int off)` Converts primitive `double` type to byte array and stores it in the specified byte array.
`static File` `downloadUrl(URL url, File file)` Downloads resource by URL.
`static void` `dumpStack()` Deprecated. Calls to this method should never be committed to master.
`static void` `dumpStack(IgniteLogger log, String msg)`
`static void` `dumpStack(String msg)` Deprecated. Calls to this method should never be committed to master.
`static void` `dumpStack(String msg, PrintStream out)` Deprecated. Calls to this method should never be committed to master.
`static void` `dumpStack(Thread t)` Deprecated. Calls to this method should never be committed to master.
`static void` `dumpStack(Thread t, PrintStream s)` Deprecated. Calls to this method should never be committed to master.
`static void` `dumpThreads(IgniteLogger log)` Performs thread dump and prints all available info to the given log.
`static ClusterGroupEmptyCheckedException` `emptyTopologyException()` Creates appropriate empty projection exception.
`static void` `error(IgniteLogger log, Object msg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log ERROR message.
`static void` `error(IgniteLogger log, Object longMsg, Object shortMsg, Throwable e)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log ERROR message.
`static void` `error(IgniteLogger log, Object shortMsg, Throwable e)` Shortcut for `error(org.apache.ignite.IgniteLogger, Object, Object, Throwable)`.
`static IgniteCheckedException` `exceptionWithSuppressed(String msg, Collection<Throwable> suppressed)` Creates `IgniteCheckedException` with the collection of suppressed exceptions.
`static <T> T` `field(Class<?> cls, String fieldName)` Gets field value.
`static <T> T` `field(Object obj, String fieldName)` Gets field value.
`static long` `fieldOffset(Class<?> cls, String fieldName)` Gets object field offset.
`static String` `filler(int len, char ch)`
`static List<InetAddress>` `filterReachable(List<InetAddress> addrs)`
`static Field` `findField(Class<?> cls, String name)`
`static Method` `findNonPublicMethod(Class<?> cls, String name, Class<?>... paramTypes)` Finds a method in the class and it parents.
`static <T> T` `firstNotNull(T... vals)` Returns a first non-null value in a given array, if such is present.
`static String` `fl(String msg, Object... args)` Creates string for log output.
`static byte[]` `floatToBytes(float f)` Converts primitive float to byte array.
`static int` `floatToBytes(float f, byte[] bytes, int off)` Converts primitive float to byte array.
`static Constructor<?>` `forceEmptyConstructor(Class<?> cls)` Gets empty constructor for class even if the class does not have empty constructor declared.
`static <T> T` `forceNewInstance(Class<?> cls)` Creates new instance of a class even if it does not have public constructor.
`static String` `format(Date date, String ptrn)` Formats passed date with specified pattern.
`static String` `format(long sysTime)` Formats system time in milliseconds for printing in logs.
`static String` `formatMins(long mins)` Pretty-formatting for minutes.
`static Class<?>` `forName(String clsName, ClassLoader ldr)` Gets class for provided name.
`static <T> T` `get(Future<T> fut)` Gets result from the given future with right exception handling.
`static <T extends Annotation> T` `getAnnotation(Class<?> cls, Class<T> annCls)` Gets annotation for a class.
`static <T> T` `getByIndex(Collection<T> vals, int idx)` Gets collection value by index.
`static CompilationMXBean` `getCompilerMx()` Gets compilation MBean.
`static C1<IgniteCheckedException,IgniteException>` `getExceptionConverter(Class<? extends IgniteCheckedException> clazz)` Gets IgniteClosure for an IgniteCheckedException class.
`static String` `getIgniteHome()` Retrieves `IGNITE_HOME` property.
`static InetAddress` `getLocalHost()` Gets local host.
`static MemoryMXBean` `getMemoryMx()` Gets memory MBean.
`static String` `getNetworkInterfaceName(String addr)` Gets display name of the network interface this IP address belongs to.
`static OperatingSystemMXBean` `getOsMx()` Gets OS MBean.
`static RuntimeMXBean` `getRuntimeMx()` Gets runtime MBean.
`static String` `getSimpleName(Class<?> cls)` Gets simple class name taking care of empty names.
`static String` `getTaskName(Class<? extends ComputeTask<?,?>> taskCls)` Gets task name for the given task class.
`static ThreadMXBean` `getThreadMx()` Gets threading MBean.
`static ClassLoader` `gridClassLoader()`
`static String` `gridEventName(int type)` Gets name for given grid event type.
`static int[]` `gridEvents(int... excl)` Gets all event types.
`static Collection<UUID>` `gridIds(Collection<? extends Ignite> grids)` Converts collection of Grid instances to collection of node IDs.
`static Collection<String>` `grids2names(Collection<? extends Ignite> grids)` Converts collection of Grid instances to collection of grid names.
`static <T extends Annotation> boolean` `hasAnnotation(Class<?> cls, Class<T> annCls)` Indicates if class has given annotation.
`static <T extends Annotation> boolean` `hasAnnotation(Object o, Class<T> annCls)` Indicates if class has given annotation.
`static int` `hash(int h)` Applies a supplemental hash function to a given hashCode, which defends against poor quality hash functions.
`static int` `hash(Object key)` Applies a supplemental hash function to a given hashCode, which defends against poor quality hash functions.
`static int` `hashCode(ByteBuffer... bufs)` Calculates hash code for the given byte buffers contents.
`static boolean` `hasNearCache(ClusterNode n, String cacheName)` Checks if given node has near cache enabled for the specified partitioned cache.
`static boolean` `hasParent(ClassLoader parent, ClassLoader ldr)`
`static boolean` `hasSharedMemory()`
`static double` `heapSize(ClusterNode node, int precision)` Gets heap size in GB rounded to specified precision.
`static double` `heapSize(int precision)` Returns current JVM maxMemory in the same format as `heapSize(ClusterNode, int)`.
`static double` `heapSize(Iterable<ClusterNode> nodes, int precision)` Gets total heap size in GB rounded to specified precision.
`static String` `hexLong(long val)` Gets a hex string representation of the given long value.
`static byte[]` `hexString2ByteArray(String hex)` Convert string with hex values to byte array.
`static String` `hidePassword(String uri)` Replace password in URI string with a single '*' character.
`static IgniteClosure<UUID,ClusterNode>` `id2Node(GridKernalContext ctx)`
`static String` `id8(IgniteUuid id)` Gets 8-character substring of `IgniteUuid` (for terse logging).
`static String` `id8(UUID id)` Gets 8-character substring of UUID (for terse logging).
`static byte[]` `igniteUuidToBytes(IgniteUuid uuid)` Converts GridUuid to bytes.
`static void` `igniteUuidToBytes(IgniteUuid uuid, byte[] out, int off)` Converts GridUuid to bytes.
`static Comparator<InetSocketAddress>` `inetAddressesComparator(boolean sameHost)` Returns comparator that sorts remote node addresses.
`static void` `interrupt(Iterable<? extends Thread> workers)` Convenience method that interrupts a given thread if it's not `null`.
`static void` `interrupt(Thread t)` Convenience method that interrupts a given thread if it's not `null`.
`static byte[]` `intToBytes(int i)` Converts primitive `int` type to byte array.
`static int` `intToBytes(int i, byte[] bytes, int off)` Converts primitive `int` type to byte array and stores it in specified byte array.
`static <T> T` `invoke(Class<?> cls, Object obj, String mtdName, Class[] paramTypes, Object... params)` Invokes method.
`static <T> T` `invoke(Class<?> cls, Object obj, String mtdName, Object... params)` Invokes method.
`static boolean` `isEqualsMethod(Method mtd)`
`static boolean` `isFinal(Class<?> cls)`
`static boolean` `isGrid(Class<?> cls)` Checks if given class is of `Grid` type.
`static boolean` `isHashCodeMethod(Method mtd)`
`static boolean` `isHotSpot()` Indicates whether HotSpot VM is used.
`static boolean` `isIgnite(Class<?> cls)` Checks if given class is of `Ignite` type.
`static boolean` `isIncreasingArray(int[] arr, int len)` Checks if array prefix increases.
`static boolean` `isJavaVersionAtLeast(String v)` Compare running Java Runtime version with `v`
`static boolean` `isJdk(Class<?> cls)` Check if given class is of JDK type.
`static boolean` `isLinux()` Indicates whether current OS is Linux flavor.
`static boolean` `isLoadableBy(String clsName, ClassLoader ldr)` Tests whether or not given class is loadable provided class loader.
`static boolean` `isLocalHostChanged()` Determines whether current local host is different from previously cached.
`static boolean` `isMacInvalidArgumentError(Exception e)` Checks if error is MAC invalid argument error which ususally requires special handling.
`static boolean` `isMacOs()` Indicates whether current OS is Mac OS.
`static boolean` `isNetWare()` Indicates whether current OS is Netware.
`static boolean` `isNonDecreasingArray(int[] arr, int len)` Checks if array prefix do not decreases.
`static boolean` `isPow2(int i)`
`static boolean` `isPrimitiveArray(Object obj)` Checks if object is a primitive array.
`static boolean` `isPrimitiveOrWrapper(Class<?> cls)`
`static boolean` `isSolaris()` Indicates whether current OS is Solaris.
`static boolean` `isSolarisSparc()` Indicates whether current OS is Solaris on Spark box.
`static boolean` `isSolarisX86()` Indicates whether current OS is Solaris on x86 box.
`static boolean` `isSufficientlyTestedOs()` Indicates that Ignite has been sufficiently tested on the current OS.
`static boolean` `isToStringMethod(Method mtd)`
`static boolean` `isUnix()` Indicates whether current OS is UNIX flavor.
`static boolean` `isVisorNodeStartProperty(String name)` Checks whether property is one added by Visor when node is started via remote SSH session.
`static boolean` `isVisorRequiredProperty(String name)` Checks whether property is one required by Visor to work correctly.
`static boolean` `isWindows()` Indicates whether current OS is Windows.
`static boolean` `isWindows2003()` Indicates whether current OS is Windows Server 2003.
`static boolean` `isWindows2008()` Indicates whether current OS is Windows Server 2008.
`static boolean` `isWindows2k()` Indicates whether current OS is Windows 2000.
`static boolean` `isWindows7()` Indicates whether current OS is Windows 7.
`static boolean` `isWindows8()` Indicates whether current OS is Windows 8.
`static boolean` `isWindows81()` Indicates whether current OS is Windows 8.1.
`static boolean` `isWindows95()` Indicates whether current OS is Windows 95.
`static boolean` `isWindows98()` Indicates whether current OS is Windows 98.
`static boolean` `isWindowsNt()` Indicates whether current OS is Windows NT.
`static boolean` `isWindowsVista()` Indicates whether current OS is Windows Vista.
`static boolean` `isWindowsXp()` Indicates whether current OS is Windows XP.
`static String` `jdkName()` Gets JDK name.
`static String` `jdkString()` Gets JDK string.
`static String` `jdkVendor()` Gets JDK vendor.
`static String` `jdkVersion()` Gets JDK version.
`static JMException` `jmException(Throwable e)` Utility method creating `JMException` with given cause.
`static byte[]` `join(byte[]... bufs)` Join byte arrays into single one.
`static void` `join(GridWorker w)` Joins worker.
`static boolean` `join(GridWorker w, IgniteLogger log)` Joins runnable.
`static boolean` `join(Iterable<? extends GridWorker> ws, IgniteLogger log)` Joins given collection of runnables.
`static void` `join(Thread t)` Joins thread.
`static boolean` `join(Thread t, IgniteLogger log)` Waits for completion of a given thread.
`static boolean` `joinThreads(Iterable<? extends Thread> workers, IgniteLogger log)` Waits for completion of a given threads.
`static String` `jreName()` Gets Java Runtime name.
`static String` `jreVersion()` Gets Java Runtime version.
`static List<String>` `jvmArgs()`
`static String` `jvmName()` Gets JVM implementation name.
`static int` `jvmPid()`
`static String` `jvmSpec()` Gets JVM specification name.
`static String` `jvmVendor()` Gets JVM implementation vendor.
`static String` `jvmVersion()` Gets JVM implementation version.
`static String` `lambdaEnclosingClassName(String clsName)` Extracts full name of enclosing class from JDK8 lambda class name.
`static <K,V> Map<K,V>` `limitedMap(int limit)` Creates new map that limited by size.
`static void` `log(IgniteLogger log, Object msg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log INF0 message.
`static void` `log(IgniteLogger log, Object longMsg, Object shortMsg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log INFO message.
`static IgniteLogger` `logger(GridKernalContext ctx, AtomicReference<IgniteLogger> logRef, Class<?> cls)` Initializes logger into/from log reference passed in.
`static IgniteLogger` `logger(GridKernalContext ctx, AtomicReference<IgniteLogger> logRef, Object obj)` Initializes logger into/from log reference passed in.
`static byte[]` `longToBytes(long l)` Converts primitive `long` type to byte array.
`static int` `longToBytes(long l, byte[] bytes, int off)` Converts primitive `long` type to byte array and stores it in specified byte array.
`static ObjectName` `makeCacheMBeanName(String gridName, String cacheName, String name)` Constructs JMX object name with given properties.
`static ObjectName` `makeMBeanName(String gridName, String grp, String name)` Constructs JMX object name with given properties.
`static String` `maskName(String name)` Mask component name to make sure that it is not `null`.
`static long` `microTime()`
`static boolean` `mkdirs(File dir)`
`static Map<String,Collection<ClusterNode>>` `neighborhood(Iterable<ClusterNode> nodes)` Groups given nodes by the node's physical computer (host).
`static <K,V> HashMap<K,V>` `newHashMap(int expSize)` Creates new `HashMap` with expected size.
`static <T> HashSet<T>` `newHashSet(int expSize)` Creates new `HashSet` with expected size.
`static <T> T` `newInstance(Class<T> cls)` Creates new instance of a class only if it has an empty constructor (can be non-public).
`static <T> T` `newInstance(String cls)` Creates new instance of a class only if it has an empty constructor (can be non-public).
`static <K,V> LinkedHashMap<K,V>` `newLinkedHashMap(int expSize)` Creates new `LinkedHashMap` with expected size.
`static <T> LinkedHashSet<T>` `newLinkedHashSet(int expSize)` Creates new `LinkedHashSet` with expected size.
`static String` `nl()`
`static String` `nodeIdLogFileName(UUID nodeId, String fileName)` Attaches node ID to log file name.
`static Collection<UUID>` `nodeIds(Collection<? extends ClusterNode> nodes)` Converts collection of nodes to collection of node IDs.
`static Collection<String>` `nodes2names(Collection<? extends ClusterNode> nodes)` Converts collection of grid nodes to collection of grid names.
`static void` `nullifyHomeDirectory()` Nullifies Ignite home directory.
`static void` `nullifyWorkDirectory()` Nullifies work directory.
`static Constructor` `objectConstructor()`
`static ClusterNode` `oldest(Collection<ClusterNode> c, IgnitePredicate<ClusterNode> p)` Gets oldest node out of collection of nodes.
`static void` `onGridStart()` Starts clock timer if grid is first.
`static void` `onGridStop()` Stops clock timer if all nodes into JVM were stopped.
`static String` `osArchitecture()` Gets OS CPU-architecture.
`static String` `osJdkString()` Gets OS JDK string.
`static String` `osName()` Gets underlying OS name.
`static String` `osString()` Gets OS string.
`static String` `osVersion()` Gets underlying OS version.
`static boolean` `overridesEqualsAndHashCode(Object obj)`
`static boolean` `p2pLoader(ClassLoader ldr)` Checks if class loader is an internal P2P class loader.
`static boolean` `p2pLoader(Object o)` Checks if class loader is an internal P2P class loader.
`static String` `pad(int len)` Creates space filled string of given length.
`static Date` `parse(String src, String ptrn)` Parses passed string with specified date.
`static Calendar` `parseIsoDate(String str)`
`static GridPeerDeployAware` `peerDeployAware(Object obj)` Creates an instance of `GridPeerDeployAware` for object.
`static GridPeerDeployAware` `peerDeployAware0(Iterable<?> c)` Gets the peer deploy aware instance for the object with the widest class loader.
`static GridPeerDeployAware` `peerDeployAware0(Object... c)` Gets the peer deploy aware instance for the object with the widest class loader.
`static GridPeerDeployAware` `peerDeployAware0(Object obj)` Creates an instance of `GridPeerDeployAware` for object.
`static <K,V> void` `printConcurrentHashMapInfo(ConcurrentHashMap<K,V> map)`
`static IgniteProductVersion` `productVersion(ClusterNode node)` Gets node product version based on node attributes.
`static <T> T` `property(Object obj, String propName)` Gets property value.
`static void` `quiet(boolean err, Object... objs)`
`static void` `quietAndInfo(IgniteLogger log, String msg)` Prints out the message in quite and info modes.
`static void` `quietAndWarn(IgniteLogger log, Object msg)` Logs warning message in both verbose and quite modes.
`static void` `quietAndWarn(IgniteLogger log, Object msg, Object shortMsg)` Logs warning message in both verbose and quite modes.
`static <T> Iterable<T>` `randomIterable(Collection<T> col)` Takes given collection, shuffles it and returns iterable instance.
`static boolean` `reachable(InetAddress addr, int reachTimeout)` Checks if address can be reached using one argument InetAddress.isReachable() version.
`static boolean` `reachable(NetworkInterface itf, InetAddress addr, int reachTimeout)` Checks if address can be reached using three argument InetAddress.isReachable() version.
`static Object[]` `readArray(ObjectInput in)` Reads array from input stream.
`static boolean[]` `readBooleanArray(DataInput in)` Reads boolean array from input stream accounting for `null` values.
`static byte[]` `readByteArray(ByteBuffer... bufs)` Reads byte array from given buffers (changing buffer positions).
`static byte[]` `readByteArray(DataInput in)` Reads byte array from input stream accounting for `null` values.
`static List<Byte>` `readByteList(DataInput in)` // FIXME: added for DR dataCenterIds, review if it is needed after GG-6879.
`static List<byte[]>` `readBytesList(DataInput in)` Reads collection of byte arrays from data input.
`static Class<?>[]` `readClassArray(ObjectInput in)` Reads array from input stream.
`static <E> Collection<E>` `readCollection(ObjectInput in)`
`static String` `readFileToString(String fileName, String charset)` Reads file to string using specified charset.
`static IgniteUuid` `readGridUuid(byte[] arr, long off)`
`static IgniteUuid` `readGridUuid(DataInput in)` Reads `IgniteUuid` from input stream.
`static IgniteUuid` `readGridUuid(long ptr)`
`static List<IgniteUuid>` `readGridUuids(DataInput in)` Reads Grid UUIDs from input stream.
`static <K,V> HashMap<K,V>` `readHashMap(ObjectInput in)` Read hash map.
`static int[]` `readIntArray(DataInput in)` Reads int array from input stream accounting for `null` values.
`static Collection<Integer>` `readIntCollection(DataInput in)`
`static Map<Integer,Integer>` `readIntKeyIntValueMap(DataInput in)`
`static <V> Map<Integer,V>` `readIntKeyMap(ObjectInput in)`
`static List<Integer>` `readIntList(DataInput in)`
`static Set<Integer>` `readIntSet(DataInput in)`
`static <K,V> LinkedHashMap<K,V>` `readLinkedMap(ObjectInput in)`
`static <E> List<E>` `readList(ObjectInput in)`
`static <K,V> Map<K,V>` `readMap(ObjectInput in)`
`static <E> Set<E>` `readSet(ObjectInput in)`
`static String` `readString(DataInput in)` Reads string from input stream accounting for `null` values.
`static Map<String,String>` `readStringMap(DataInput in)` Reads string-to-string map written by `writeStringMap(DataOutput, Map)`.
`static <K,V> TreeMap<K,V>` `readTreeMap(ObjectInput in)`
`static String` `readUTFStringNullable(DataInput in)` Read UTF string which can be `null`.
`static UUID` `readUuid(DataInput in)` Reads UUID from input stream.
`static List<UUID>` `readUuids(DataInput in)` Reads UUIDs from input stream.
`static GridCacheVersion` `readVersion(byte[] arr, long off, boolean verEx)`
`static GridCacheVersion` `readVersion(long ptr, boolean verEx)`
`static <T> ObjectName` `registerCacheMBean(MBeanServer mbeanSrv, String gridName, String cacheName, String name, T impl, Class<T> itf)` Registers MBean with the server.
`static <T> ObjectName` `registerMBean(MBeanServer mbeanSrv, ObjectName name, T impl, Class<T> itf)` Registers MBean with the server.
`static <T> ObjectName` `registerMBean(MBeanServer mbeanSrv, String gridName, String grp, String name, T impl, Class<T> itf)` Registers MBean with the server.
`static boolean` `relaxDiscoveryOrdered()`
`static void` `releaseQuiet(FileLock lock)` Quietly releases file lock ignoring all possible exceptions.
`static void` `removeJavaNoOpLogger(Collection<Handler> rmvHnds)` Removes previously added no-op handler for root java logger.
`static void` `removeLog4jNoOpLogger(IgniteBiTuple<Object,Object> t)` Removes previously added no-op logger via method `addLog4jNoOpLogger()`.
`static Collection<InetSocketAddress>` `resolveAddresses(AddressResolver addrRslvr, Iterable<String> addrs, int port)` Resolves all not loopback addresses and collect results.
`static ClassLoader` `resolveClassLoader(ClassLoader ldr, IgniteConfiguration cfg)`
`static ClassLoader` `resolveClassLoader(IgniteConfiguration cfg)`
`static File` `resolveIgnitePath(String path)` Gets file associated with path.
`static URL` `resolveIgniteUrl(String path)` Gets URL representing the path passed in.
`static URL` `resolveIgniteUrl(String path, boolean metaInf)` Gets URL representing the path passed in.
`static IgniteBiTuple<Collection<String>,Collection<String>>` `resolveLocalAddresses(InetAddress locAddr)` Returns host names consistent with `resolveLocalHost(String)`.
`static InetAddress` `resolveLocalHost(String hostName)` Tries to resolve host by name, returning local host if input is empty.
`static URL` `resolveSpringUrl(String springCfgPath)` Resolve Spring configuration URL.
`static File` `resolveWorkDirectory(String path, boolean delIfExist)` Resolves work directory.
`static void` `rollbackConnection(Connection rsrc, IgniteLogger log)` Rollbacks JDBC connection logging possible checked exception.
`static void` `rollbackConnectionQuiet(Connection rsrc)` Quietly rollbacks JDBC connection ignoring possible checked exception.
`static int` `safeAbs(int i)` Gets absolute value for integer.
`static boolean` `sameMacs(ClusterNode loc, ClusterNode rmt)`
`static <E> List<E>` `sealList(Collection<E> c)` Seal collection.
`static <E> List<E>` `sealList(E... a)` Convert array to seal list.
`static <K,V> Map<K,V>` `sealMap(Map<K,V> m)`
`static void` `setIgniteHome(String path)`
`static void` `setWorkDirectory(String userWorkDir, String userIgniteHome)`
`static byte[]` `shortToBytes(short s)` Converts primitive `short` type to byte array.
`static int` `shortToBytes(short s, byte[] bytes, int off)` Converts primitive `short` type to byte array and stores it in specified byte array.
`static void` `shutdownNow(Class<?> owner, ExecutorService exec, IgniteLogger log)` Shutdowns given `ExecutorService` and wait for executor service to stop.
`static void` `sleep(long ms)` Sleeps for given number of milliseconds.
`static String` `spiAttribute(IgniteSpi spi, String attrName)` Creates SPI attribute name by adding prefix to the attribute name.
`static void` `startLifecycleAware(Iterable<?> objs)` For each object provided by the given `Iterable` checks if it implements `LifecycleAware` interface and executes `LifecycleAware.start()` method.
`static void` `startThreads(Iterable<? extends Thread> threads)` Starts given threads.
`static <T> T` `staticField(Class<?> cls, String fieldName)` Gets static field value.
`static void` `stopLifecycleAware(IgniteLogger log, Iterable<?> objs)` For each object provided by the given `Iterable` checks if it implements `LifecycleAware` interface and executes `LifecycleAware.stop()` method.
`static Object` `sunReflectionFactory()` SUN JDK specific reflection factory for objects without public constructor.
`static String` `threadName(long threadId)`
`static <T> T[]` `toArray(Collection<? extends T> c, T[] arr)` Copies all elements from collection to array and asserts that array is big enough to hold the collection.
`static int` `toDigit(char ch, int idx)` Converts a hexadecimal character to an integer.
`static Collection<InetAddress>` `toInetAddresses(ClusterNode node)` Returns tha list of resolved inet addresses.
`static Collection<InetAddress>` `toInetAddresses(Collection<String> addrs, Collection<String> hostNames)` Returns tha list of resolved inet addresses.
`static int[]` `toIntArray(Collection<Integer> c)` Converts collection of integers into array.
`static List<Integer>` `toIntList(int[] arr, IgnitePredicate<Integer>... p)` Converts array of integers into list.
`static long[]` `toLongArray(Collection<Long> c)` Converts collection of integers into array.
`static List<Long>` `toLongList(long[] arr)` Converts array of longs into list.
`static String` `toShortString(ClusterNode n)` Short node representation.
`static String` `toShortString(Collection<? extends ClusterNode> ns)` Short node representation.
`static Collection<InetSocketAddress>` `toSocketAddresses(ClusterNode node, int port)` Returns tha list of resolved socket addresses.
`static Collection<InetSocketAddress>` `toSocketAddresses(Collection<String> addrs, Collection<String> hostNames, int port)` Returns tha list of resolved socket addresses.
`static int[]` `unique(int[] a, int aLen, int[] b, int bLen)` Returns array which is the union of two arrays (array of elements contained in any of provided arrays).
`static Exception` `unwrap(Throwable t)` Unwraps closure exceptions.
`static void` `unzip(File zipFile, File toDir, IgniteLogger log)` Unzip file to folder.
`static byte[]` `uuidToBytes(UUID uuid)` Converts an UUID to byte array.
`static int` `uuidToBytes(UUID uuid, byte[] arr, int off)` Encodes `UUID` into a sequence of bytes using the `ByteBuffer`, storing the result into a new byte array.
`static void` `wait(Object mux)` Converts `InterruptedException` to `IgniteCheckedException`.
`static void` `warn(IgniteLogger log, Object msg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message.
`static void` `warn(IgniteLogger log, Object longMsg, Object shortMsg)` Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message.
`static <E extends Throwable> E` `withCause(E e, Throwable cause)` Utility method that sets cause into exception and returns it.
`static <R> R` `wrapThreadLoader(ClassLoader ldr, Callable<R> c)` Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.
`static <R> R` `wrapThreadLoader(ClassLoader ldr, IgniteOutClosure<R> c)` Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.
`static void` `wrapThreadLoader(ClassLoader ldr, Runnable c)` Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.
`static <T> void` `writeArray(ObjectOutput out, T[] arr)` Writes array to output stream.
`static void` `writeBooleanArray(DataOutput out, boolean[] arr)` Writes boolean array to output stream accounting for `null` values.
`static void` `writeByteArray(DataOutput out, byte[] arr)` Writes byte array to output stream accounting for `null` values.
`static void` `writeByteArray(DataOutput out, byte[] arr, int maxLen)` Writes byte array to output stream accounting for `null` values.
`static void` `writeByteCollection(DataOutput out, Collection<Byte> col)` // FIXME: added for DR dataCenterIds, review if it is needed after GG-6879.
`static void` `writeBytesCollection(DataOutput out, Collection<byte[]> bytes)` Writes collection of byte arrays to data output.
`static void` `writeCollection(ObjectOutput out, Collection<?> col)`
`static <E extends Enum> void` `writeEnum(DataOutput out, E e)` Writes enum to output stream accounting for `null` values.
`static long` `writeGridUuid(byte[] arr, long off, IgniteUuid uid)`
`static void` `writeGridUuid(DataOutput out, IgniteUuid uid)` Writes `IgniteUuid` to output stream.
`static void` `writeGridUuids(DataOutput out, Collection<IgniteUuid> col)` Writes Grid UUIDs to output stream.
`static void` `writeIntArray(DataOutput out, int[] arr)` Writes int array to output stream accounting for `null` values.
`static void` `writeIntCollection(DataOutput out, Collection<Integer> col)`
`static void` `writeIntKeyIntValueMap(DataOutput out, Map<Integer,Integer> map)`
`static void` `writeIntKeyMap(ObjectOutput out, Map<Integer,?> map)`
`static void` `writeLock(ReadWriteLock lock)`
`static void` `writeMap(ObjectOutput out, Map<?,?> map)`
`static int` `writeMessageFully(Message msg, OutputStream out, ByteBuffer buf, MessageWriter writer)` Fully writes communication message to provided stream.
`static void` `writeString(DataOutput out, String s)` Writes string to output stream accounting for `null` values.
`static void` `writeStringMap(DataOutput out, Map<String,String> map)` Writes string-to-string map to given data output.
`static void` `writeStringToFile(File file, String s)` Writes string to file.
`static void` `writeStringToFile(File file, String s, String charset)` Writes string to file.
`static void` `writeStringToFile(File file, String s, String charset, boolean append)` Writes string to file.
`static void` `writeUTFStringNullable(DataOutput out, String val)` Write UTF string which can be `null`.
`static void` `writeUuid(DataOutput out, UUID uid)` Writes UUID to output stream.
`static void` `writeUuids(DataOutput out, Collection<UUID> col)` Writes UUIDs to output stream.
`static long` `writeVersion(byte[] arr, long off, GridCacheVersion ver)`
`static ClusterNode` `youngest(Collection<ClusterNode> c, IgnitePredicate<ClusterNode> p)` Gets youngest node out of collection of nodes.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### EMPTY_INTS

    public static final int[] EMPTY_INTS

Empty integers array.

#### EMPTY_LONGS

    public static final long[] EMPTY_LONGS

Empty longs.

#### EMPTY_FIELDS

    public static final Field[] EMPTY_FIELDS

Empty longs.

#### DFLT_USER_VERSION

    public static final String DFLT_USER_VERSION

Default user version.

See Also:
  Constant Field Values

#### JMX_DOMAIN

    public static final String JMX_DOMAIN

JMX domain as 'xxx.apache.ignite'.

#### IGNITE_HEADER

    public static final byte[] IGNITE_HEADER

Network packet header.

#### MAC_INVALID_ARG_MSG

    public static final String MAC_INVALID_ARG_MSG

MAC OS invalid argument socket error message.

See Also:
  Constant Field Values

#### IGNITE_LOG_DIR

    public static final String IGNITE_LOG_DIR

Ignite Logging Directory.

#### IGNITE_WORK_DIR

    public static final String IGNITE_WORK_DIR

Ignite Work Directory.

### Constructor Detail

#### IgniteUtils

    public IgniteUtils()

### Method Detail

#### getExceptionConverter

    public static C1<IgniteCheckedException,IgniteException> getExceptionConverter(Class<? extends IgniteCheckedException> clazz)

Gets IgniteClosure for an IgniteCheckedException class.

Parameters:
  `clazz` - Class.
Returns:
  The IgniteClosure mapped to this exception class, or null if none.

#### allPluginProviders

    public static List<PluginProvider> allPluginProviders()

Gets all plugin providers.

Returns:
  Plugins.

#### convertExceptionNoWrap

    public static Exception convertExceptionNoWrap(IgniteCheckedException e)

Converts exception, but unlike `convertException(IgniteCheckedException)` does not wrap passed in exception if none suitable converter found.

Parameters:
  `e` - Ignite checked exception.
Returns:
  Ignite runtime exception.

#### convertException

    public static IgniteException convertException(IgniteCheckedException e)

Parameters:
  `e` - Ignite checked exception.
Returns:
  Ignite runtime exception.

#### currentTimeMillis

    public static long currentTimeMillis()

Returns:
  System time approximated by 10 ms.

#### microTime

    public static long microTime()

Returns:
  Value of `System.nanoTime()` in microseconds.

#### ceilPow2

    public static int ceilPow2(int v)

Gets nearest power of 2 larger or equal than v.

Parameters:
  `v` - Value.
Returns:
  Nearest power of 2.

#### isPow2

    public static boolean isPow2(int i)

Parameters:
  `i` - Value.
Returns:
  `true` If the given value is power of 2 (0 is not power of 2).

#### ctorFactory

    @Nullable
    public static Method ctorFactory()

Return SUN specific constructor factory.

Returns:
  SUN specific constructor factory.

#### objectConstructor

    public static Constructor objectConstructor()

Returns:
  Empty constructor for object class.

#### sunReflectionFactory

    @Nullable
    public static Object sunReflectionFactory()

SUN JDK specific reflection factory for objects without public constructor.

Returns:
  Reflection factory for objects without public constructor.

#### gridEventName

    public static String gridEventName(int type)

Gets name for given grid event type.

Parameters:
  `type` - Event type.
Returns:
  Event name.

#### gridEvents

    public static int[] gridEvents(int... excl)

Gets all event types.

Parameters:
  `excl` - Optional exclude events.
Returns:
  All events minus excluded ones.

#### discoOrdered

    public static boolean discoOrdered(DiscoverySpi discoSpi)

Parameters:
  `discoSpi` - Discovery SPI.
Returns:
  `True` if ordering is supported.

#### relaxDiscoveryOrdered

    public static boolean relaxDiscoveryOrdered()

Returns:
  Checks if disco ordering should be enforced.

#### debug

    @Deprecated
    public static void debug(Object msg)

Deprecated. Calls to this method should never be committed to master.
This method should be used for adding quick debug statements in code while debugging. Calls to this method should never be committed to master.

Parameters:
  `msg` - Message to debug.

#### debugx

    @Deprecated
    public static void debugx(String msg)

Deprecated. Calls to this method should never be committed to master.
This method should be used for adding quick debug statements in code while debugging. Calls to this method should never be committed to master.

Parameters:
  `msg` - Message to debug.

#### debug

    @Deprecated
    public static void debug(IgniteLogger log,
                        String msg)

Deprecated. Calls to this method should never be committed to master.
This method should be used for adding quick debug statements in code while debugging. Calls to this method should never be committed to master.

Parameters:
  `log` - Logger.
  `msg` - Message to debug.

#### dumpStack

    @Deprecated
    public static void dumpStack()

Deprecated. Calls to this method should never be committed to master.
Prints stack trace of the current thread to `System.out`.

#### dumpStack

    @Deprecated
    public static void dumpStack(String msg)

Deprecated. Calls to this method should never be committed to master.
Prints stack trace of the current thread to `System.out`.

Parameters:
  `msg` - Message to print with the stack.

#### dumpStack

    public static void dumpStack(@Nullable
                 IgniteLogger log,
                 String msg)

Parameters:
  `log` - Logger.
  `msg` - Message.

#### dumpStack

    @Deprecated
    public static void dumpStack(String msg,
                            PrintStream out)

Deprecated. Calls to this method should never be committed to master.
Prints stack trace of the current thread to provided output stream.

Parameters:
  `msg` - Message to print with the stack.
  `out` - Output to dump stack to.

#### debugStack

    @Deprecated
    public static void debugStack(IgniteLogger log,
                             String msg)

Deprecated. Calls to this method should never be committed to master.
Prints stack trace of the current thread to provided logger.

Parameters:
  `log` - Logger.
  `msg` - Message to print with the stack.

#### debugHeapUsage

    public static void debugHeapUsage()

Prints heap usage.

#### heapSize

    public static double heapSize(ClusterNode node,
                  int precision)

Gets heap size in GB rounded to specified precision.

Parameters:
  `node` - Node.
  `precision` - Precision.
Returns:
  Heap size in GB.

#### heapSize

    public static double heapSize(Iterable<ClusterNode> nodes,
                  int precision)

Gets total heap size in GB rounded to specified precision.

Parameters:
  `nodes` - Nodes.
  `precision` - Precision.
Returns:
  Total heap size in GB.

#### heapSize

    public static double heapSize(int precision)

Returns current JVM maxMemory in the same format as `heapSize(ClusterNode, int)`.

Parameters:
  `precision` - Precision.
Returns:
  Maximum memory size in GB.

#### dumpThreads

    public static void dumpThreads(@Nullable
                   IgniteLogger log)

Performs thread dump and prints all available info to the given log.

Parameters:
  `log` - Logger.

#### forceEmptyConstructor

    @Nullable
    public static Constructor<?> forceEmptyConstructor(Class<?> cls)
                                                throws IgniteCheckedException

Gets empty constructor for class even if the class does not have empty constructor declared. This method is guaranteed to work with SUN JDK and other JDKs still need to be tested.

Parameters:
  `cls` - Class to get empty constructor for.
Returns:
  Empty constructor if one could be found or `null` otherwise.
Throws:
  `IgniteCheckedException` - If failed.

#### classForName

    @Nullable
    public static Class<?> classForName(String cls,
                                 @Nullable
                                 Class<?> dflt)

Gets class for the given name if it can be loaded or default given class.

Parameters:
  `cls` - Class.
  `dflt` - Default class to return.
Returns:
  Class or default given class if it can't be found.

#### newInstance

    @Nullable
    public static <T> T newInstance(String cls)
                         throws IgniteCheckedException

Creates new instance of a class only if it has an empty constructor (can be non-public).

Parameters:
  `cls` - Class name.
Returns:
  Instance.
Throws:
  `IgniteCheckedException` - If failed.

#### newInstance

    @Nullable
    public static <T> T newInstance(Class<T> cls)
                         throws IgniteCheckedException

Creates new instance of a class only if it has an empty constructor (can be non-public).

Parameters:
  `cls` - Class to instantiate.
Returns:
  New instance of the class or `null` if empty constructor could not be assigned.
Throws:
  `IgniteCheckedException` - If failed.

#### forceNewInstance

    @Nullable
    public static <T> T forceNewInstance(Class<?> cls)
                              throws IgniteCheckedException

Creates new instance of a class even if it does not have public constructor.

Parameters:
  `cls` - Class to instantiate.
Returns:
  New instance of the class or `null` if empty constructor could not be assigned.
Throws:
  `IgniteCheckedException` - If failed.

#### formatMins

    public static String formatMins(long mins)

Pretty-formatting for minutes.

Parameters:
  `mins` - Minutes to format.
Returns:
  Formatted presentation of minutes.

#### id8

    public static String id8(UUID id)

Gets 8-character substring of UUID (for terse logging).

Parameters:
  `id` - Input ID.
Returns:
  8-character ID substring.

#### id8

    public static String id8(IgniteUuid id)

Gets 8-character substring of `IgniteUuid` (for terse logging). The ID8 will be constructed as follows:

- Take first 4 digits for global ID, i.e. `GridUuid.globalId()`.
- Take last 4 digits for local ID, i.e. `GridUuid.localId()`.

Parameters:
  `id` - Input ID.
Returns:
  8-character representation of `GridUuid`.

#### filler

    public static String filler(int len,
                char ch)

Parameters:
  `len` - Number of characters to fill in.
  `ch` - Character to fill with.
Returns:
  String.

#### writeArray

    public static <T> void writeArray(ObjectOutput out,
                      T[] arr)
                           throws IOException

Writes array to output stream.

Type Parameters:
  `T` - Array type.
Parameters:
  `out` - Output stream.
  `arr` - Array to write.
Throws:
  `IOException` - If failed.

#### readArray

    @Nullable
    public static Object[] readArray(ObjectInput in)
                              throws IOException,
                                     ClassNotFoundException

Reads array from input stream.

Parameters:
  `in` - Input stream.
Returns:
  Deserialized array.
Throws:
  `IOException` - If failed.
  `ClassNotFoundException` - If class not found.

#### readClassArray

    @Nullable
    public static Class<?>[] readClassArray(ObjectInput in)
                                     throws IOException,
                                            ClassNotFoundException

Reads array from input stream.

Parameters:
  `in` - Input stream.
Returns:
  Deserialized array.
Throws:
  `IOException` - If failed.
  `ClassNotFoundException` - If class not found.

#### writeCollection

    public static void writeCollection(ObjectOutput out,
                       Collection<?> col)
                                throws IOException

Parameters:
  `out` - Output.
  `col` - Set to write.
Throws:
  `IOException` - If write failed.

#### writeIntCollection

    public static void writeIntCollection(DataOutput out,
                          Collection<Integer> col)
                                   throws IOException

Parameters:
  `out` - Output.
  `col` - Set to write.
Throws:
  `IOException` - If write failed.

#### readCollection

    @Nullable
    public static <E> Collection<E> readCollection(ObjectInput in)
                                        throws IOException,
                                               ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Deserialized set.
Throws:
  `IOException` - If deserialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### readIntCollection

    @Nullable
    public static Collection<Integer> readIntCollection(DataInput in)
                                                 throws IOException

Parameters:
  `in` - Input.
Returns:
  Deserialized set.
Throws:
  `IOException` - If deserialization failed.

#### copyMap

    public static <K,V> Map<K,V> copyMap(Map<K,V> m)

Type Parameters:
  `K` - Key type.
  `V` - Value type
Parameters:
  `m` - Map to copy.
Returns:
  Copied map.

#### sealMap

    public static <K,V> Map<K,V> sealMap(Map<K,V> m)

Type Parameters:
  `K` - Key type.
  `V` - Value type
Parameters:
  `m` - Map to seal.
Returns:
  Sealed map.

#### sealList

    public static <E> List<E> sealList(Collection<E> c)

Seal collection.

Type Parameters:
  `E` - Entry type
Parameters:
  `c` - Collection to seal.
Returns:
  Sealed collection.

#### sealList

    public static <E> List<E> sealList(E... a)

Convert array to seal list.

Type Parameters:
  `E` - Entry type
Parameters:
  `a` - Array for convert to seal list.
Returns:
  Sealed collection.

#### getNetworkInterfaceName

    @Nullable
    public static String getNetworkInterfaceName(String addr)

Gets display name of the network interface this IP address belongs to.

Parameters:
  `addr` - IP address for which to find network interface name.
Returns:
  Network interface name or `null` if can't be found.

#### resolveLocalHost

    public static InetAddress resolveLocalHost(@Nullable
                               String hostName)
                                        throws IOException

Tries to resolve host by name, returning local host if input is empty. This method reflects how `IgniteConfiguration.getLocalHost()` should be handled in most places.

Parameters:
  `hostName` - Hostname or `null` if local host should be returned.
Returns:
  Address of given host or of localhost.
Throws:
  `IOException` - If attempt to get local host failed.

#### isLocalHostChanged

    public static boolean isLocalHostChanged()
                                      throws IOException

Determines whether current local host is different from previously cached.

Returns:
  `true` or `false` depending on whether or not local host has changed from the cached value.
Throws:
  `IOException` - If attempt to get local host failed.

#### filterReachable

    public static List<InetAddress> filterReachable(List<InetAddress> addrs)

Parameters:
  `addrs` - Addresses.

#### resolveLocalAddresses

    public static IgniteBiTuple<Collection<String>,Collection<String>> resolveLocalAddresses(InetAddress locAddr)
                                                                                      throws IOException,
                                                                                             IgniteCheckedException

Returns host names consistent with `resolveLocalHost(String)`. So when it returns a common address this method returns single host name, and when a wildcard address passed this method tries to collect addresses of all available interfaces.

Parameters:
  `locAddr` - Local address to resolve.
Returns:
  Resolved available addresses of given local address.
Throws:
  `IOException` - If failed.
  `IgniteCheckedException` - If no network interfaces found.

#### getLocalHost

    public static InetAddress getLocalHost()
                                    throws IOException

Gets local host. Implementation will first attempt to get a non-loopback address. If that fails, then loopback address will be returned.

Note that this method is synchronized to make sure that local host initialization happens only once.

Returns:
  Address representing local host.
Throws:
  `IOException` - If attempt to get local host failed.

#### reachable

    public static boolean reachable(NetworkInterface itf,
                    InetAddress addr,
                    int reachTimeout)

Checks if address can be reached using three argument InetAddress.isReachable() version.

Parameters:
  `itf` - Network interface to use for test.
  `addr` - Address to check.
  `reachTimeout` - Timeout for the check.
Returns:
  `True` if address is reachable.

#### reachable

    public static boolean reachable(InetAddress addr,
                    int reachTimeout)

Checks if address can be reached using one argument InetAddress.isReachable() version.

Parameters:
  `addr` - Address to check.
  `reachTimeout` - Timeout for the check.
Returns:
  `True` if address is reachable.

#### sameMacs

    public static boolean sameMacs(ClusterNode loc,
                   ClusterNode rmt)

Parameters:
  `loc` - Local node.
  `rmt` - Remote node.
Returns:
  Whether given nodes have the same macs.

#### allLocalIps

    public static Collection<String> allLocalIps()

Gets a list of all local non-loopback IPs known to this JVM. Note that this will include both IPv4 and IPv6 addresses (even if one "resolves" into another). Loopbacks will be skipped.

Returns:
  List of all known local IPs (empty list if no addresses available).

#### allLocalMACs

    public static Collection<String> allLocalMACs()

Gets a list of all local enabled MACs known to this JVM. It is using hardware address of the network interface that is not guaranteed to be MAC addresses (but in most cases it is).

Note that if network interface is disabled - its MAC won't be included. All local network interfaces are probed including loopbacks. Virtual interfaces (sub-interfaces) are skipped.

Note that on linux getHardwareAddress() can return null from time to time if NetworkInterface.getHardwareAddress() method is called from many threads.

Returns:
  List of all known enabled local MACs or empty list if no MACs could be found.

#### downloadUrl

    public static File downloadUrl(URL url,
                   File file)
                            throws IOException

Downloads resource by URL.

Parameters:
  `url` - URL to download.
  `file` - File where downloaded resource should be stored.
Returns:
  File where downloaded resource should be stored.
Throws:
  `IOException` - If error occurred.

#### hidePassword

    @Nullable
    public static String hidePassword(@Nullable
                               String uri)

Replace password in URI string with a single '*' character.

Parses given URI by applying ".*://(.*:.*)@.*" regular expression pattern and than if URI matches it replaces password strings between '/' and '@' with '*'.

Parameters:
  `uri` - URI which password should be replaced.
Returns:
  Converted URI string

#### gridClassLoader

    public static ClassLoader gridClassLoader()

Returns:
  Class loader used to load Ignite itself.

#### resolveClassLoader

    public static ClassLoader resolveClassLoader(IgniteConfiguration cfg)

Returns:
  ClassLoader at IgniteConfiguration in case it is not null or ClassLoader used to start Ignite.

#### resolveClassLoader

    public static ClassLoader resolveClassLoader(ClassLoader ldr,
                                 IgniteConfiguration cfg)

Returns:
  ClassLoader passed as param in case it is not null or ClassLoader at IgniteConfiguration in case it is not null or ClassLoader used to start Ignite.

#### hasParent

    public static boolean hasParent(@Nullable
                    ClassLoader parent,
                    ClassLoader ldr)

Parameters:
  `parent` - Parent to find.
  `ldr` - Loader to check.
Returns:
  `True` if parent found.

#### writeBytesCollection

    public static void writeBytesCollection(DataOutput out,
                            Collection<byte[]> bytes)
                                     throws IOException

Writes collection of byte arrays to data output.

Parameters:
  `out` - Output to write to.
  `bytes` - Collection with byte arrays.
Throws:
  `IOException` - If write failed.

#### readBytesList

    public static List<byte[]> readBytesList(DataInput in)
                                      throws IOException

Reads collection of byte arrays from data input.

Parameters:
  `in` - Data input to read from.
Returns:
  List of byte arrays.
Throws:
  `IOException` - If read failed.

#### writeByteArray

    public static void writeByteArray(DataOutput out,
                      @Nullable
                      byte[] arr)
                               throws IOException

Writes byte array to output stream accounting for `null` values.

Parameters:
  `out` - Output stream to write to.
  `arr` - Array to write, possibly `null`.
Throws:
  `IOException` - If write failed.

#### writeByteArray

    public static void writeByteArray(DataOutput out,
                      @Nullable
                      byte[] arr,
                      int maxLen)
                               throws IOException

Writes byte array to output stream accounting for `null` values.

Parameters:
  `out` - Output stream to write to.
  `arr` - Array to write, possibly `null`.
Throws:
  `IOException` - If write failed.

#### readByteArray

    @Nullable
    public static byte[] readByteArray(DataInput in)
                                throws IOException

Reads byte array from input stream accounting for `null` values.

Parameters:
  `in` - Stream to read from.
Returns:
  Read byte array, possibly `null`.
Throws:
  `IOException` - If read failed.

#### readByteArray

    public static byte[] readByteArray(ByteBuffer... bufs)

Reads byte array from given buffers (changing buffer positions).

Parameters:
  `bufs` - Byte buffers.
Returns:
  Byte array.

#### writeByteCollection

    public static void writeByteCollection(DataOutput out,
                           Collection<Byte> col)
                                    throws IOException

// FIXME: added for DR dataCenterIds, review if it is needed after GG-6879.

Parameters:
  `out` - Output.
  `col` - Set to write.
Throws:
  `IOException` - If write failed.

#### readByteList

    @Nullable
    public static List<Byte> readByteList(DataInput in)
                                   throws IOException

// FIXME: added for DR dataCenterIds, review if it is needed after GG-6879.

Parameters:
  `in` - Input.
Returns:
  Deserialized list.
Throws:
  `IOException` - If deserialization failed.

#### join

    public static byte[] join(byte[]... bufs)

Join byte arrays into single one.

Parameters:
  `bufs` - list of byte arrays to concatenate.
Returns:
  Concatenated byte's array.

#### byteArray2String

    public static String byteArray2String(byte[] arr,
                          String hdrFmt,
                          String bodyFmt)

Converts byte array to formatted string. If calling:

     ...
     byte[] data = {10, 20, 30, 40, 50, 60, 70, 80, 90};

     U.byteArray2String(data, "0x%02X", ",0x%02X")
     ...

the result will be:

     ...
     0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A
     ...

Parameters:
  `arr` - Array of byte.
  `hdrFmt` - C-style string format for the first element.
  `bodyFmt` - C-style string format for second and following elements, if any.
Returns:
  String with converted bytes.

#### hexString2ByteArray

    public static byte[] hexString2ByteArray(String hex)
                                      throws IllegalArgumentException

Convert string with hex values to byte array.

Parameters:
  `hex` - Hexadecimal string to convert.
Returns:
  array of bytes defined as hex in string.
Throws:
  `IllegalArgumentException` - If input character differs from certain hex characters.

#### hexLong

    public static String hexLong(long val)

Gets a hex string representation of the given long value.

Parameters:
  `val` - Value to convert to string.
Returns:
  Hex string.

#### doubleToBytes

    public static byte[] doubleToBytes(double d)

Converts primitive double to byte array.

Parameters:
  `d` - Double to convert.
Returns:
  Byte array.

#### doubleToBytes

    public static int doubleToBytes(double d,
                    byte[] bytes,
                    int off)

Converts primitive `double` type to byte array and stores it in the specified byte array.

Parameters:
  `d` - Double to convert.
  `bytes` - Array of bytes.
  `off` - Offset.
Returns:
  New offset.

#### floatToBytes

    public static byte[] floatToBytes(float f)

Converts primitive float to byte array.

Parameters:
  `f` - Float to convert.
Returns:
  Array of bytes.

#### floatToBytes

    public static int floatToBytes(float f,
                   byte[] bytes,
                   int off)

Converts primitive float to byte array.

Parameters:
  `f` - Float to convert.
  `bytes` - Array of bytes.
  `off` - Offset.
Returns:
  New offset.

#### longToBytes

    public static byte[] longToBytes(long l)

Converts primitive `long` type to byte array.

Parameters:
  `l` - Long value.
Returns:
  Array of bytes.

#### longToBytes

    public static int longToBytes(long l,
                  byte[] bytes,
                  int off)

Converts primitive `long` type to byte array and stores it in specified byte array.

Parameters:
  `l` - Long value.
  `bytes` - Array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  Number of bytes overwritten in `bytes` array.

#### intToBytes

    public static byte[] intToBytes(int i)

Converts primitive `int` type to byte array.

Parameters:
  `i` - Integer value.
Returns:
  Array of bytes.

#### intToBytes

    public static int intToBytes(int i,
                 byte[] bytes,
                 int off)

Converts primitive `int` type to byte array and stores it in specified byte array.

Parameters:
  `i` - Integer value.
  `bytes` - Array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  Number of bytes overwritten in `bytes` array.

#### shortToBytes

    public static byte[] shortToBytes(short s)

Converts primitive `short` type to byte array.

Parameters:
  `s` - Short value.
Returns:
  Array of bytes.

#### shortToBytes

    public static int shortToBytes(short s,
                   byte[] bytes,
                   int off)

Converts primitive `short` type to byte array and stores it in specified byte array.

Parameters:
  `s` - Short value.
  `bytes` - Array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  Number of bytes overwritten in `bytes` array.

#### uuidToBytes

    public static int uuidToBytes(@Nullable
                  UUID uuid,
                  byte[] arr,
                  int off)

Encodes `UUID` into a sequence of bytes using the `ByteBuffer`, storing the result into a new byte array.

Parameters:
  `uuid` - Unique identifier.
  `arr` - Byte array to fill with result.
  `off` - Offset in `arr`.
Returns:
  Number of bytes overwritten in `bytes` array.

#### uuidToBytes

    public static byte[] uuidToBytes(@Nullable
                     UUID uuid)

Converts an UUID to byte array.

Parameters:
  `uuid` - UUID value.
Returns:
  Encoded into byte array `UUID`.

#### bytesToShort

    public static short bytesToShort(byte[] bytes,
                     int off)

Constructs `short` from byte array.

Parameters:
  `bytes` - Array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  Short value.

#### bytesToInt

    public static int bytesToInt(byte[] bytes,
                 int off)

Constructs `int` from byte array.

Parameters:
  `bytes` - Array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  Integer value.

#### bytesToLong

    public static long bytesToLong(byte[] bytes,
                   int off)

Constructs `long` from byte array.

Parameters:
  `bytes` - Array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  Long value.

#### bytesToUuid

    public static UUID bytesToUuid(byte[] bytes,
                   int off)

Reads an `UUID` form byte array. If given array contains all 0s then `null` will be returned.

Parameters:
  `bytes` - array of bytes.
  `off` - Offset in `bytes` array.
Returns:
  UUID value or `null`.

#### bytesToDouble

    public static double bytesToDouble(byte[] bytes,
                       int off)

Constructs double from byte array.

Parameters:
  `bytes` - Byte array.
  `off` - Offset in `bytes` array.
Returns:
  Double value.

#### bytesToFloat

    public static float bytesToFloat(byte[] bytes,
                     int off)

Constructs float from byte array.

Parameters:
  `bytes` - Byte array.
  `off` - Offset in `bytes` array.
Returns:
  Float value.

#### bytesEqual

    public static boolean bytesEqual(byte[] a,
                     int aOff,
                     byte[] b,
                     int bOff,
                     int len)

Compares fragments of byte arrays.

Parameters:
  `a` - First array.
  `aOff` - First array offset.
  `b` - Second array.
  `bOff` - Second array offset.
  `len` - Length of fragments.
Returns:
  `true` if fragments are equal, `false` otherwise.

#### decodeHex

    public static byte[] decodeHex(char[] data)
                            throws IgniteCheckedException

Converts an array of characters representing hexidecimal values into an array of bytes of those same values. The returned array will be half the length of the passed array, as it takes two characters to represent any given byte. An exception is thrown if the passed char array has an odd number of elements.

Parameters:
  `data` - An array of characters containing hexidecimal digits
Returns:
  A byte array containing binary data decoded from the supplied char array.
Throws:
  `IgniteCheckedException` - Thrown if an odd number or illegal of characters is supplied.

#### dash

    public static String dash(int len)

Makes a `'+---+'` dash line.

Parameters:
  `len` - Length of the dash line to make.
Returns:
  Dash line.

#### pad

    public static String pad(int len)

Creates space filled string of given length.

Parameters:
  `len` - Number of spaces.
Returns:
  Space filled string of given length.

#### format

    public static String format(long sysTime)

Formats system time in milliseconds for printing in logs.

Parameters:
  `sysTime` - System time.
Returns:
  Formatted time string.

#### randomIterable

    public static <T> Iterable<T> randomIterable(Collection<T> col)

Takes given collection, shuffles it and returns iterable instance.

Type Parameters:
  `T` - Type of elements to create iterator for.
Parameters:
  `col` - Collection to shuffle.
Returns:
  Iterable instance over randomly shuffled collection.

#### asIterable

    public static <T> Iterable<T> asIterable(Enumeration<T> e)

Converts enumeration to iterable so it can be used in `foreach` construct.

Type Parameters:
  `T` - Types of instances for iteration.
Parameters:
  `e` - Enumeration to convert.
Returns:
  Iterable over the given enumeration.

#### copy

    public static void copy(File src,
            File dest,
            boolean overwrite)
                     throws IOException

Copy source file (or folder) to destination file (or folder). Supported source & destination:

- File to File
- File to Folder
- Folder to Folder (Copy the content of the directory and not the directory itself)

Parameters:
  `src` - Source file or folder.
  `dest` - Destination file or folder.
  `overwrite` - Whether or not overwrite existing files and folders.
Throws:
  `IOException` - Thrown if an I/O error occurs.

#### onGridStart

    public static void onGridStart()

Starts clock timer if grid is first.

#### onGridStop

    public static void onGridStop()
                           throws InterruptedException

Stops clock timer if all nodes into JVM were stopped.

Throws:
  `InterruptedException` - If interrupted.

#### copy

    public static int copy(InputStream in,
           OutputStream out)
                    throws IOException

Copies input byte stream to output byte stream.

Parameters:
  `in` - Input byte stream.
  `out` - Output byte stream.
Returns:
  Number of the copied bytes.
Throws:
  `IOException` - Thrown if an I/O error occurs.

#### copy

    public static int copy(Reader in,
           Writer out)
                    throws IOException

Copies input character stream to output character stream.

Parameters:
  `in` - Input character stream.
  `out` - Output character stream.
Returns:
  Number of the copied characters.
Throws:
  `IOException` - Thrown if an I/O error occurs.

#### writeStringToFile

    public static void writeStringToFile(File file,
                         String s)
                                  throws IOException

Writes string to file.

Parameters:
  `file` - File.
  `s` - String to write.
Throws:
  `IOException` - Thrown if an I/O error occurs.

#### writeStringToFile

    public static void writeStringToFile(File file,
                         String s,
                         String charset)
                                  throws IOException

Writes string to file.

Parameters:
  `file` - File.
  `s` - String to write.
  `charset` - Encoding.
Throws:
  `IOException` - Thrown if an I/O error occurs.

#### readFileToString

    public static String readFileToString(String fileName,
                          String charset)
                                   throws IOException

Reads file to string using specified charset.

Parameters:
  `fileName` - File name.
  `charset` - File charset.
Returns:
  File content.
Throws:
  `IOException` - If error occurred.

#### writeStringToFile

    public static void writeStringToFile(File file,
                         String s,
                         String charset,
                         boolean append)
                                  throws IOException

Writes string to file.

Parameters:
  `file` - File.
  `s` - String to write.
  `charset` - Encoding.
  `append` - If `true`, then specified string will be added to the end of the file.
Throws:
  `IOException` - Thrown if an I/O error occurs.

#### withCause

    public static <E extends Throwable> E withCause(E e,
                                    @Nullable
                                    Throwable cause)

Utility method that sets cause into exception and returns it.

Type Parameters:
  `E` - Type of the exception.
Parameters:
  `e` - Exception to set cause to and return.
  `cause` - Optional cause to set (if not `null`).
Returns:
  Passed in exception with optionally set cause.

#### delete

    public static boolean delete(@Nullable
                 File file)

Deletes file or directory with all sub-directories and files.

Parameters:
  `file` - File or directory to delete.
Returns:
  `true` if and only if the file or directory is successfully deleted, `false` otherwise

#### mkdirs

    public static boolean mkdirs(File dir)

Parameters:
  `dir` - Directory to create along with all non-existent parent directories.
Returns:
  `True` if directory exists (has been created or already existed), `false` if has not been created and does not exist.

#### getIgniteHome

    @Nullable
    public static String getIgniteHome()

Retrieves `IGNITE_HOME` property. The property is retrieved from system properties or from environment in that order.

Returns:
  `IGNITE_HOME` property.

#### setIgniteHome

    public static void setIgniteHome(@Nullable
                     String path)

Parameters:
  `path` - Ignite home. May be `null`.

#### resolveIgnitePath

    @Nullable
    public static File resolveIgnitePath(String path)

Gets file associated with path.

First check if path is relative to `IGNITE_HOME`. If not, check if path is absolute. If all checks fail, then `null` is returned.

See `getIgniteHome()` for information on how `IGNITE_HOME` is retrieved.

Parameters:
  `path` - Path to resolve.
Returns:
  Resolved path as file, or `null` if path cannot be resolved.

#### resolveIgniteUrl

    @Nullable
    public static URL resolveIgniteUrl(String path)

Gets URL representing the path passed in. First the check is made if path is absolute. If not, then the check is made if path is relative to `META-INF` folder in classpath. If not, then the check is made if path is relative to ${IGNITE_HOME}. If all checks fail, then `null` is returned, otherwise URL representing path is returned.

See `getIgniteHome()` for information on how `IGNITE_HOME` is retrieved.

Parameters:
  `path` - Path to resolve.
Returns:
  Resolved path as URL, or `null` if path cannot be resolved.
See Also:
  `getIgniteHome()`

#### resolveSpringUrl

    public static URL resolveSpringUrl(String springCfgPath)
                                throws IgniteCheckedException

Resolve Spring configuration URL.

Parameters:
  `springCfgPath` - Spring XML configuration file path or URL. This cannot be `null`.
Returns:
  URL.
Throws:
  `IgniteCheckedException` - If failed.

#### resolveIgniteUrl

    @Nullable
    public static URL resolveIgniteUrl(String path,
                                boolean metaInf)

Gets URL representing the path passed in. First the check is made if path is absolute. If not, then the check is made if path is relative to `META-INF` folder in classpath. If not, then the check is made if path is relative to ${IGNITE_HOME}. If all checks fail, then `null` is returned, otherwise URL representing path is returned.

See `getIgniteHome()` for information on how `IGNITE_HOME` is retrieved.

Parameters:
  `path` - Path to resolve.
  `metaInf` - Flag to indicate whether META-INF folder should be checked or class path root.
Returns:
  Resolved path as URL, or `null` if path cannot be resolved.
See Also:
  `getIgniteHome()`

#### byteArray2HexString

    public static String byteArray2HexString(byte[] arr)

Converts byte array to hex string.

Parameters:
  `arr` - Array of bytes.
Returns:
  Hex string.

#### containsObjectArray

    public static boolean containsObjectArray(@Nullable
                              Object[] arr,
                              Object val,
                              @Nullable
                              Object... vals)

Checks for containment of the value in the array. Both array cells and value may be `null`. Two `null`s are considered equal.

Parameters:
  `arr` - Array of objects.
  `val` - Value to check for containment inside of array.
  `vals` - Additional values.
Returns:
  `true` if contains object, `false` otherwise.

#### containsObjectArray

    public static boolean containsObjectArray(@Nullable
                              Object[] arr,
                              @Nullable
                              Collection<Object> c)

Checks for containment of the value in the array. Both array cells and value may be `null`. Two `null`s are considered equal.

Parameters:
  `arr` - Array of objects.
  `c` - Collection to check.
Returns:
  `true` if contains object, `false` otherwise.

#### containsIntArray

    public static boolean containsIntArray(int[] arr,
                           int val)

Checks for containment of the value in the array.

Parameters:
  `arr` - Array of objects.
  `val` - Value to check for containment inside of array.
Returns:
  `true` if contains object, `false` otherwise.

#### containsStringArray

    public static boolean containsStringArray(String[] arr,
                              @Nullable
                              String val,
                              boolean ignoreCase)

Checks for containment of given string value in the specified array. Array's cells and string value can be `null`. Tow `null`s are considered equal.

Parameters:
  `arr` - Array of strings.
  `val` - Value to check for containment inside of array.
  `ignoreCase` - Ignoring case if `true`.
Returns:
  `true` if contains string, `false` otherwise.

#### containsStringCollection

    public static boolean containsStringCollection(Iterable<String> c,
                                   @Nullable
                                   String val,
                                   boolean ignoreCase)

Checks for containment of given string value in the specified collection. Collection elements and string value can be `null`. Tow `null`s are considered equal.

Parameters:
  `c` - Array of strings.
  `val` - Value to check for containment inside of array.
  `ignoreCase` - Ignoring case if `true`.
Returns:
  `true` if contains string, `false` otherwise.

#### close

    public static void close(@Nullable
             AutoCloseable rsrc,
             @Nullable
             IgniteLogger log)

Closes given resource logging possible checked exception.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.
  `log` - Logger to log possible checked exception with (optional).

#### closeQuiet

    public static void closeQuiet(@Nullable
                  AutoCloseable rsrc)

Quietly closes given resource ignoring possible checked exception.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.

#### close

    public static void close(@Nullable
             SelectionKey rsrc,
             @Nullable
             IgniteLogger log)

Closes given resource logging possible checked exceptions.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.
  `log` - Logger to log possible checked exception with (optional).

#### closeQuiet

    public static void closeQuiet(@Nullable
                  SelectionKey rsrc)

Quietly closes given resource ignoring possible checked exceptions.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.

#### close

    public static void close(@Nullable
             DatagramSocket rsrc)

Closes given resource.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.

#### close

    public static void close(@Nullable
             Selector rsrc,
             @Nullable
             IgniteLogger log)

Closes given resource logging possible checked exception.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.
  `log` - Logger to log possible checked exception with (optional).

#### closeQuiet

    public static void closeQuiet(@Nullable
                  Selector rsrc)

Quietly closes given resource ignoring possible checked exception.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.

#### close

    public static void close(@Nullable
             Context rsrc,
             @Nullable
             IgniteLogger log)

Closes given resource logging possible checked exception.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.
  `log` - Logger to log possible checked exception with (optional).

#### closeQuiet

    public static void closeQuiet(@Nullable
                  Context rsrc)

Quietly closes given resource ignoring possible checked exception.

Parameters:
  `rsrc` - Resource to close. If it's `null` - it's no-op.

#### close

    public static void close(@Nullable
             URLClassLoader clsLdr,
             @Nullable
             IgniteLogger log)

Closes class loader logging possible checked exception. Note: this issue for problem http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5041014.

Parameters:
  `clsLdr` - Class loader. If it's `null` - it's no-op.
  `log` - Logger to log possible checked exception with (optional).

#### releaseQuiet

    public static void releaseQuiet(@Nullable
                    FileLock lock)

Quietly releases file lock ignoring all possible exceptions.

Parameters:
  `lock` - File lock. If it's `null` - it's no-op.

#### rollbackConnection

    public static void rollbackConnection(@Nullable
                          Connection rsrc,
                          @Nullable
                          IgniteLogger log)

Rollbacks JDBC connection logging possible checked exception.

Parameters:
  `rsrc` - JDBC connection to rollback. If connection is `null`, it's no-op.
  `log` - Logger to log possible checked exception with (optional).

#### courtesy

    public static void courtesy(@Nullable
                IgniteLogger log,
                Object msg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message in `org.apache.ignite.CourtesyConfigNotice` category. If `log` is `null` or in QUIET mode it will add `(courtesy)` prefix to the message.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `msg` - Message to log.

#### courtesy

    public static void courtesy(@Nullable
                IgniteLogger log,
                Object longMsg,
                Object shortMsg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message in `org.apache.ignite.CourtesyConfigNotice` category. If `log` is `null` or in QUIET mode it will add `(courtesy)` prefix to the message.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `longMsg` - Message to log using normal logger.
  `shortMsg` - Message to log using quiet logger.

#### warn

    public static void warn(@Nullable
            IgniteLogger log,
            Object msg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message. If `log` is `null` or in QUIET mode it will add `(wrn)` prefix to the message.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `msg` - Message to log.

#### quietAndWarn

    public static void quietAndWarn(IgniteLogger log,
                    Object msg)

Logs warning message in both verbose and quite modes.

Parameters:
  `log` - Logger to use.
  `msg` - Message to log.

#### quietAndWarn

    public static void quietAndWarn(IgniteLogger log,
                    Object msg,
                    Object shortMsg)

Logs warning message in both verbose and quite modes.

Parameters:
  `log` - Logger to use.
  `shortMsg` - Short message.
  `msg` - Message to log.

#### error

    public static void error(@Nullable
             IgniteLogger log,
             Object msg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log ERROR message. If `log` is `null` or in QUIET mode it will add `(err)` prefix to the message.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `msg` - Message to log.

#### warn

    public static void warn(@Nullable
            IgniteLogger log,
            Object longMsg,
            Object shortMsg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log WARN message. If `log` is `null` or in QUIET mode it will add `(wrn)` prefix to the message.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `longMsg` - Message to log using normal logger.
  `shortMsg` - Message to log using quiet logger.

#### log

    public static void log(@Nullable
           IgniteLogger log,
           Object longMsg,
           Object shortMsg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log INFO message.

NOTE: unlike the normal logging when INFO level may not be enabled and therefore no logging will happen - using this method the log will be written always either via INFO log or quiet mode.

USE IT APPROPRIATELY.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `longMsg` - Message to log using normal logger.
  `shortMsg` - Message to log using quiet logger.

#### log

    public static void log(@Nullable
           IgniteLogger log,
           Object msg)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log INF0 message.

NOTE: unlike the normal logging when INFO level may not be enabled and therefore no logging will happen - using this method the log will be written always either via INFO log or quiet mode.

USE IT APPROPRIATELY.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `msg` - Message to log.

#### error

    public static void error(@Nullable
             IgniteLogger log,
             Object longMsg,
             Object shortMsg,
             @Nullable
             Throwable e)

Depending on whether or not log is provided and quiet mode is enabled logs given messages as quiet message or normal log ERROR message. If `log` is `null` or in QUIET mode it will add `(err)` prefix to the message.

Parameters:
  `log` - Optional logger to use when QUIET mode is not enabled.
  `longMsg` - Message to log using normal logger.
  `shortMsg` - Message to log using quiet logger.
  `e` - Optional exception.

#### error

    public static void error(@Nullable
             IgniteLogger log,
             Object shortMsg,
             @Nullable
             Throwable e)

Shortcut for `error(org.apache.ignite.IgniteLogger, Object, Object, Throwable)`.

Parameters:
  `log` - Optional logger.
  `shortMsg` - Message to log using quiet logger.
  `e` - Optional exception.

#### quiet

    public static void quiet(boolean err,
             Object... objs)

Parameters:
  `err` - Whether to print to `System.err`.
  `objs` - Objects to log in quiet mode.

#### quietAndInfo

    public static void quietAndInfo(IgniteLogger log,
                    String msg)

Prints out the message in quite and info modes.

Parameters:
  `log` - Logger.
  `msg` - Message to print.

#### rollbackConnectionQuiet

    public static void rollbackConnectionQuiet(@Nullable
                               Connection rsrc)

Quietly rollbacks JDBC connection ignoring possible checked exception.

Parameters:
  `rsrc` - JDBC connection to rollback. If connection is `null`, it's no-op.

#### makeMBeanName

    public static ObjectName makeMBeanName(@Nullable
                           String gridName,
                           @Nullable
                           String grp,
                           String name)
                                    throws MalformedObjectNameException

Constructs JMX object name with given properties. Map with ordered `groups` used for proper object name construction.

Parameters:
  `gridName` - Grid name.
  `grp` - Name of the group.
  `name` - Name of mbean.
Returns:
  JMX object name.
Throws:
  `MalformedObjectNameException` - Thrown in case of any errors.

#### maskName

    public static String maskName(@Nullable
                  String name)

Mask component name to make sure that it is not `null`.

Parameters:
  `name` - Component name to mask, possibly `null`.
Returns:
  Component name.

#### makeCacheMBeanName

    public static ObjectName makeCacheMBeanName(@Nullable
                                String gridName,
                                @Nullable
                                String cacheName,
                                String name)
                                         throws MalformedObjectNameException

Constructs JMX object name with given properties. Map with ordered `groups` used for proper object name construction.

Parameters:
  `gridName` - Grid name.
  `cacheName` - Name of the cache.
  `name` - Name of mbean.
Returns:
  JMX object name.
Throws:
  `MalformedObjectNameException` - Thrown in case of any errors.

#### registerMBean

    public static <T> ObjectName registerMBean(MBeanServer mbeanSrv,
                               @Nullable
                               String gridName,
                               @Nullable
                               String grp,
                               String name,
                               T impl,
                               @Nullable
                               Class<T> itf)
                                    throws JMException

Registers MBean with the server.

Type Parameters:
  `T` - Type of mbean.
Parameters:
  `mbeanSrv` - MBean server.
  `gridName` - Grid name.
  `grp` - Name of the group.
  `name` - Name of mbean.
  `impl` - MBean implementation.
  `itf` - MBean interface.
Returns:
  JMX object name.
Throws:
  `JMException` - If MBean creation failed.

#### registerMBean

    public static <T> ObjectName registerMBean(MBeanServer mbeanSrv,
                               ObjectName name,
                               T impl,
                               Class<T> itf)
                                    throws JMException

Registers MBean with the server.

Type Parameters:
  `T` - Type of mbean.
Parameters:
  `mbeanSrv` - MBean server.
  `name` - MBean object name.
  `impl` - MBean implementation.
  `itf` - MBean interface.
Returns:
  JMX object name.
Throws:
  `JMException` - If MBean creation failed.

#### registerCacheMBean

    public static <T> ObjectName registerCacheMBean(MBeanServer mbeanSrv,
                                    @Nullable
                                    String gridName,
                                    @Nullable
                                    String cacheName,
                                    String name,
                                    T impl,
                                    Class<T> itf)
                                         throws JMException

Registers MBean with the server.

Type Parameters:
  `T` - Type of mbean.
Parameters:
  `mbeanSrv` - MBean server.
  `gridName` - Grid name.
  `cacheName` - Name of the cache.
  `name` - Name of mbean.
  `impl` - MBean implementation.
  `itf` - MBean interface.
Returns:
  JMX object name.
Throws:
  `JMException` - If MBean creation failed.

#### interrupt

    public static void interrupt(@Nullable
                 Thread t)

Convenience method that interrupts a given thread if it's not `null`.

Parameters:
  `t` - Thread to interrupt.

#### interrupt

    public static void interrupt(Iterable<? extends Thread> workers)

Convenience method that interrupts a given thread if it's not `null`.

Parameters:
  `workers` - Threads to interrupt.

#### join

    public static boolean join(@Nullable
               Thread t,
               @Nullable
               IgniteLogger log)

Waits for completion of a given thread. If thread is `null` then this method returns immediately returning `true`

Parameters:
  `t` - Thread to join.
  `log` - Logger for logging errors.
Returns:
  `true` if thread has finished, `false` otherwise.

#### joinThreads

    public static boolean joinThreads(Iterable<? extends Thread> workers,
                      @Nullable
                      IgniteLogger log)

Waits for completion of a given threads. If thread is `null` then this method returns immediately returning `true`

Parameters:
  `workers` - Thread to join.
  `log` - Logger for logging errors.
Returns:
  `true` if thread has finished, `false` otherwise.

#### startThreads

    public static void startThreads(Iterable<? extends Thread> threads)

Starts given threads.

Parameters:
  `threads` - Threads to start.

#### cancel

    public static void cancel(@Nullable
              GridWorker w)

Cancels given runnable.

Parameters:
  `w` - Worker to cancel - it's no-op if runnable is `null`.

#### cancel

    public static void cancel(Iterable<? extends GridWorker> ws)

Cancels collection of runnables.

Parameters:
  `ws` - Collection of workers - it's no-op if collection is `null`.

#### join

    public static boolean join(@Nullable
               GridWorker w,
               @Nullable
               IgniteLogger log)

Joins runnable.

Parameters:
  `w` - Worker to join.
  `log` - The logger to possible exception.
Returns:
  `true` if worker has not been interrupted, `false` if it was interrupted.

#### join

    public static boolean join(Iterable<? extends GridWorker> ws,
               IgniteLogger log)

Joins given collection of runnables.

Parameters:
  `ws` - Collection of workers to join.
  `log` - The logger to possible exceptions.
Returns:
  `true` if none of the worker have been interrupted, `false` if at least one was interrupted.

#### shutdownNow

    public static void shutdownNow(Class<?> owner,
                   @Nullable
                   ExecutorService exec,
                   @Nullable
                   IgniteLogger log)

Shutdowns given `ExecutorService` and wait for executor service to stop.

Parameters:
  `owner` - The ExecutorService owner.
  `exec` - ExecutorService to shutdown.
  `log` - The logger to possible exceptions and warnings.

#### emptyTopologyException

    public static ClusterGroupEmptyCheckedException emptyTopologyException()

Creates appropriate empty projection exception.

Returns:
  Empty projection exception.

#### writeUuids

    public static void writeUuids(DataOutput out,
                  @Nullable
                  Collection<UUID> col)
                           throws IOException

Writes UUIDs to output stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `out` - Output stream.
  `col` - UUIDs to write.
Throws:
  `IOException` - If write failed.

#### readUuids

    @Nullable
    public static List<UUID> readUuids(DataInput in)
                                throws IOException

Reads UUIDs from input stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `in` - Input stream.
Returns:
  Read UUIDs.
Throws:
  `IOException` - If read failed.

#### writeGridUuids

    public static void writeGridUuids(DataOutput out,
                      @Nullable
                      Collection<IgniteUuid> col)
                               throws IOException

Writes Grid UUIDs to output stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `out` - Output stream.
  `col` - Grid UUIDs to write.
Throws:
  `IOException` - If write failed.

#### readGridUuids

    @Nullable
    public static List<IgniteUuid> readGridUuids(DataInput in)
                                          throws IOException

Reads Grid UUIDs from input stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `in` - Input stream.
Returns:
  Read Grid UUIDs.
Throws:
  `IOException` - If read failed.

#### writeUuid

    public static void writeUuid(DataOutput out,
                 UUID uid)
                          throws IOException

Writes UUID to output stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `out` - Output stream.
  `uid` - UUID to write.
Throws:
  `IOException` - If write failed.

#### readUuid

    @Nullable
    public static UUID readUuid(DataInput in)
                         throws IOException

Reads UUID from input stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `in` - Input stream.
Returns:
  Read UUID.
Throws:
  `IOException` - If read failed.

#### writeGridUuid

    public static void writeGridUuid(DataOutput out,
                     IgniteUuid uid)
                              throws IOException

Writes `IgniteUuid` to output stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `out` - Output stream.
  `uid` - UUID to write.
Throws:
  `IOException` - If write failed.

#### readGridUuid

    @Nullable
    public static IgniteUuid readGridUuid(DataInput in)
                                   throws IOException

Reads `IgniteUuid` from input stream. This method is meant to be used by implementations of `Externalizable` interface.

Parameters:
  `in` - Input stream.
Returns:
  Read UUID.
Throws:
  `IOException` - If read failed.

#### igniteUuidToBytes

    public static byte[] igniteUuidToBytes(IgniteUuid uuid)

Converts GridUuid to bytes.

Parameters:
  `uuid` - GridUuid to convert.
Returns:
  Bytes.

#### igniteUuidToBytes

    public static void igniteUuidToBytes(IgniteUuid uuid,
                         byte[] out,
                         int off)

Converts GridUuid to bytes.

Parameters:
  `uuid` - GridUuid to convert.
  `out` - Output array to write to.
  `off` - Offset from which to write.

#### bytesToIgniteUuid

    public static IgniteUuid bytesToIgniteUuid(byte[] in,
                               int off)

Converts bytes to GridUuid.

Parameters:
  `in` - Input byte array.
  `off` - Offset from which start reading.
Returns:
  GridUuid instance.

#### writeBooleanArray

    public static void writeBooleanArray(DataOutput out,
                         @Nullable
                         boolean[] arr)
                                  throws IOException

Writes boolean array to output stream accounting for `null` values.

Parameters:
  `out` - Output stream to write to.
  `arr` - Array to write, possibly `null`.
Throws:
  `IOException` - If write failed.

#### writeIntArray

    public static void writeIntArray(DataOutput out,
                     @Nullable
                     int[] arr)
                              throws IOException

Writes int array to output stream accounting for `null` values.

Parameters:
  `out` - Output stream to write to.
  `arr` - Array to write, possibly `null`.
Throws:
  `IOException` - If write failed.

#### readBooleanArray

    @Nullable
    public static boolean[] readBooleanArray(DataInput in)
                                      throws IOException

Reads boolean array from input stream accounting for `null` values.

Parameters:
  `in` - Stream to read from.
Returns:
  Read byte array, possibly `null`.
Throws:
  `IOException` - If read failed.

#### readIntArray

    @Nullable
    public static int[] readIntArray(DataInput in)
                              throws IOException

Reads int array from input stream accounting for `null` values.

Parameters:
  `in` - Stream to read from.
Returns:
  Read byte array, possibly `null`.
Throws:
  `IOException` - If read failed.

#### hashCode

    public static int hashCode(ByteBuffer... bufs)

Calculates hash code for the given byte buffers contents. Compatible with `Arrays.hashCode(byte[])` with the same content. Does not change buffers positions.

Parameters:
  `bufs` - Byte buffers.
Returns:
  Hash code.

#### writeMap

    public static void writeMap(ObjectOutput out,
                Map<?,?> map)
                         throws IOException

Parameters:
  `out` - Output.
  `map` - Map to write.
Throws:
  `IOException` - If write failed.

#### readMap

    @Nullable
    public static <K,V> Map<K,V> readMap(ObjectInput in)
                            throws IOException,
                                   ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Read map.
Throws:
  `IOException` - If de-serialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### readTreeMap

    @Nullable
    public static <K,V> TreeMap<K,V> readTreeMap(ObjectInput in)
                                    throws IOException,
                                           ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Read map.
Throws:
  `IOException` - If de-serialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### writeStringMap

    public static void writeStringMap(DataOutput out,
                      @Nullable
                      Map<String,String> map)
                               throws IOException

Writes string-to-string map to given data output.

Parameters:
  `out` - Data output.
  `map` - Map.
Throws:
  `IOException` - If write failed.

#### readStringMap

    public static Map<String,String> readStringMap(DataInput in)
                                            throws IOException

Reads string-to-string map written by `writeStringMap(DataOutput, Map)`.

Parameters:
  `in` - Data input.
Returns:
  Read result.
Throws:
  `IOException` - If write failed.

#### writeUTFStringNullable

    public static void writeUTFStringNullable(DataOutput out,
                              @Nullable
                              String val)
                                       throws IOException

Write UTF string which can be `null`.

Parameters:
  `out` - Output stream.
  `val` - Value.
Throws:
  `IOException` - If failed.

#### readUTFStringNullable

    public static String readUTFStringNullable(DataInput in)
                                        throws IOException

Read UTF string which can be `null`.

Parameters:
  `in` - Input stream.
Returns:
  Value.
Throws:
  `IOException` - If failed.

#### readHashMap

    @Nullable
    public static <K,V> HashMap<K,V> readHashMap(ObjectInput in)
                                    throws IOException,
                                           ClassNotFoundException

Read hash map.

Parameters:
  `in` - Input.
Returns:
  Read map.
Throws:
  `IOException` - If de-serialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### readLinkedMap

    @Nullable
    public static <K,V> LinkedHashMap<K,V> readLinkedMap(ObjectInput in)
                                            throws IOException,
                                                   ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Read map.
Throws:
  `IOException` - If de-serialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### writeIntKeyMap

    public static void writeIntKeyMap(ObjectOutput out,
                      Map<Integer,?> map)
                               throws IOException

Parameters:
  `out` - Output.
  `map` - Map to write.
Throws:
  `IOException` - If write failed.

#### readIntKeyMap

    @Nullable
    public static <V> Map<Integer,V> readIntKeyMap(ObjectInput in)
                                        throws IOException,
                                               ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Read map.
Throws:
  `IOException` - If de-serialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### writeIntKeyIntValueMap

    public static void writeIntKeyIntValueMap(DataOutput out,
                              Map<Integer,Integer> map)
                                       throws IOException

Parameters:
  `out` - Output.
  `map` - Map to write.
Throws:
  `IOException` - If write failed.

#### readIntKeyIntValueMap

    @Nullable
    public static Map<Integer,Integer> readIntKeyIntValueMap(DataInput in)
                                                      throws IOException

Parameters:
  `in` - Input.
Returns:
  Read map.
Throws:
  `IOException` - If de-serialization failed.

#### readList

    @Nullable
    public static <E> List<E> readList(ObjectInput in)
                            throws IOException,
                                   ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Deserialized list.
Throws:
  `IOException` - If deserialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### readIntList

    @Nullable
    public static List<Integer> readIntList(DataInput in)
                                     throws IOException

Parameters:
  `in` - Input.
Returns:
  Deserialized list.
Throws:
  `IOException` - If deserialization failed.

#### readSet

    @Nullable
    public static <E> Set<E> readSet(ObjectInput in)
                          throws IOException,
                                 ClassNotFoundException

Parameters:
  `in` - Input.
Returns:
  Deserialized set.
Throws:
  `IOException` - If deserialization failed.
  `ClassNotFoundException` - If deserialized class could not be found.

#### readIntSet

    @Nullable
    public static Set<Integer> readIntSet(DataInput in)
                                   throws IOException

Parameters:
  `in` - Input.
Returns:
  Deserialized set.
Throws:
  `IOException` - If deserialization failed.

#### writeString

    public static void writeString(DataOutput out,
                   String s)
                            throws IOException

Writes string to output stream accounting for `null` values.

Parameters:
  `out` - Output stream to write to.
  `s` - String to write, possibly `null`.
Throws:
  `IOException` - If write failed.

#### readString

    @Nullable
    public static String readString(DataInput in)
                             throws IOException

Reads string from input stream accounting for `null` values.

Parameters:
  `in` - Stream to read from.
Returns:
  Read string, possibly `null`.
Throws:
  `IOException` - If read failed.

#### writeEnum

    public static <E extends Enum> void writeEnum(DataOutput out,
                                  E e)
                          throws IOException

Writes enum to output stream accounting for `null` values. Note: method writes only one byte for every enum. Therefore, this method only for Enums with maximum count of values equals to 128.

Parameters:
  `out` - Output stream to write to.
  `e` - Enum value to write, possibly `null`.
Throws:
  `IOException` - If write failed.

#### getByIndex

    public static <T> T getByIndex(Collection<T> vals,
                   int idx)

Gets collection value by index.

Type Parameters:
  `T` - Type of collection values.
Parameters:
  `vals` - Collection of values.
  `idx` - Index of value in the collection.
Returns:
  Value at the given index.

#### getAnnotation

    @Nullable
    public static <T extends Annotation> T getAnnotation(Class<?> cls,
                                                  Class<T> annCls)

Gets annotation for a class.

Type Parameters:
  `T` - Type of annotation to return.
Parameters:
  `cls` - Class to get annotation from.
  `annCls` - Annotation to get.
Returns:
  Instance of annotation, or `null` if not found.

#### hasAnnotation

    public static <T extends Annotation> boolean hasAnnotation(Class<?> cls,
                                               Class<T> annCls)

Indicates if class has given annotation.

Type Parameters:
  `T` - Annotation type.
Parameters:
  `cls` - Class to get annotation from.
  `annCls` - Annotation to get.
Returns:
  `true` if class has annotation or `false` otherwise.

#### hasAnnotation

    public static <T extends Annotation> boolean hasAnnotation(Object o,
                                               Class<T> annCls)

Indicates if class has given annotation.

Parameters:
  `o` - Object to get annotation from.
  `annCls` - Annotation to get.
Returns:
  `true` if class has annotation or `false` otherwise.

#### getSimpleName

    public static String getSimpleName(Class<?> cls)

Gets simple class name taking care of empty names.

Parameters:
  `cls` - Class to get the name for.
Returns:
  Simple class name.

#### containsAll

    public static boolean containsAll(Map<?,?> base,
                      Map<?,?> map)

Checks if the map passed in is contained in base map.

Parameters:
  `base` - Base map.
  `map` - Map to check.
Returns:
  `True` if all entries within map are contained in base map, `false` otherwise.

#### getTaskName

    public static String getTaskName(Class<? extends ComputeTask<?,?>> taskCls)

Gets task name for the given task class.

Parameters:
  `taskCls` - Task class.
Returns:
  Either task name from class annotation (see `ComputeTaskName`}) or task class name if there is no annotation.

#### spiAttribute

    public static String spiAttribute(IgniteSpi spi,
                      String attrName)

Creates SPI attribute name by adding prefix to the attribute name. Prefix is an SPI name + '.'.

Parameters:
  `spi` - SPI.
  `attrName` - attribute name.
Returns:
  SPI attribute name.

#### classNameToResourceName

    public static String classNameToResourceName(String clsName)

Gets resource path for the class.

Parameters:
  `clsName` - Class name.
Returns:
  Resource name for the class.

#### getRuntimeMx

    public static RuntimeMXBean getRuntimeMx()

Gets runtime MBean.

Returns:
  Runtime MBean.

#### getThreadMx

    public static ThreadMXBean getThreadMx()

Gets threading MBean.

Returns:
  Threading MBean.

#### getOsMx

    public static OperatingSystemMXBean getOsMx()

Gets OS MBean.

Returns:
  OS MBean.

#### getMemoryMx

    public static MemoryMXBean getMemoryMx()

Gets memory MBean.

Returns:
  Memory MBean.

#### getCompilerMx

    public static CompilationMXBean getCompilerMx()

Gets compilation MBean.

Returns:
  Compilation MBean.

#### detectClass

    public static Class<?> detectClass(Object obj)

Tries to detect user class from passed in object inspecting collections, arrays or maps.

Parameters:
  `obj` - Object.
Returns:
  First non-JDK or deployment aware class or passed in object class.

#### detectClassLoader

    public static ClassLoader detectClassLoader(Class<?> cls)

Detects class loader for given class.

This method will first check if `Thread.getContextClassLoader()` is appropriate. If yes, then context class loader will be returned, otherwise the `Class.getClassLoader()` will be returned.

Parameters:
  `cls` - Class to find class loader for.
Returns:
  Class loader for given class (never `null`).

#### detectObjectClassLoader

    @Nullable
    public static ClassLoader detectObjectClassLoader(@Nullable
                                               Object obj)

Detects class loader for given object's class.

Parameters:
  `obj` - Object to find class loader for class of.
Returns:
  Class loader for given object (possibly `null`).

#### isLoadableBy

    public static boolean isLoadableBy(String clsName,
                       @Nullable
                       ClassLoader ldr)

Tests whether or not given class is loadable provided class loader.

Parameters:
  `clsName` - Class name to test.
  `ldr` - Class loader to test with. If `null` - we'll use system class loader instead. If System class loader is not set - this method will return `false`.
Returns:
  `True` if class is loadable, `false` otherwise.

#### peerDeployAware0

    public static GridPeerDeployAware peerDeployAware0(@Nullable
                                       Iterable<?> c)

Gets the peer deploy aware instance for the object with the widest class loader. If collection is `null`, empty or contains only `null`s - the peer deploy aware object based on system class loader will be returned.

Parameters:
  `c` - Collection.
Returns:
  Peer deploy aware object from this collection with the widest class loader.
Throws:
  `IllegalArgumentException` - Thrown in case when common class loader for all elements in this collection cannot be found. In such case - peer deployment is not possible.

#### peerDeployAware0

    public static GridPeerDeployAware peerDeployAware0(@Nullable
                                       Object... c)

Gets the peer deploy aware instance for the object with the widest class loader. If array is `null`, empty or contains only `null`s - the peer deploy aware object based on system class loader will be returned.

Parameters:
  `c` - Objects.
Returns:
  Peer deploy aware object from this array with the widest class loader.
Throws:
  `IllegalArgumentException` - Thrown in case when common class loader for all elements in this array cannot be found. In such case - peer deployment is not possible.

#### peerDeployAware0

    public static GridPeerDeployAware peerDeployAware0(Object obj)

Creates an instance of `GridPeerDeployAware` for object. Checks, if the object is an instance of collection or object array.

Parameters:
  `obj` - Object to deploy.
Returns:
  `GridPeerDeployAware` instance for given object.

#### peerDeployAware

    public static GridPeerDeployAware peerDeployAware(Object obj)

Creates an instance of `GridPeerDeployAware` for object.

Parameters:
  `obj` - Object to deploy.
Returns:
  `GridPeerDeployAware` instance for given object.

#### detectPeerDeployAware

    public static GridPeerDeployAware detectPeerDeployAware(GridPeerDeployAware obj)

Unwraps top level user class for wrapped objects.

Parameters:
  `obj` - Object to check.
Returns:
  Top level user class.

#### isIgnite

    public static boolean isIgnite(Class<?> cls)

Checks if given class is of `Ignite` type.

Parameters:
  `cls` - Class to check.
Returns:
  `True` if given class is of `Ignite` type.

#### isGrid

    public static boolean isGrid(Class<?> cls)

Checks if given class is of `Grid` type.

Parameters:
  `cls` - Class to check.
Returns:
  `True` if given class is of `Grid` type.

#### compact

    public static String compact(String s)

Replaces all occurrences of `org.apache.ignite.` with `o.a.i.`, `org.apache.ignite.internal.` with `o.a.i.i.`, `org.apache.ignite.internal.visor.` with `o.a.i.i.v.` and `org.apache.ignite.scalar.` with `o.a.i.s.`.

Parameters:
  `s` - String to replace in.
Returns:
  Replaces string.

#### isJdk

    public static boolean isJdk(Class<?> cls)

Check if given class is of JDK type.

Parameters:
  `cls` - Class to check.
Returns:
  `True` if object is JDK type.

#### wait

    public static void wait(Object mux)
                     throws IgniteInterruptedCheckedException

Converts `InterruptedException` to `IgniteCheckedException`.

Parameters:
  `mux` - Mux to wait on.
Throws:
  `IgniteInterruptedCheckedException` - If interrupted.

#### unzip

    public static void unzip(File zipFile,
             File toDir,
             @Nullable
             IgniteLogger log)
                      throws IOException

Unzip file to folder.

Parameters:
  `zipFile` - ZIP file.
  `toDir` - Directory to unzip file content.
  `log` - Grid logger.
Throws:
  `IOException` - In case of error.

#### osJdkString

    public static String osJdkString()

Gets OS JDK string.

Returns:
  OS JDK string.

#### osString

    public static String osString()

Gets OS string.

Returns:
  OS string.

#### jdkString

    public static String jdkString()

Gets JDK string.

Returns:
  JDK string.

#### isLinux

    public static boolean isLinux()

Indicates whether current OS is Linux flavor.

Returns:
  `true` if current OS is Linux - `false` otherwise.

#### jdkName

    public static String jdkName()

Gets JDK name.

Returns:
  JDK name.

#### jdkVendor

    public static String jdkVendor()

Gets JDK vendor.

Returns:
  JDK vendor.

#### jdkVersion

    public static String jdkVersion()

Gets JDK version.

Returns:
  JDK version.

#### osArchitecture

    public static String osArchitecture()

Gets OS CPU-architecture.

Returns:
  OS CPU-architecture.

#### osName

    public static String osName()

Gets underlying OS name.

Returns:
  Underlying OS name.

#### osVersion

    public static String osVersion()

Gets underlying OS version.

Returns:
  Underlying OS version.

#### isMacOs

    public static boolean isMacOs()

Indicates whether current OS is Mac OS.

Returns:
  `true` if current OS is Mac OS - `false` otherwise.

#### isNetWare

    public static boolean isNetWare()

Indicates whether current OS is Netware.

Returns:
  `true` if current OS is Netware - `false` otherwise.

#### isSolaris

    public static boolean isSolaris()

Indicates whether current OS is Solaris.

Returns:
  `true` if current OS is Solaris (SPARC or x86) - `false` otherwise.

#### isSolarisSparc

    public static boolean isSolarisSparc()

Indicates whether current OS is Solaris on Spark box.

Returns:
  `true` if current OS is Solaris SPARC - `false` otherwise.

#### isSolarisX86

    public static boolean isSolarisX86()

Indicates whether current OS is Solaris on x86 box.

Returns:
  `true` if current OS is Solaris x86 - `false` otherwise.

#### isUnix

    public static boolean isUnix()

Indicates whether current OS is UNIX flavor.

Returns:
  `true` if current OS is UNIX - `false` otherwise.

#### isWindows

    public static boolean isWindows()

Indicates whether current OS is Windows.

Returns:
  `true` if current OS is Windows (any versions) - `false` otherwise.

#### isWindowsVista

    public static boolean isWindowsVista()

Indicates whether current OS is Windows Vista.

Returns:
  `true` if current OS is Windows Vista - `false` otherwise.

#### isWindows7

    public static boolean isWindows7()

Indicates whether current OS is Windows 7.

Returns:
  `true` if current OS is Windows 7 - `false` otherwise.

#### isWindows8

    public static boolean isWindows8()

Indicates whether current OS is Windows 8.

Returns:
  `true` if current OS is Windows 8 - `false` otherwise.

#### isWindows81

    public static boolean isWindows81()

Indicates whether current OS is Windows 8.1.

Returns:
  `true` if current OS is Windows 8.1 - `false` otherwise.

#### isWindows2k

    public static boolean isWindows2k()

Indicates whether current OS is Windows 2000.

Returns:
  `true` if current OS is Windows 2000 - `false` otherwise.

#### isWindows2003

    public static boolean isWindows2003()

Indicates whether current OS is Windows Server 2003.

Returns:
  `true` if current OS is Windows Server 2003 - `false` otherwise.

#### isWindows2008

    public static boolean isWindows2008()

Indicates whether current OS is Windows Server 2008.

Returns:
  `true` if current OS is Windows Server 2008 - `false` otherwise.

#### isWindows95

    public static boolean isWindows95()

Indicates whether current OS is Windows 95.

Returns:
  `true` if current OS is Windows 95 - `false` otherwise.

#### isWindows98

    public static boolean isWindows98()

Indicates whether current OS is Windows 98.

Returns:
  `true` if current OS is Windows 98 - `false` otherwise.

#### isWindowsNt

    public static boolean isWindowsNt()

Indicates whether current OS is Windows NT.

Returns:
  `true` if current OS is Windows NT - `false` otherwise.

#### isSufficientlyTestedOs

    public static boolean isSufficientlyTestedOs()

Indicates that Ignite has been sufficiently tested on the current OS.

Returns:
  `true` if current OS was sufficiently tested - `false` otherwise.

#### isWindowsXp

    public static boolean isWindowsXp()

Indicates whether current OS is Windows XP.

Returns:
  `true` if current OS is Windows XP- `false` otherwise.

#### jvmSpec

    public static String jvmSpec()

Gets JVM specification name.

Returns:
  JVM specification name.

#### jvmVersion

    public static String jvmVersion()

Gets JVM implementation version.

Returns:
  JVM implementation version.

#### jvmVendor

    public static String jvmVendor()

Gets JVM implementation vendor.

Returns:
  JVM implementation vendor.

#### jvmName

    public static String jvmName()

Gets JVM implementation name.

Returns:
  JVM implementation name.

#### compareVersionNumbers

    public static int compareVersionNumbers(@Nullable
                            String v1,
                            @Nullable
                            String v2)

Compare java implementation version

Parameters:
  `v1` - - java implementation version
  `v2` - - java implementation version
Returns:
  the value `0` if `v1 == v2`; a value less than `0` if `v1 < v2`; and a value greater than `0` if `v1 > v2`

#### productVersion

    public static IgniteProductVersion productVersion(ClusterNode node)

Gets node product version based on node attributes.

Parameters:
  `node` - Node to get version from.
Returns:
  Version object.

#### isJavaVersionAtLeast

    public static boolean isJavaVersionAtLeast(String v)

Compare running Java Runtime version with `v`

Parameters:
  `v` - - java implementation version
Returns:
  `true` if running on Java Runtime version greater than `v`

#### jreName

    public static String jreName()

Gets Java Runtime name.

Returns:
  Java Runtime name.

#### jreVersion

    public static String jreVersion()

Gets Java Runtime version.

Returns:
  Java Runtime version.

#### isHotSpot

    public static boolean isHotSpot()

Indicates whether HotSpot VM is used.

Returns:
  `true` if current JVM implementation is a Sun HotSpot VM, `false` otherwise.

#### wrapThreadLoader

    @Nullable
    public static <R> R wrapThreadLoader(ClassLoader ldr,
                                  Callable<R> c)
                              throws IgniteCheckedException

Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.

Type Parameters:
  `R` - Return type.
Parameters:
  `ldr` - Class loader to run the closure under.
  `c` - Callable to run.
Returns:
  Return value.
Throws:
  `IgniteCheckedException` - If call failed.

#### wrapThreadLoader

    @Nullable
    public static <R> R wrapThreadLoader(ClassLoader ldr,
                                  IgniteOutClosure<R> c)

Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.

Type Parameters:
  `R` - Return type.
Parameters:
  `ldr` - Class loader to run the closure under.
  `c` - Closure to run.
Returns:
  Return value.

#### wrapThreadLoader

    public static void wrapThreadLoader(ClassLoader ldr,
                        Runnable c)

Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.

Parameters:
  `ldr` - Class loader to run the closure under.
  `c` - Closure to run.

#### toShortString

    public static String toShortString(ClusterNode n)

Short node representation.

Parameters:
  `n` - Grid node.
Returns:
  Short string representing the node.

#### toShortString

    public static String toShortString(Collection<? extends ClusterNode> ns)

Short node representation.

Parameters:
  `ns` - Grid nodes.
Returns:
  Short string representing the node.

#### toIntArray

    public static int[] toIntArray(@Nullable
                   Collection<Integer> c)

Converts collection of integers into array.

Parameters:
  `c` - Collection of integers.
Returns:
  Integer array.

#### addAll

    public static int[] addAll(int[] arr1,
               int[] arr2)

Parameters:
  `arr1` - Array 1.
  `arr2` - Array 2.

#### toIntList

    public static List<Integer> toIntList(@Nullable
                          int[] arr,
                          IgnitePredicate<Integer>... p)

Converts array of integers into list.

Parameters:
  `arr` - Array of integers.
  `p` - Optional predicate array.
Returns:
  List of integers.

#### toLongArray

    public static long[] toLongArray(@Nullable
                     Collection<Long> c)

Converts collection of integers into array.

Parameters:
  `c` - Collection of integers.
Returns:
  Integer array.

#### toLongList

    public static List<Long> toLongList(@Nullable
                        long[] arr)

Converts array of longs into list.

Parameters:
  `arr` - Array of longs.
Returns:
  List of longs.

#### toArray

    public static <T> T[] toArray(Collection<? extends T> c,
                  T[] arr)

Copies all elements from collection to array and asserts that array is big enough to hold the collection. This method should always be preferred to `Collection.toArray(Object[])` method.

Type Parameters:
  `T` - Element type.
Parameters:
  `c` - Collection to convert to array.
  `arr` - Array to populate.
Returns:
  Passed in array.

#### unique

    public static int[] unique(int[] a,
               int aLen,
               int[] b,
               int bLen)

Returns array which is the union of two arrays (array of elements contained in any of provided arrays).

Note: arrays must be increasing.

Parameters:
  `a` - First array.
  `aLen` - Length of prefix `a`.
  `b` - Second array.
  `bLen` - Length of prefix `b`.
Returns:
  Increasing array which is union of `a` and `b`.

#### difference

    public static int[] difference(int[] a,
                   int aLen,
                   int[] b,
                   int bLen)

Returns array which is the difference between two arrays (array of elements contained in first array but not contained in second).

Note: arrays must be increasing.

Parameters:
  `a` - First array.
  `aLen` - Length of prefix `a`.
  `b` - Second array.
  `bLen` - Length of prefix `b`.
Returns:
  Increasing array which is difference between `a` and `b`.

#### isIncreasingArray

    public static boolean isIncreasingArray(int[] arr,
                            int len)

Checks if array prefix increases.

Parameters:
  `arr` - Array.
  `len` - Prefix length.
Returns:
  `True` if `arr` from 0 to (`len` - 1) increases.

#### isNonDecreasingArray

    public static boolean isNonDecreasingArray(int[] arr,
                               int len)

Checks if array prefix do not decreases.

Parameters:
  `arr` - Array.
  `len` - Prefix length.
Returns:
  `True` if `arr` from 0 to (`len` - 1) do not decreases.

#### copyIfExceeded

    public static int[] copyIfExceeded(int[] arr,
                       int len)

Copies array only if array length greater than needed length.

Parameters:
  `arr` - Array.
  `len` - Prefix length.
Returns:
  Old array if length of `arr` is equals to `len`, otherwise copy of array.

#### parseIsoDate

    public static Calendar parseIsoDate(String str)
                                 throws IgniteCheckedException

Parameters:
  `str` - ISO date.
Returns:
  Calendar instance.
Throws:
  `IgniteCheckedException` - Thrown in case of any errors.

#### addAll

    public static <V,C extends Collection<? super V>> C addAll(C c,
                                               V... vals)

Adds values to collection and returns the same collection to allow chaining.

Type Parameters:
  `V` - Value type.
Parameters:
  `c` - Collection to add values to.
  `vals` - Values.
Returns:
  Passed in collection.

#### addAll

    public static <K,V,M extends Map<K,V>> M addAll(M m,
                                    Map.Entry<K,V>... entries)

Adds values to collection and returns the same collection to allow chaining.

Type Parameters:
  `K` - Key type.
  `V` - Value type.
  `M` - Map type.
Parameters:
  `m` - Map to add entries to.
  `entries` - Entries.
Returns:
  Passed in collection.

#### addAll

    public static <K,V,M extends Map<K,V>> M addAll(M m,
                                    IgniteBiTuple<K,V>... entries)

Adds values to collection and returns the same collection to allow chaining.

Type Parameters:
  `K` - Key type.
  `V` - Value type.
  `M` - Map type.
Parameters:
  `m` - Map to add entries to.
  `entries` - Entries.
Returns:
  Passed in collection.

#### jmException

    public static JMException jmException(Throwable e)

Utility method creating `JMException` with given cause.

Parameters:
  `e` - Cause exception.
Returns:
  Newly created `JMException`.

#### unwrap

    public static Exception unwrap(Throwable t)

Unwraps closure exceptions.

Parameters:
  `t` - Exception.
Returns:
  Unwrapped exception.

#### cast

    public static IgniteCheckedException cast(Throwable t)

Casts this throwable as `IgniteCheckedException`. Creates wrapping `IgniteCheckedException`, if needed.

Parameters:
  `t` - Throwable to cast.
Returns:
  Grid exception.

#### parse

    public static Date parse(String src,
             String ptrn)
                      throws ParseException

Parses passed string with specified date.

Parameters:
  `src` - String to parse.
  `ptrn` - Pattern.
Returns:
  Parsed date.
Throws:
  `ParseException` - If exception occurs while parsing.

#### p2pLoader

    public static boolean p2pLoader(Object o)

Checks if class loader is an internal P2P class loader.

Parameters:
  `o` - Object to check.
Returns:
  `True` if P2P class loader.

#### p2pLoader

    public static boolean p2pLoader(ClassLoader ldr)

Checks if class loader is an internal P2P class loader.

Parameters:
  `ldr` - Class loader to check.
Returns:
  `True` if P2P class loader.

#### format

    public static String format(Date date,
                String ptrn)

Formats passed date with specified pattern.

Parameters:
  `date` - Date to format.
  `ptrn` - Pattern.
Returns:
  Formatted date.

#### id2Node

    public static IgniteClosure<UUID,ClusterNode> id2Node(GridKernalContext ctx)

Parameters:
  `ctx` - Kernal context.
Returns:
  Closure that converts node ID to a node.

#### dumpStack

    @Deprecated
    public static void dumpStack(Thread t)

Deprecated. Calls to this method should never be committed to master.
Dumps stack for given thread.

Parameters:
  `t` - Thread to dump stack for.

#### dumpStack

    @Deprecated
    public static void dumpStack(Thread t,
                            PrintStream s)

Deprecated. Calls to this method should never be committed to master.
Dumps stack for given thread.

Parameters:
  `t` - Thread to dump stack for.
  `s` - `PrintStream` to use for output.

#### isPrimitiveArray

    public static boolean isPrimitiveArray(Object obj)

Checks if object is a primitive array.

Parameters:
  `obj` - Object to check.
Returns:
  `True` if Object is primitive array.

#### isPrimitiveOrWrapper

    public static boolean isPrimitiveOrWrapper(Class<?> cls)

Parameters:
  `cls` - Class.
Returns:
  `True` if given class represents a primitive or a primitive wrapper class.

#### await

    public static void await(Condition cond)
                      throws IgniteInterruptedCheckedException

Awaits for condition.

Parameters:
  `cond` - Condition to await for.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`

#### await

    public static boolean await(Condition cond,
                long time,
                TimeUnit unit)
                         throws IgniteInterruptedCheckedException

Awaits for condition.

Parameters:
  `cond` - Condition to await for.
  `time` - The maximum time to wait,
  `unit` - The unit of the `time` argument.
Returns:
  `false` if the waiting time detectably elapsed before return from the method, else `true`
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`

#### await

    public static void await(CountDownLatch latch)
                      throws IgniteInterruptedCheckedException

Awaits for the latch.

Parameters:
  `latch` - Latch to wait for.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`.

#### await

    public static boolean await(CountDownLatch latch,
                long timeout,
                TimeUnit unit)
                         throws IgniteInterruptedCheckedException

Awaits for the latch.

Parameters:
  `latch` - Latch to wait for.
  `timeout` - Maximum time to wait.
  `unit` - Time unit for timeout.
Returns:
  `True` if the count reached zero and `false` if the waiting time elapsed before the count reached zero.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`.

#### awaitQuiet

    public static void awaitQuiet(CountDownLatch latch)

Awaits for the latch until it is counted down, ignoring interruptions.

If calling thread was interrupted, interrupted status will be recovered prior to return.

Parameters:
  `latch` - Latch to wait for.

#### awaitQuiet

    public static void awaitQuiet(CyclicBarrier barrier)

Awaits for the barrier ignoring interruptions.

If calling thread was interrupted, interrupted status will be recovered prior to return. If the barrier is already broken, return immediately without throwing any exceptions.

Parameters:
  `barrier` - Barrier to wait for.

#### sleep

    public static void sleep(long ms)
                      throws IgniteInterruptedCheckedException

Sleeps for given number of milliseconds.

Parameters:
  `ms` - Time to sleep.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`.

#### join

    public static void join(GridWorker w)
                     throws IgniteInterruptedCheckedException

Joins worker.

Parameters:
  `w` - Worker.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`.

#### get

    public static <T> T get(Future<T> fut)
                 throws IgniteCheckedException

Gets result from the given future with right exception handling.

Parameters:
  `fut` - Future.
Returns:
  Future result.
Throws:
  `IgniteCheckedException` - If failed.

#### join

    public static void join(Thread t)
                     throws IgniteInterruptedCheckedException

Joins thread.

Parameters:
  `t` - Thread.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`.

#### acquire

    public static void acquire(Semaphore sem)
                        throws IgniteInterruptedCheckedException

Acquires a permit from provided semaphore.

Parameters:
  `sem` - Semaphore.
Throws:
  `IgniteInterruptedCheckedException` - Wrapped `InterruptedException`.

#### cacheAttributes

    public static GridCacheAttributes[] cacheAttributes(ClusterNode n)

Gets cache attributes for the node.

Parameters:
  `n` - Node to get cache attributes for.
Returns:
  Array of cache attributes for the node.

#### hasNearCache

    public static boolean hasNearCache(ClusterNode n,
                       String cacheName)

Checks if given node has near cache enabled for the specified partitioned cache.

Parameters:
  `n` - Node.
  `cacheName` - Cache name.
Returns:
  `true` if given node has near cache enabled for the specified partitioned cache.

#### asyncLogError

    public static void asyncLogError(IgniteInternalFuture<?> f,
                     IgniteLogger log)

Adds listener to asynchronously log errors.

Parameters:
  `f` - Future to listen to.
  `log` - Logger.

#### nodeIds

    public static Collection<UUID> nodeIds(@Nullable
                           Collection<? extends ClusterNode> nodes)

Converts collection of nodes to collection of node IDs.

Parameters:
  `nodes` - Nodes.
Returns:
  Node IDs.

#### gridIds

    public static Collection<UUID> gridIds(@Nullable
                           Collection<? extends Ignite> grids)

Converts collection of Grid instances to collection of node IDs.

Parameters:
  `grids` - Grids.
Returns:
  Node IDs.

#### grids2names

    public static Collection<String> grids2names(@Nullable
                                 Collection<? extends Ignite> grids)

Converts collection of Grid instances to collection of grid names.

Parameters:
  `grids` - Grids.
Returns:
  Grid names.

#### nodes2names

    public static Collection<String> nodes2names(@Nullable
                                 Collection<? extends ClusterNode> nodes)

Converts collection of grid nodes to collection of grid names.

Parameters:
  `nodes` - Nodes.
Returns:
  Grid names.

#### addLastCause

    public static boolean addLastCause(@Nullable
                       Throwable e,
                       @Nullable
                       Throwable cause,
                       IgniteLogger log)

Adds cause to the end of cause chain.

Parameters:
  `e` - Error to add cause to.
  `cause` - Cause to add.
  `log` - Logger to log failure when cause can not be added.
Returns:
  `True` if cause was added.

#### nl

    public static String nl()

Returns:
  `line.separator` system property.

#### logger

    public static IgniteLogger logger(GridKernalContext ctx,
                      AtomicReference<IgniteLogger> logRef,
                      Object obj)

Initializes logger into/from log reference passed in.

Parameters:
  `ctx` - Context.
  `logRef` - Log reference.
  `obj` - Object to get logger for.
Returns:
  Logger for the object.

#### logger

    public static IgniteLogger logger(GridKernalContext ctx,
                      AtomicReference<IgniteLogger> logRef,
                      Class<?> cls)

Initializes logger into/from log reference passed in.

Parameters:
  `ctx` - Context.
  `logRef` - Log reference.
  `cls` - Class to get logger for.
Returns:
  Logger for the object.

#### concurrentMapSegment

    public static int concurrentMapSegment(int hash,
                           int concurLvl)

Parameters:
  `hash` - Hash code of the object to put.
  `concurLvl` - Concurrency level.
Returns:
  Segment index.

#### printConcurrentHashMapInfo

    public static <K,V> void printConcurrentHashMapInfo(ConcurrentHashMap<K,V> map)

Parameters:
  `map` - Map.

#### field

    public static <T> T field(Object obj,
              String fieldName)

Gets field value.

Parameters:
  `obj` - Object.
  `fieldName` - Field name.
Returns:
  Field value.

#### fieldOffset

    public static long fieldOffset(Class<?> cls,
                   String fieldName)

Gets object field offset.

Parameters:
  `cls` - Object class.
  `fieldName` - Field name.
Returns:
  Field offset.

#### isFinal

    public static boolean isFinal(Class<?> cls)

Parameters:
  `cls` - Class to check.
Returns:
  `True` if class is final.

#### field

    public static <T> T field(Class<?> cls,
              String fieldName)
                   throws IgniteCheckedException

Gets field value.

Parameters:
  `cls` - Class.
  `fieldName` - Field name.
Returns:
  Field value.
Throws:
  `IgniteCheckedException` - If static field with given name cannot be retreived.

#### invoke

    public static <T> T invoke(@Nullable
               Class<?> cls,
               @Nullable
               Object obj,
               String mtdName,
               Object... params)
                    throws IgniteCheckedException

Invokes method.

Parameters:
  `cls` - Object.
  `obj` - Object.
  `mtdName` - Field name.
  `params` - Parameters.
Returns:
  Field value.
Throws:
  `IgniteCheckedException` - If static field with given name cannot be retreived.

#### invoke

    public static <T> T invoke(@Nullable
               Class<?> cls,
               @Nullable
               Object obj,
               String mtdName,
               Class[] paramTypes,
               Object... params)
                    throws IgniteCheckedException

Invokes method.

Parameters:
  `cls` - Object.
  `obj` - Object.
  `mtdName` - Field name.
  `paramTypes` - Parameter types.
  `params` - Parameters.
Returns:
  Field value.
Throws:
  `IgniteCheckedException` - If static field with given name cannot be retreived.

#### property

    public static <T> T property(Object obj,
                 String propName)

Gets property value.

Parameters:
  `obj` - Object.
  `propName` - Property name.
Returns:
  Field value.

#### staticField

    public static <T> T staticField(Class<?> cls,
                    String fieldName)
                         throws IgniteCheckedException

Gets static field value.

Parameters:
  `cls` - Class.
  `fieldName` - Field name.
Returns:
  Field value.
Throws:
  `IgniteCheckedException` - If failed.

#### isVisorNodeStartProperty

    public static boolean isVisorNodeStartProperty(String name)

Checks whether property is one added by Visor when node is started via remote SSH session.

Parameters:
  `name` - Property name to check.
Returns:
  `True` if property is Visor node startup property, `false` otherwise.

#### isVisorRequiredProperty

    public static boolean isVisorRequiredProperty(String name)

Checks whether property is one required by Visor to work correctly.

Parameters:
  `name` - Property name to check.
Returns:
  `True` if property is required by Visor, `false` otherwise.

#### addLog4jNoOpLogger

    public static IgniteBiTuple<Object,Object> addLog4jNoOpLogger()
                                                           throws IgniteCheckedException

Adds no-op logger to remove no-appender warning.

Returns:
  Tuple with root log and no-op appender instances. No-op appender can be `null` if it did not found in classpath. Notice that in this case logging is not suppressed.
Throws:
  `IgniteCheckedException` - In case of failure to add no-op logger for Log4j.

#### removeLog4jNoOpLogger

    public static void removeLog4jNoOpLogger(IgniteBiTuple<Object,Object> t)
                                      throws IgniteCheckedException

Removes previously added no-op logger via method `addLog4jNoOpLogger()`.

Parameters:
  `t` - Tuple with root log and null appender instances.
Throws:
  `IgniteCheckedException` - In case of failure to remove previously added no-op logger for Log4j.

#### addJavaNoOpLogger

    public static Collection<Handler> addJavaNoOpLogger()

Adds no-op console handler for root java logger.

Returns:
  Removed handlers.

#### removeJavaNoOpLogger

    public static void removeJavaNoOpLogger(Collection<Handler> rmvHnds)

Removes previously added no-op handler for root java logger.

Parameters:
  `rmvHnds` - Previously removed handlers.

#### nodeIdLogFileName

    public static String nodeIdLogFileName(UUID nodeId,
                           String fileName)

Attaches node ID to log file name.

Parameters:
  `nodeId` - Node ID.
  `fileName` - File name.
Returns:
  File name with node ID.

#### customDirectoryLogFileName

    public static String customDirectoryLogFileName(@Nullable
                                    String dir,
                                    String fileName)

Substitutes log directory with a custom one.

Parameters:
  `dir` - Directory.
  `fileName` - Original path.
Returns:
  New path.

#### fl

    public static String fl(String msg,
            Object... args)

Creates string for log output.

Parameters:
  `msg` - Message to start string.
  `args` - Even length array where the odd elements are parameter names and even elements are parameter values.
Returns:
  Log message, formatted as recommended by Ignite guidelines.

#### safeAbs

    public static int safeAbs(int i)

Gets absolute value for integer. If integer is `Integer.MIN_VALUE`, then `0` is returned.

Parameters:
  `i` - Integer.
Returns:
  Absolute value.

#### box

    @Nullable
    public static Class<?> box(@Nullable
                        Class<?> cls)

Gets wrapper class for a primitive type.

Parameters:
  `cls` - Class. If `null`, method is no-op.
Returns:
  Wrapper class or original class if it is non-primitive.

#### forName

    public static Class<?> forName(String clsName,
                   @Nullable
                   ClassLoader ldr)
                            throws ClassNotFoundException

Gets class for provided name. Accepts primitive types names.

Parameters:
  `clsName` - Class name.
  `ldr` - Class loader.
Returns:
  Class.
Throws:
  `ClassNotFoundException` - If class not found.

#### clearClassCache

    public static void clearClassCache(ClassLoader ldr)

Clears class cache for provided loader.

Parameters:
  `ldr` - Class loader.

#### clearClassCache

    public static void clearClassCache()

Completely clears class cache.

#### hash

    public static int hash(int h)

Applies a supplemental hash function to a given hashCode, which defends against poor quality hash functions. This is critical because ConcurrentHashMap uses power-of-two length hash tables, that otherwise encounter collisions for hashCodes that do not differ in lower or upper bits.

This function has been taken from Java 8 ConcurrentHashMap with slightly modifications.

Parameters:
  `h` - Value to hash.
Returns:
  Hash value.

#### hash

    public static int hash(Object key)

Applies a supplemental hash function to a given hashCode, which defends against poor quality hash functions. This is critical because ConcurrentHashMap uses power-of-two length hash tables, that otherwise encounter collisions for hashCodes that do not differ in lower or upper bits.

This function has been taken from Java 8 ConcurrentHashMap with slightly modifications.

Parameters:
  `key` - Value to hash.
Returns:
  Hash value.

#### jvmPid

    public static int jvmPid()

Returns:
  PID of the current JVM or `-1` if it can't be determined.

#### jvmArgs

    public static List<String> jvmArgs()

Returns:
  Input arguments passed to the JVM which does not include the arguments to the `main` method.

#### arrayCopy

    public static int arrayCopy(byte[] src,
                int off,
                byte[] resBuf,
                int resOff,
                int len)

Parameters:
  `src` - Buffer to copy from (length included).
  `off` - Offset in source buffer.
  `resBuf` - Result buffer.
  `resOff` - Result offset.
  `len` - Length.
Returns:
  Number of bytes overwritten in `bytes` array.

#### consistentId

    public static String consistentId(Collection<String> addrs,
                      int port)

Parameters:
  `addrs` - Node's addresses.
  `port` - Port discovery number.
Returns:
  A string compatible with `ClusterNode.consistentId()` requirements.

#### overridesEqualsAndHashCode

    public static boolean overridesEqualsAndHashCode(Object obj)

Parameters:
  `obj` - Object.
Returns:
  `True` if given object has overridden equals and hashCode method.

#### isMacInvalidArgumentError

    public static boolean isMacInvalidArgumentError(Exception e)

Checks if error is MAC invalid argument error which ususally requires special handling.

Parameters:
  `e` - Exception.
Returns:
  `True` if error is invalid argument error on MAC.

#### firstNotNull

    @Nullable
    public static <T> T firstNotNull(@Nullable
                              T... vals)

Returns a first non-null value in a given array, if such is present.

Parameters:
  `vals` - Input array.
Returns:
  First non-null value, or `null`, if array is empty or contains only nulls.

#### startLifecycleAware

    public static void startLifecycleAware(Iterable<?> objs)
                                    throws IgniteCheckedException

For each object provided by the given `Iterable` checks if it implements `LifecycleAware` interface and executes `LifecycleAware.start()` method.

Parameters:
  `objs` - Objects.
Throws:
  `IgniteCheckedException` - If `LifecycleAware.start()` fails.

#### stopLifecycleAware

    public static void stopLifecycleAware(IgniteLogger log,
                          Iterable<?> objs)

For each object provided by the given `Iterable` checks if it implements `LifecycleAware` interface and executes `LifecycleAware.stop()` method.

Parameters:
  `log` - Logger used to log error message in case of stop failure.
  `objs` - Object passed to Ignite configuration.

#### neighborhood

    public static Map<String,Collection<ClusterNode>> neighborhood(Iterable<ClusterNode> nodes)

Groups given nodes by the node's physical computer (host).

Detection of the same physical computer (host) is based on comparing set of network interface MACs. If two nodes have the same set of MACs, Ignite considers these nodes running on the same physical computer.

Parameters:
  `nodes` - Nodes.
Returns:
  Collection of projections where each projection represents all nodes (in this projection) from a single physical computer. Result collection can be empty if this projection is empty.

#### toInetAddresses

    public static Collection<InetAddress> toInetAddresses(ClusterNode node)
                                                   throws IgniteCheckedException

Returns tha list of resolved inet addresses. First addresses are resolved by host names, if this attempt fails then the addresses are resolved by ip addresses.

Parameters:
  `node` - Grid node.
Returns:
  Inet addresses for given addresses and host names.
Throws:
  `IgniteCheckedException` - If non of addresses can be resolved.

#### toInetAddresses

    public static Collection<InetAddress> toInetAddresses(Collection<String> addrs,
                                          Collection<String> hostNames)
                                                   throws IgniteCheckedException

Returns tha list of resolved inet addresses. First addresses are resolved by host names, if this attempt fails then the addresses are resolved by ip addresses.

Parameters:
  `addrs` - Addresses.
  `hostNames` - Host names.
Returns:
  Inet addresses for given addresses and host names.
Throws:
  `IgniteCheckedException` - If non of addresses can be resolved.

#### toSocketAddresses

    public static Collection<InetSocketAddress> toSocketAddresses(ClusterNode node,
                                                  int port)

Returns tha list of resolved socket addresses. First addresses are resolved by host names, if this attempt fails then the addresses are resolved by ip addresses.

Parameters:
  `node` - Grid node.
  `port` - Port.
Returns:
  Socket addresses for given addresses and host names.

#### toSocketAddresses

    public static Collection<InetSocketAddress> toSocketAddresses(Collection<String> addrs,
                                                  Collection<String> hostNames,
                                                  int port)

Returns tha list of resolved socket addresses. First addresses are resolved by host names, if this attempt fails then the addresses are resolved by ip addresses.

Parameters:
  `addrs` - Addresses.
  `hostNames` - Host names.
  `port` - Port.
Returns:
  Socket addresses for given addresses and host names.

#### resolveAddresses

    public static Collection<InetSocketAddress> resolveAddresses(AddressResolver addrRslvr,
                                                 Iterable<String> addrs,
                                                 int port)
                                                          throws IgniteSpiException

Resolves all not loopback addresses and collect results.

Parameters:
  `addrRslvr` - Address resolver.
  `addrs` - Addresses.
  `port` - Port.
Returns:
  Resolved socket addresses.
Throws:
  `IgniteSpiException` - If failed.

#### addressesAsString

    public static String addressesAsString(ClusterNode node)

Returns string representation of node addresses.

Parameters:
  `node` - Grid node.
Returns:
  String representation of addresses.

#### addressesAsString

    public static String addressesAsString(Collection<String> addrs,
                           Collection<String> hostNames)

Returns string representation of addresses.

Parameters:
  `addrs` - Addresses.
  `hostNames` - Host names.
Returns:
  String representation of addresses.

#### setWorkDirectory

    public static void setWorkDirectory(@Nullable
                        String userWorkDir,
                        @Nullable
                        String userIgniteHome)
                                 throws IgniteCheckedException

Parameters:
  `userWorkDir` - Ignite work folder provided by user.
  `userIgniteHome` - Ignite home folder provided by user.
Throws:
  `IgniteCheckedException`

#### nullifyHomeDirectory

    public static void nullifyHomeDirectory()

Nullifies Ignite home directory. For test purposes only.

#### nullifyWorkDirectory

    public static void nullifyWorkDirectory()

Nullifies work directory. For test purposes only.

#### resolveWorkDirectory

    public static File resolveWorkDirectory(String path,
                            boolean delIfExist)
                                     throws IgniteCheckedException

Resolves work directory.

Parameters:
  `path` - Path to resolve.
  `delIfExist` - Flag indicating whether to delete the specify directory or not.
Returns:
  Resolved work directory.
Throws:
  `IgniteCheckedException` - If failed.

#### exceptionWithSuppressed

    public static IgniteCheckedException exceptionWithSuppressed(String msg,
                                                 @Nullable
                                                 Collection<Throwable> suppressed)

Creates `IgniteCheckedException` with the collection of suppressed exceptions.

Parameters:
  `msg` - Message.
  `suppressed` - The collections of suppressed exceptions.
Returns:
  `IgniteCheckedException`.

#### lambdaEnclosingClassName

    @Nullable
    public static String lambdaEnclosingClassName(String clsName)

Extracts full name of enclosing class from JDK8 lambda class name.

Parameters:
  `clsName` - JDK8 lambda class name.
Returns:
  Full name of enclosing class for JDK8 lambda class name or `null` if passed in name is not related to lambda.

#### toDigit

    public static int toDigit(char ch,
              int idx)
                       throws IgniteCheckedException

Converts a hexadecimal character to an integer.

Parameters:
  `ch` - A character to convert to an integer digit
  `idx` - The index of the character in the source
Returns:
  An integer
Throws:
  `IgniteCheckedException` - Thrown if ch is an illegal hex character

#### oldest

    public static ClusterNode oldest(Collection<ClusterNode> c,
                     @Nullable
                     IgnitePredicate<ClusterNode> p)

Gets oldest node out of collection of nodes.

Parameters:
  `c` - Collection of nodes.
Returns:
  Oldest node.

#### youngest

    public static ClusterNode youngest(Collection<ClusterNode> c,
                       @Nullable
                       IgnitePredicate<ClusterNode> p)

Gets youngest node out of collection of nodes.

Parameters:
  `c` - Collection of nodes.
Returns:
  Youngest node.

#### writeGridUuid

    public static long writeGridUuid(byte[] arr,
                     long off,
                     @Nullable
                     IgniteUuid uid)

Parameters:
  `arr` - Array.
  `off` - Offset.
  `uid` - UUID.
Returns:
  Offset.

#### readGridUuid

    @Nullable
    public static IgniteUuid readGridUuid(byte[] arr,
                                   long off)

Parameters:
  `arr` - Array.
  `off` - Offset.
Returns:
  UUID.

#### readGridUuid

    @Nullable
    public static IgniteUuid readGridUuid(long ptr)

Parameters:
  `ptr` - Offheap address.
Returns:
  UUID.

#### writeVersion

    public static long writeVersion(byte[] arr,
                    long off,
                    GridCacheVersion ver)

Parameters:
  `arr` - Array.
  `off` - Offset.
  `ver` - Version.
Returns:
  Offset.

#### readVersion

    public static GridCacheVersion readVersion(long ptr,
                               boolean verEx)

Parameters:
  `ptr` - Offheap address.
  `verEx` - If `true` reads `GridCacheVersionEx` instance.
Returns:
  Version.

#### readVersion

    public static GridCacheVersion readVersion(byte[] arr,
                               long off,
                               boolean verEx)

Parameters:
  `arr` - Array.
  `off` - Offset.
  `verEx` - If `true` reads `GridCacheVersionEx` instance.
Returns:
  Version.

#### copyMemory

    public static byte[] copyMemory(long ptr,
                    int size)

Parameters:
  `ptr` - Address.
  `size` - Size.
Returns:
  Bytes.

#### capacity

    public static int capacity(int expSize)

Returns a capacity that is sufficient to keep the map from being resized as long as it grows no larger than expSize and the load factor is >= its default (0.75). Copy pasted from guava. See com.google.common.collect.Maps#capacity(int)

Parameters:
  `expSize` - Expected size of created map.
Returns:
  Capacity.

#### newHashMap

    public static <K,V> HashMap<K,V> newHashMap(int expSize)

Creates new `HashMap` with expected size.

Type Parameters:
  `K` - Type of map keys.
  `V` - Type of map values.
Parameters:
  `expSize` - Expected size of created map.
Returns:
  New map.

#### newLinkedHashMap

    public static <K,V> LinkedHashMap<K,V> newLinkedHashMap(int expSize)

Creates new `LinkedHashMap` with expected size.

Type Parameters:
  `K` - Type of map keys.
  `V` - Type of map values.
Parameters:
  `expSize` - Expected size of created map.
Returns:
  New map.

#### newHashSet

    public static <T> HashSet<T> newHashSet(int expSize)

Creates new `HashSet` with expected size.

Type Parameters:
  `T` - Type of elements.
Parameters:
  `expSize` - Expected size of created map.
Returns:
  New set.

#### newLinkedHashSet

    public static <T> LinkedHashSet<T> newLinkedHashSet(int expSize)

Creates new `LinkedHashSet` with expected size.

Type Parameters:
  `T` - Type of elements.
Parameters:
  `expSize` - Expected size of created map.
Returns:
  New set.

#### limitedMap

    public static <K,V> Map<K,V> limitedMap(int limit)

Creates new map that limited by size.

Parameters:
  `limit` - Limit for size.

#### inetAddressesComparator

    public static Comparator<InetSocketAddress> inetAddressesComparator(boolean sameHost)

Returns comparator that sorts remote node addresses. If remote node resides on the same host, then put loopback addresses first, last otherwise.

Parameters:
  `sameHost` - `True` if remote node resides on the same host, `false` otherwise.
Returns:
  Comparator.

#### findNonPublicMethod

    @Nullable
    public static Method findNonPublicMethod(Class<?> cls,
                                      String name,
                                      Class<?>... paramTypes)

Finds a method in the class and it parents. Method.getMethod() does not return non-public method, Method.getDeclaratedMethod() does not look at parent classes.

Parameters:
  `cls` - The class to search,
  `name` - Name of the method.
  `paramTypes` - Method parameters.
Returns:
  Method or `null`

#### findField

    @Nullable
    public static Field findField(Class<?> cls,
                           String name)

Parameters:
  `cls` - The class to search.
  `name` - Name of a field to get.
Returns:
  Field or `null`.

#### arrayList

    public static <T extends R,R> List<R> arrayList(Collection<T> c,
                                    @Nullable
                                    IgnitePredicate<? super T>... p)

Parameters:
  `c` - Collection.
  `p` - Optional filters.
Returns:
  Resulting array list.

#### arrayList

    public static <T extends R,R> List<R> arrayList(Collection<T> c)

Parameters:
  `c` - Collection.
Returns:
  Resulting array list.

#### arrayList

    public static <T extends R,R> List<R> arrayList(Iterable<T> c,
                                    int cap,
                                    @Nullable
                                    IgnitePredicate<? super T>... p)

Parameters:
  `c` - Collection.
  `cap` - Initial capacity.
  `p` - Optional filters.
Returns:
  Resulting array list.

#### calculateMD5Digest

    public static byte[] calculateMD5Digest(@NotNull
                            InputStream in)
                                     throws NoSuchAlgorithmException,
                                            IOException

Calculate MD5 digits.

Parameters:
  `in` - Input stream.
Returns:
  Calculated MD5 digest for given input stream.
Throws:
  `NoSuchAlgorithmException` - If MD5 algorithm was not found.
  `IOException` - If an I/O exception occurs.

#### calculateMD5

    public static String calculateMD5(InputStream in)
                               throws NoSuchAlgorithmException,
                                      IOException

Calculate MD5 string.

Parameters:
  `in` - Input stream.
Returns:
  Calculated MD5 string for given input stream.
Throws:
  `NoSuchAlgorithmException` - If MD5 algorithm was not found.
  `IOException` - If an I/O exception occurs.

#### writeMessageFully

    public static int writeMessageFully(Message msg,
                        OutputStream out,
                        ByteBuffer buf,
                        MessageWriter writer)
                                 throws IOException

Fully writes communication message to provided stream.

Parameters:
  `msg` - Message.
  `out` - Stream to write to.
  `buf` - Byte buffer that will be passed to `Message.writeTo(ByteBuffer, MessageWriter)` method.
  `writer` - Message writer.
Returns:
  Number of written bytes.
Throws:
  `IOException` - In case of error.

#### assertParameter

    public static void assertParameter(boolean cond,
                       String condDesc)
                                throws IgniteException

Throws exception with uniform error message if given parameter's assertion condition is `false`.

Parameters:
  `cond` - Assertion condition to check.
  `condDesc` - Description of failed condition.
Throws:
  `IgniteException`

#### hasSharedMemory

    public static boolean hasSharedMemory()

Returns:
  Whether shared memory libraries exist.

#### writeLock

    public static void writeLock(ReadWriteLock lock)
                          throws IgniteInterruptedCheckedException

Parameters:
  `lock` - Lock.
Throws:
  `IgniteInterruptedCheckedException` - If interrupted.

#### directProtocolVersion

    public static byte directProtocolVersion(GridKernalContext ctx,
                             UUID nodeId)
                                      throws IgniteCheckedException

Defines which protocol version to use for communication with the provided node.

Parameters:
  `ctx` - Context.
  `nodeId` - Node ID.
Returns:
  Protocol version.
Throws:
  `IgniteCheckedException` - If node doesn't exist.

#### isHashCodeMethod

    public static boolean isHashCodeMethod(Method mtd)

Returns:
  Whether provided method is `Object.hashCode()`.

#### isEqualsMethod

    public static boolean isEqualsMethod(Method mtd)

Returns:
  Whether provided method is `Object.equals(...)`.

#### isToStringMethod

    public static boolean isToStringMethod(Method mtd)

Returns:
  Whether provided method is `Object.toString()`.

#### threadName

    public static String threadName(long threadId)

Parameters:
  `threadId` - Thread ID.
Returns:
  Thread name if found.

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.6.0
Release Date | : May 18 2016