Wrapper¶
- public interface Wrapper¶
Methods¶
isWrapperFor¶
- boolean isWrapperFor(Class<?> iface)¶
New in version 1.6.
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling
isWrapperForon the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared tounwrapso that callers can use this method to avoid expensiveunwrapcalls that may fail. If this method returns true then callingunwrapwith the same argument should succeed.- Parameters:
iface – a Class defining an interface.
- Returns:
true if this implements the interface or directly or indirectly wraps an object that does. for an object with the given interface.
unwrap¶
- <T> T unwrap(Class<T> iface)¶
New in version 1.6.
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling
unwraprecursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then anSQLExceptionis thrown.- Parameters:
<T> – the type of the class modeled by this Class object
iface – A Class defining an interface that the result must implement.
- Returns:
an object that implements the interface. May be a proxy for the actual implementing object.