wicket.spring.injection.annot
Class AnnotProxyFieldValueFactory
java.lang.Object
wicket.spring.injection.annot.AnnotProxyFieldValueFactory
- All Implemented Interfaces:
- wicket.injection.IFieldValueFactory
public class AnnotProxyFieldValueFactory
- extends java.lang.Object
- implements wicket.injection.IFieldValueFactory
IFieldValueFactory that uses LazyInitProxyFactory to create proxies for Spring
dependencies based on the SpringBean annotation applied to a field.
This class is usually used by the AnnotSpringInjector to inject
objects with lazy init proxies. However, this class can be used on its own to
create proxies for any field decorated with a SpringBean annotation.
Example:
IFieldValueFactory factory = new AnnotProxyFieldValueFactory(contextLocator);
field = obj.getClass().getDeclaredField("dependency");
IDependency dependency = (IDependency) factory.getFieldValue(field, obj);
In the example above the dependency object returned is a lazy init proxy
that will look up the actual IDependency bean from spring context upon first
access to one of the methods.
This class will also cache any produced proxies so that the same proxy is
always returned for the same spring dependency. This helps cut down on
session size beacause proxies for the same dependency will not be serialized
twice.
- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
LazyInitProxyFactory,
SpringBean,
SpringBeanLocator
|
Method Summary |
java.lang.Object |
getFieldValue(java.lang.reflect.Field field,
java.lang.Object fieldOwner)
|
boolean |
supportsField(java.lang.reflect.Field field)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AnnotProxyFieldValueFactory
public AnnotProxyFieldValueFactory(wicket.spring.ISpringContextLocator contextLocator)
- Parameters:
contextLocator - spring context locator
getFieldValue
public java.lang.Object getFieldValue(java.lang.reflect.Field field,
java.lang.Object fieldOwner)
- Specified by:
getFieldValue in interface wicket.injection.IFieldValueFactory
- See Also:
IFieldValueFactory.getFieldValue(java.lang.reflect.Field,
java.lang.Object)
supportsField
public boolean supportsField(java.lang.reflect.Field field)
- Specified by:
supportsField in interface wicket.injection.IFieldValueFactory
- See Also:
IFieldValueFactory.supportsField(java.lang.reflect.Field)
Copyright © 2004-2006 Wicket developers. All Rights Reserved.