org.apache.wicket.spring.injection.annot
Class AnnotProxyFieldValueFactory
java.lang.Object
org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory
- All Implemented Interfaces:
- org.apache.wicket.injection.IFieldValueFactory
public class AnnotProxyFieldValueFactory
- extends java.lang.Object
- implements org.apache.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), Istvan Devai
- See Also:
LazyInitProxyFactory,
SpringBean,
SpringBeanLocator
|
Method Summary |
java.lang.Object |
getFieldValue(java.lang.reflect.Field field,
java.lang.Object fieldOwner)
|
void |
setFailFast(boolean failFast)
|
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(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 org.apache.wicket.injection.IFieldValueFactory
- See Also:
IFieldValueFactory.getFieldValue(java.lang.reflect.Field,
java.lang.Object)
setFailFast
public void setFailFast(boolean failFast)
- Parameters:
failFast - true if the locator fails if a bean can't be located
supportsField
public boolean supportsField(java.lang.reflect.Field field)
- Specified by:
supportsField in interface org.apache.wicket.injection.IFieldValueFactory
- See Also:
IFieldValueFactory.supportsField(java.lang.reflect.Field)
Copyright © 2004-2008 Apache Software Foundation. All Rights Reserved.