Package org.geotools.util.decorate
Class AbstractDecorator<D>
Object
AbstractDecorator<D>
- All Implemented Interfaces:
Serializable,Wrapper,Wrapper
- Direct Known Subclasses:
DecoratingDataStore
Generic delegating base class. Provides the following features:
- null check for the delegate object
- direct forwarding of
equals(Object),hashCode()andtoString()to the delegate - implements the Wrapper interface for programmatic extraction
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleaninthashCode()booleanisWrapperFor(Class<?> iface) Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.toString()<T> TReturns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
-
Field Details
-
delegate
-
-
Constructor Details
-
AbstractDecorator
-
-
Method Details
-
isWrapperFor
Description copied from interface:WrapperReturns 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 callingisWrapperForon 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.- Specified by:
isWrapperForin interfaceWrapper- Specified by:
isWrapperForin interfaceWrapper- Parameters:
iface- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
-
unwrap
Description copied from interface:WrapperReturns 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 anIllegalArgumentExceptionis thrown.- Specified by:
unwrapin interfaceWrapper- Specified by:
unwrapin interfaceWrapper- Parameters:
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.
- Throws:
IllegalArgumentException- If no object found that implements the interface
-
equals
-
hashCode
public int hashCode() -
toString
-