public final class ObjectUtilities extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_CONTEXT
A constant for using the ClassContext as source for the classloader.
|
static java.lang.String |
THREAD_CONTEXT
A constant for using the TheadContext as source for the classloader.
|
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
clone(java.lang.Object object)
Returns a clone of the specified object, if it can be cloned, otherwise
throws a CloneNotSupportedException.
|
static java.util.Collection |
deepClone(java.util.Collection collection)
Returns a new collection containing clones of all the items in the
specified collection.
|
static boolean |
equal(java.lang.Object o1,
java.lang.Object o2)
Returns
true if the two objects are equal OR both
null . |
static java.lang.ClassLoader |
getClassLoader()
Returns the custom classloader or null, if no custom classloader is defined.
|
static java.lang.ClassLoader |
getClassLoader(java.lang.Class c)
Returns the classloader, which was responsible for loading the given
class.
|
static java.lang.String |
getClassLoaderSource()
Returns the internal configuration entry, whether the classloader of
the thread context or the context classloader should be used.
|
static java.net.URL |
getResource(java.lang.String name,
java.lang.Class c)
Returns the resource specified by the absolute name.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String name,
java.lang.Class context)
Returns the inputstream for the resource specified by the
absolute name.
|
static java.net.URL |
getResourceRelative(java.lang.String name,
java.lang.Class c)
Returns the resource specified by the relative name.
|
static java.io.InputStream |
getResourceRelativeAsStream(java.lang.String name,
java.lang.Class context)
Returns the inputstream for the resource specified by the
relative name.
|
static int |
hashCode(java.lang.Object object)
Returns a hash code for an object, or zero if the object is
null . |
static boolean |
isJDK14()
Returns
true if this is version 1.4 or later of the
Java runtime. |
static java.lang.Object |
loadAndInstantiate(java.lang.String className,
java.lang.Class source)
Tries to create a new instance of the given class.
|
static java.lang.Object |
loadAndInstantiate(java.lang.String className,
java.lang.Class source,
java.lang.Class type)
Tries to create a new instance of the given class.
|
static void |
setClassLoader(java.lang.ClassLoader classLoader)
Redefines the custom classloader.
|
static void |
setClassLoaderSource(java.lang.String classLoaderSource)
Defines the internal configuration entry, whether the classloader of
the thread context or the context classloader should be used.
|
public static final java.lang.String THREAD_CONTEXT
public static final java.lang.String CLASS_CONTEXT
public static java.lang.String getClassLoaderSource()
public static void setClassLoaderSource(java.lang.String classLoaderSource)
This setting can only be defined using the API, there is no safe way to put this into an external configuration file.
classLoaderSource
- the classloader source,
either THREAD_CONTEXT or CLASS_CONTEXT.public static boolean equal(java.lang.Object o1, java.lang.Object o2)
true
if the two objects are equal OR both
null
.o1
- object 1 (null
permitted).o2
- object 2 (null
permitted).true
or false
.public static int hashCode(java.lang.Object object)
null
.object
- the object (null
permitted).null
).public static java.lang.Object clone(java.lang.Object object) throws java.lang.CloneNotSupportedException
object
- the object to clone (null
not permitted).java.lang.CloneNotSupportedException
- if the object cannot be cloned.public static java.util.Collection deepClone(java.util.Collection collection) throws java.lang.CloneNotSupportedException
collection
- the collection (null
not permitted).java.lang.CloneNotSupportedException
- if any of the items in the collection
cannot be cloned.public static void setClassLoader(java.lang.ClassLoader classLoader)
classLoader
- the new classloader or null to use the default.public static java.lang.ClassLoader getClassLoader()
public static java.lang.ClassLoader getClassLoader(java.lang.Class c)
c
- the classloader, either an application class loader or the
boot loader.java.lang.SecurityException
- if the SecurityManager does not allow to grab
the context classloader.public static java.net.URL getResource(java.lang.String name, java.lang.Class c)
name
- the name of the resourcec
- the source classpublic static java.net.URL getResourceRelative(java.lang.String name, java.lang.Class c)
name
- the name of the resource relative to the given classc
- the source classpublic static java.io.InputStream getResourceAsStream(java.lang.String name, java.lang.Class context)
name
- the name of the resourcecontext
- the source classpublic static java.io.InputStream getResourceRelativeAsStream(java.lang.String name, java.lang.Class context)
name
- the name of the resource relative to the given classcontext
- the source classpublic static java.lang.Object loadAndInstantiate(java.lang.String className, java.lang.Class source)
className
- the class name as String, never null.source
- the source class, from where to get the classloader.public static java.lang.Object loadAndInstantiate(java.lang.String className, java.lang.Class source, java.lang.Class type)
className
- the class name as String, never null.source
- the source class, from where to get the classloader.type
- the type.public static boolean isJDK14()
true
if this is version 1.4 or later of the
Java runtime.