org.apache.wicket.spring.injection.annot
Class AnnotProxyFieldValueFactory
java.lang.Object
org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory
- All Implemented Interfaces:
- IFieldValueFactory
public class AnnotProxyFieldValueFactory
- extends Object
- implements 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), Istvan Devai
- See Also:
LazyInitProxyFactory,
SpringBean,
SpringBeanLocator
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AnnotProxyFieldValueFactory
public AnnotProxyFieldValueFactory(ISpringContextLocator contextLocator)
- Parameters:
contextLocator - spring context locator
AnnotProxyFieldValueFactory
public AnnotProxyFieldValueFactory(ISpringContextLocator contextLocator,
boolean wrapInProxies)
- Parameters:
contextLocator - spring context locatorwrapInProxies - whether or not wicket should wrap dependencies with specialized proxies that can
be safely serialized. in most cases this should be set to true.
getFieldValue
public Object getFieldValue(Field field,
Object fieldOwner)
- Specified by:
getFieldValue in interface IFieldValueFactory
- See Also:
IFieldValueFactory.getFieldValue(java.lang.reflect.Field,
java.lang.Object)
supportsField
public boolean supportsField(Field field)
- Specified by:
supportsField in interface IFieldValueFactory
- See Also:
IFieldValueFactory.supportsField(java.lang.reflect.Field)
Copyright © 2004-2010 Apache Software Foundation. All Rights Reserved.