Class NioChannelDelegateInvocationHandler
- java.lang.Object
-
- org.apache.sshd.common.util.closeable.AutoCloseableDelegateInvocationHandler
-
- org.apache.sshd.common.util.closeable.NioChannelDelegateInvocationHandler
-
- All Implemented Interfaces:
java.lang.reflect.InvocationHandler
public class NioChannelDelegateInvocationHandler extends AutoCloseableDelegateInvocationHandler
Wraps a target instance and aChannel
delegate into a proxy instance that closes both when wrapperclose
method called. TheChannel.isOpen()
call is invoked only on the delegate
-
-
Constructor Summary
Constructors Constructor Description NioChannelDelegateInvocationHandler(java.lang.Object proxyTarget, java.nio.channels.Channel delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.nio.channels.Channel
getChannelDelegate()
java.lang.Object
invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
static boolean
isQueryOpenMethodInvocation(java.lang.reflect.Method m)
static boolean
isQueryOpenMethodInvocation(java.lang.reflect.Method m, java.lang.Object[] args)
static <T extends java.nio.channels.Channel>
TwrapDelegateChannel(java.lang.Object proxyTarget, java.lang.Class<T> type, java.nio.channels.Channel delegate)
Wraps a target instance and aChannel
delegate into a proxy instance that closes both when wrapperclose
method called.-
Methods inherited from class org.apache.sshd.common.util.closeable.AutoCloseableDelegateInvocationHandler
getAutoCloseableDelegate, getProxyTarget, isCloseMethod, isCloseMethodInvocation, wrapDelegateCloseable
-
-
-
-
Method Detail
-
getChannelDelegate
public java.nio.channels.Channel getChannelDelegate()
-
invoke
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
- Specified by:
invoke
in interfacejava.lang.reflect.InvocationHandler
- Overrides:
invoke
in classAutoCloseableDelegateInvocationHandler
- Throws:
java.lang.Throwable
-
wrapDelegateChannel
public static <T extends java.nio.channels.Channel> T wrapDelegateChannel(java.lang.Object proxyTarget, java.lang.Class<T> type, java.nio.channels.Channel delegate)
Wraps a target instance and aChannel
delegate into a proxy instance that closes both when wrapperclose
method called. TheChannel.isOpen()
call is invoked only on the delegate- Type Parameters:
T
- The genericChannel
wrapping interface- Parameters:
proxyTarget
- The (nevernull
) target instance - if notAutoCloseable
then it'sclose()
method will not be invoked (i.e., only the delegate)type
- The target wrapping interfacedelegate
- The (nevernull
) delegate to use. Note: the delegate is closed after the target instance.- Returns:
- The wrapping proxy
-
isQueryOpenMethodInvocation
public static boolean isQueryOpenMethodInvocation(java.lang.reflect.Method m, java.lang.Object[] args)
-
isQueryOpenMethodInvocation
public static boolean isQueryOpenMethodInvocation(java.lang.reflect.Method m)
-
-