01: package org.hibernate.bytecode.javassist;
02:
03: import org.hibernate.bytecode.ReflectionOptimizer;
04: import org.hibernate.InstantiationException;
05:
06: import java.io.Serializable;
07:
08: /**
09: * The {@link ReflectionOptimizer.InstantiationOptimizer} implementation for Javassist
10: * which simply acts as an adpater to the {@link FastClass} class.
11: *
12: * @author Steve Ebersole
13: */
14: public class InstantiationOptimizerAdapter implements
15: ReflectionOptimizer.InstantiationOptimizer, Serializable {
16: private final FastClass fastClass;
17:
18: public InstantiationOptimizerAdapter(FastClass fastClass) {
19: this .fastClass = fastClass;
20: }
21:
22: public Object newInstance() {
23: try {
24: return fastClass.newInstance();
25: } catch (Throwable t) {
26: throw new InstantiationException(
27: "Could not instantiate entity with Javassist optimizer: ",
28: fastClass.getJavaClass(), t);
29: }
30: }
31: }
|