org.apache.wicket.util.lang
Class WicketObjects

java.lang.Object
  extended by org.apache.wicket.util.lang.WicketObjects

public class WicketObjects
extends java.lang.Object

Object (de)serialization utilities.


Nested Class Summary
static interface WicketObjects.IObjectSizeOfStrategy
          Interface that enables users to plugin the way object sizes are calculated with Wicket.
static class WicketObjects.SerializingObjectSizeOfStrategy
          WicketObjects.IObjectSizeOfStrategy that works by serializing the object to an instance of ByteCountingOutputStream, which records the number of bytes written to it.
 
Method Summary
static java.lang.Object cloneModel(java.lang.Object object)
          Makes a deep clone of an object by serializing and deserializing it.
static java.lang.Object cloneObject(java.lang.Object object)
          Makes a deep clone of an object by serializing and deserializing it.
static java.lang.Object newInstance(java.lang.String className)
          Creates a new instance using the current application's class resolver.
static
<T> java.lang.Class<T>
resolveClass(java.lang.String className)
           
static void setObjectSizeOfStrategy(WicketObjects.IObjectSizeOfStrategy objectSizeOfStrategy)
          Sets the strategy for determining the sizes of objects.
static long sizeof(java.io.Serializable object)
          Computes the size of an object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

resolveClass

public static <T> java.lang.Class<T> resolveClass(java.lang.String className)
Type Parameters:
T - class type
Parameters:
className - Class to resolve
Returns:
Resolved class
Throws:
java.lang.ClassNotFoundException

cloneModel

public static java.lang.Object cloneModel(java.lang.Object object)
Makes a deep clone of an object by serializing and deserializing it. The object must be fully serializable to be cloned. This method will not clone wicket Components, it will just reuse those instances so that the complete component tree is not copied over only the model data.

Parameters:
object - The object to clone
Returns:
A deep copy of the object

cloneObject

public static java.lang.Object cloneObject(java.lang.Object object)
Makes a deep clone of an object by serializing and deserializing it. The object must be fully serializable to be cloned. No extra debug info is gathered.

Parameters:
object - The object to clone
Returns:
A deep copy of the object
See Also:
cloneModel(Object)

newInstance

public static java.lang.Object newInstance(java.lang.String className)
Creates a new instance using the current application's class resolver. Returns null if className is null.

Parameters:
className - The full class name
Returns:
The new object instance

setObjectSizeOfStrategy

public static void setObjectSizeOfStrategy(WicketObjects.IObjectSizeOfStrategy objectSizeOfStrategy)
Sets the strategy for determining the sizes of objects.

Parameters:
objectSizeOfStrategy - the strategy. Pass null to reset to the default.

sizeof

public static long sizeof(java.io.Serializable object)
Computes the size of an object. Note that this is an estimation, never an absolute accurate size.

Parameters:
object - Object to compute size of
Returns:
The size of the object in bytes


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.