public final class RecycleUtils extends Object
Weak references to objects are held by a thread-local queue. When a process has finished working
with an object, the recycle(java.lang.Object)
method may be offer the recycled object to the queue for
consideration as reusable on the same thread.
Modifier and Type | Method and Description |
---|---|
static <T> void |
clean(T instance)
Clean all instance fields.
|
static <T> void |
clean(T instance,
Class<? super T> top)
Clean all instance fields, walking up the class hierarchy to the indicated super class.
|
static <T> T |
getInstance(Class<T> c)
Get an instance of the given class that has previously been recycled on the same thread, or a
new instance using a default constructor if a recycled instance is not available.
|
static <T> T |
getInstance(String name,
Class<T> c)
Get an instance of the given class that has previously been recycled on the same thread, or a
new instance using a default constructor if a recycled instance is not available.
|
static <T> T |
getRecycledInstance(Class<T> c)
Get an instance of the given class that has previously been recycled on the same thread, if
an instance of available.
|
static <T> T |
getRecycledInstance(String name,
Class<T> c)
Get an instance of the given class that has previously been recycled on the same thread, if
an instance of available.
|
static void |
recycle(Object instance)
Recycle a instance, for later retrieval in the same thread.
|
static void |
recycle(String name,
Object instance)
Recycle a instance, for later retrieval in the same thread.
|
public static <T> T getRecycledInstance(Class<T> c)
T
- recycled instance typec
- The class.public static <T> T getRecycledInstance(String name, Class<T> c)
T
- recycled instance typename
- The bean name.c
- The class.public static <T> T getInstance(Class<T> c)
T
- recycled instance typec
- The class.public static <T> T getInstance(String name, Class<T> c)
T
- recycled instance typename
- The bean name, must be defined as a prototype in the data dictionary if non-null.c
- The class.public static void recycle(Object instance)
Note that this method does not clean the instance, it only queues it for later retrieval by
getRecycledInstance(Class)
. The state of the instance should be cleared before
passing to this method. For a flexible means to clean instances using reflection
clean(Object, Class)
may be considered, however note that a manually implemented
clean operation will generally perform faster.
instance
- The instance to recycle.public static void recycle(String name, Object instance)
Note that this method does not clean the instance, it only queues it for later retrieval by
getRecycledInstance(Class)
. The state of the instance should be cleared before
passing to this method. For a flexible means to clean instances using reflection
clean(Object, Class)
may be considered, however note that a manually implemented
clean operation will generally perform faster.
name
- The bean name.instance
- The instance to recycle.public static <T> void clean(T instance)
T
- recycled instance typeinstance
- The instance to clean.public static <T> void clean(T instance, Class<? super T> top)
T
- recycled instance typeinstance
- The instance to clean.top
- The point in the class hierarchy at which to stop cleaning fields.Copyright © 2005–2014 The Kuali Foundation. All rights reserved.