public interface Wrapper extends Wrapper
Developers may wish to gain access to the resources that are wrapped (the delegates) as proxy class instances representing the the actual resources.
This interface extends JDK Wrapper class, overriding the thrown exception with a more meaningful named one.
Modifier and Type | Method and Description |
---|---|
boolean |
isWrapperFor(Class<?> iface)
Returns true if this either implements the interface argument or is directly or indirectly a
wrapper for an object that does.
|
<T> T |
unwrap(Class<T> iface)
Returns an object that implements the given interface to allow access to non-standard
methods, or standard methods not exposed by the proxy.
|
boolean isWrapperFor(Class<?> iface)
isWrapperFor
on 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 to unwrap
so that callers can use this method to avoid expensive
unwrap
calls that may fail. If this method returns true then calling unwrap
with the same argument should succeed.isWrapperFor
in interface Wrapper
iface
- a Class defining an interface.<T> T unwrap(Class<T> iface) throws IllegalArgumentException
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 unwrap
recursively on the wrapped object or a proxy for
that result. If the receiver is not a wrapper and does not implement the interface, then an
IllegalArgumentException
is thrown.
unwrap
in interface Wrapper
iface
- A Class defining an interface that the result must implement.IllegalArgumentException
- If no object found that implements the interfaceCopyright © 1996–2019 Geotools. All rights reserved.