Package org.supercsv.util
Class BeanInterfaceProxy
java.lang.Object
org.supercsv.util.BeanInterfaceProxy
- All Implemented Interfaces:
InvocationHandler
This is part of the internal implementation of Super CSV.
This class creates bean instances based on an interface. This allows you, given an interface for a bean (but no implementation), to generate a bean implementation on-the-fly. This instance can then be used for fetching and storing state. It assumes all get methods starts with "get" and all set methods start with "set" and takes only 1 argument.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
beanState
-
-
Constructor Details
-
BeanInterfaceProxy
private BeanInterfaceProxy()
-
-
Method Details
-
createProxy
Creates a proxy object which implements a given bean interface.- Type Parameters:
T
- the proxy implementation type- Parameters:
proxyInterface
- the interface the the proxy will implement- Returns:
- the proxy implementation
- Throws:
NullPointerException
- if proxyInterface is null
-
invoke
If a getter method is encountered then this method returns the stored value from the bean state (or null if the field has not been set).
If a setter method is encountered then the bean state is updated with the value of the first argument and the value is returned (to allow for method chaining)
- Specified by:
invoke
in interfaceInvocationHandler
- Throws:
IllegalArgumentException
- if the method is not a valid getter/setter
-