org.infinispan.util
Class Util

java.lang.Object
  extended by org.infinispan.util.Util

public final class Util
extends Object

General utility methods used throughout the Infinispan code base.

Since:
4.0
Author:
Brian Stansberry, Galder ZamarreƱo

Nested Class Summary
static class Util.MapModifications
          Static inner class that holds 3 maps - for data added, removed and modified.
 
Method Summary
static
<T> Set<T>
asSet(T... a)
           
static
<T> T
cloneWithMarshaller(Marshaller marshaller, T x)
          Clones parameter x of type T with a given Marshaller reference;
static void close(Closeable... cls)
           
static void close(Closeable cl)
           
static void close(Context ctx)
           
static void close(Socket s)
           
static void flushAndCloseOutput(ObjectOutput o)
           
static void flushAndCloseStream(OutputStream o)
           
static String formatString(Object message, Object... params)
           
static ClassLoader[] getClassLoaders(ClassLoader appClassLoader)
           
static
<T> T
getInstance(Class<T> clazz)
          Instantiates a class by first attempting a static factory method named getInstance() on the class and then falling back to an empty constructor.
static
<T> T
getInstance(String classname, ClassLoader cl)
          Instantiates a class based on the class name provided.
static
<T> T
getInstanceStrict(Class<T> clazz)
          Similar to getInstance(Class) except that exceptions are propagated to the caller.
static
<T> T
getInstanceStrict(String classname, ClassLoader cl)
          Similar to #getInstance(String) except that exceptions are propagated to the caller.
static String hexDump(byte[] buffer)
           
static String hexIdHashCode(Object o)
          Prints the identity hash code of the object passed as parameter in an hexadecimal format in order to safe space.
static
<T> Class<T>
loadClass(String classname, ClassLoader cl)
           Loads the specified class using the passed classloader, or, if it is null the Inifinispan classes' classloader.
static
<T> Class<T>
loadClassStrict(String classname, ClassLoader userClassLoader)
           Loads the specified class using the passed classloader, or, if it is null the Inifinispan classes' classloader.
static String padString(String s, int minWidth)
           
static String prettyPrintTime(long millis)
          Prints a time for display
static String prettyPrintTime(long time, TimeUnit unit)
           
static String printArray(byte[] array, boolean withHash)
           
static CacheException rewrapAsCacheException(Throwable t)
           
static boolean safeEquals(Object a, Object b)
          Null-safe equality test.
static void safeRelease(Lock toRelease)
          Releases a lock and swallows any IllegalMonitorStateExceptions - so it is safe to call this method even if the lock is not locked, or not locked by the current thread.
static String threadDump()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

loadClass

public static <T> Class<T> loadClass(String classname,
                                     ClassLoader cl)

Loads the specified class using the passed classloader, or, if it is null the Inifinispan classes' classloader.

If loadtime instrumentation via GenerateInstrumentedClassLoader is used, this class may be loaded by the bootstrap classloader.

If the class is not found, the ClassNotFoundException or NoClassDefFoundError is wrapped as a ConfigurationException and is re-thrown.

Parameters:
classname - name of the class to load
cl - the application classloader which should be used to load the class, or null if the class is always packaged with Infinispan
Returns:
the class
Throws:
ConfigurationException - if the class cannot be loaded

getClassLoaders

public static ClassLoader[] getClassLoaders(ClassLoader appClassLoader)

loadClassStrict

public static <T> Class<T> loadClassStrict(String classname,
                                           ClassLoader userClassLoader)
                                throws ClassNotFoundException

Loads the specified class using the passed classloader, or, if it is null the Inifinispan classes' classloader.

If loadtime instrumentation via GenerateInstrumentedClassLoader is used, this class may be loaded by the bootstrap classloader.

Parameters:
classname - name of the class to load
cl - the application classloader which should be used to load the class, or null if the class is always packaged with Infinispan
Returns:
the class
Throws:
ClassNotFoundException - if the class cannot be loaded

getInstance

public static <T> T getInstance(Class<T> clazz)
Instantiates a class by first attempting a static factory method named getInstance() on the class and then falling back to an empty constructor.

Any exceptions encountered are wrapped in a ConfigurationException and rethrown.

Parameters:
clazz - class to instantiate
Returns:
an instance of the class

getInstanceStrict

public static <T> T getInstanceStrict(Class<T> clazz)
                           throws IllegalAccessException,
                                  InstantiationException
Similar to getInstance(Class) except that exceptions are propagated to the caller.

Parameters:
clazz - class to instantiate
Returns:
an instance of the class
Throws:
IllegalAccessException
InstantiationException

getInstance

public static <T> T getInstance(String classname,
                                ClassLoader cl)
Instantiates a class based on the class name provided. Instatiation is attempted via an appropriate, static factory method named getInstance() first, and failing the existence of an appropriate factory, falls back to an empty constructor.

Any exceptions encountered loading and instantiating the class is wrapped in a ConfigurationException.

Parameters:
classname - class to instantiate
Returns:
an instance of classname

getInstanceStrict

public static <T> T getInstanceStrict(String classname,
                                      ClassLoader cl)
                           throws ClassNotFoundException,
                                  InstantiationException,
                                  IllegalAccessException
Similar to #getInstance(String) except that exceptions are propagated to the caller.

Parameters:
classname - class to instantiate
Returns:
an instance of classname
Throws:
ClassNotFoundException
InstantiationException
IllegalAccessException

cloneWithMarshaller

public static <T> T cloneWithMarshaller(Marshaller marshaller,
                                        T x)
Clones parameter x of type T with a given Marshaller reference;

Returns:
a deep clone of an object parameter x

safeEquals

public static boolean safeEquals(Object a,
                                 Object b)
Null-safe equality test.

Parameters:
a - first object to compare
b - second object to compare
Returns:
true if the objects are equals or both null, false otherwise.

prettyPrintTime

public static String prettyPrintTime(long time,
                                     TimeUnit unit)

prettyPrintTime

public static String prettyPrintTime(long millis)
Prints a time for display

Parameters:
millis - time in millis
Returns:
the time, represented as millis, seconds, minutes or hours as appropriate, with suffix

close

public static void close(Closeable cl)

close

public static void close(Socket s)

close

public static void close(Closeable... cls)

close

public static void close(Context ctx)

flushAndCloseStream

public static void flushAndCloseStream(OutputStream o)

flushAndCloseOutput

public static void flushAndCloseOutput(ObjectOutput o)

formatString

public static String formatString(Object message,
                                  Object... params)

printArray

public static String printArray(byte[] array,
                                boolean withHash)

padString

public static String padString(String s,
                               int minWidth)

safeRelease

public static final void safeRelease(Lock toRelease)
Releases a lock and swallows any IllegalMonitorStateExceptions - so it is safe to call this method even if the lock is not locked, or not locked by the current thread.

Parameters:
toRelease - lock to release

threadDump

public static String threadDump()

rewrapAsCacheException

public static CacheException rewrapAsCacheException(Throwable t)

asSet

public static <T> Set<T> asSet(T... a)

hexIdHashCode

public static String hexIdHashCode(Object o)
Prints the identity hash code of the object passed as parameter in an hexadecimal format in order to safe space.


hexDump

public static String hexDump(byte[] buffer)

-->

Copyright © 2011 JBoss, a division of Red Hat. All Rights Reserved.