org.objenesis
Class ObjenesisBase

java.lang.Object
  extended by org.objenesis.ObjenesisBase
All Implemented Interfaces:
Objenesis
Direct Known Subclasses:
ObjenesisSerializer, ObjenesisStd

public class ObjenesisBase
extends java.lang.Object
implements Objenesis

Base class to extend if you want to have a class providing your own default strategy. Can also be instantiated directly.

Author:
Henri Tremblay

Field Summary
protected  java.util.Map cache
          Strategy cache.
protected  InstantiatorStrategy strategy
          Strategy used by this Objenesi implementation to create classes
 
Constructor Summary
ObjenesisBase(InstantiatorStrategy strategy)
          Constructor allowing to pick a strategy and using cache
ObjenesisBase(InstantiatorStrategy strategy, boolean useCache)
          Flexible constructor allowing to pick the strategy and if caching should be used
 
Method Summary
 ObjectInstantiator getInstantiatorOf(java.lang.Class clazz)
          Will pick the best instantiator for the provided class.
 java.lang.Object newInstance(java.lang.Class clazz)
          Will create a new object without any constructor being called
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

strategy

protected final InstantiatorStrategy strategy
Strategy used by this Objenesi implementation to create classes


cache

protected java.util.Map cache
Strategy cache. Key = Class, Value = InstantiatorStrategy

Constructor Detail

ObjenesisBase

public ObjenesisBase(InstantiatorStrategy strategy)
Constructor allowing to pick a strategy and using cache

Parameters:
strategy - Strategy to use

ObjenesisBase

public ObjenesisBase(InstantiatorStrategy strategy,
                     boolean useCache)
Flexible constructor allowing to pick the strategy and if caching should be used

Parameters:
strategy - Strategy to use
useCache - If ObjectInstantiators should be cached
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

newInstance

public java.lang.Object newInstance(java.lang.Class clazz)
Will create a new object without any constructor being called

Specified by:
newInstance in interface Objenesis
Parameters:
clazz - Class to instantiate
Returns:
New instance of clazz

getInstantiatorOf

public ObjectInstantiator getInstantiatorOf(java.lang.Class clazz)
Will pick the best instantiator for the provided class. If you need to create a lot of instances from the same class, it is way more efficient to create them from the same ObjectInstantiator than calling newInstance(Class).

Specified by:
getInstantiatorOf in interface Objenesis
Parameters:
clazz - Class to instantiate
Returns:
Instantiator dedicated to the class


Copyright © 2006-2009 Joe Walnes, Henri Tremblay, Leonardo Mesquita. All Rights Reserved.