public class ScpCommandFactory extends AbstractDelegatingCommandFactory implements ManagedExecutorServiceSupplier, ScpFileOpenerHolder, Cloneable, ShellFactory, ShellFactorySelector
CommandFactory
can be used as a standalone command factory or can be used to augment another
CommandFactory
and provides SCP
support.ScpCommand
,
ScpShell
Modifier and Type | Class and Description |
---|---|
static class |
ScpCommandFactory.Builder
A useful
ObjectBuilder for ScpCommandFactory |
Modifier and Type | Field and Description |
---|---|
static String |
SCP_FACTORY_NAME |
log
Constructor and Description |
---|
ScpCommandFactory() |
createCommand, createUnsupportedCommand, getDelegateCommandFactory, setDelegateCommandFactory, toString
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
resolveExecutorService
selectShellFactory
split
public static final String SCP_FACTORY_NAME
public ScpFileOpener getScpFileOpener()
getScpFileOpener
in interface ScpFileOpenerHolder
ScpFileOpener
set via call to ScpFileOpenerHolder.setScpFileOpener(ScpFileOpener)
public void setScpFileOpener(ScpFileOpener fileOpener)
setScpFileOpener
in interface ScpFileOpenerHolder
fileOpener
- The default ScpFileOpener
to use - if null
then a default opener is usedpublic Supplier<? extends CloseableExecutorService> getExecutorServiceProvider()
getExecutorServiceProvider
in interface ExecutorServiceProvider
Supplier
of CloseableExecutorService
to be used when asynchronous execution required.
If null
then a single-threaded ad-hoc service is used.public void setExecutorServiceProvider(Supplier<? extends CloseableExecutorService> provider)
setExecutorServiceProvider
in interface ManagedExecutorServiceSupplier
provider
- The Supplier
of CloseableExecutorService
-s to be used when asynchronous execution
is required. If null
then a single-threaded ad-hoc service is used.public int getSendBufferSize()
public void setSendBufferSize(int sendSize)
sendSize
- Size (in bytes) of buffer to use when sending filesScpHelper.MIN_SEND_BUFFER_SIZE
public int getReceiveBufferSize()
public void setReceiveBufferSize(int receiveSize)
receiveSize
- Size (in bytes) of buffer to use when receiving filesScpHelper.MIN_RECEIVE_BUFFER_SIZE
public boolean addEventListener(ScpTransferEventListener listener)
listener
- The ScpTransferEventListener
to addtrue
if this is a new listener instance, false
if the
listener is already registeredIllegalArgumentException
- if null
listenerpublic boolean removeEventListener(ScpTransferEventListener listener)
listener
- The ScpTransferEventListener
to removetrue
if the listener was registered and removed, false
if the
listener was not registered to begin withIllegalArgumentException
- if null
listenerpublic boolean isSupportedCommand(ChannelSession channel, String command)
isSupportedCommand
in class AbstractDelegatingCommandFactory
channel
- The ChannelSession
through which the command was receivedcommand
- The command about to be executedtrue
if this command is supported by the command factory, false
if it will be
passed on to the delegate
factoryprotected Command executeSupportedCommand(ChannelSession channel, String command)
executeSupportedCommand
in class AbstractDelegatingCommandFactory
public ShellFactory getDelegateShellFactory()
ShellFactory
to use if selectShellFactory(ChannelSession)
decides not to
use itself as the ShellFactory
- default=InteractiveProcessShellFactory
.setDelegateShellFactory(ShellFactory)
public void setDelegateShellFactory(ShellFactory delegateShellFactory)
delegateShellFactory
- The ShellFactory
to use if selectShellFactory(ChannelSession)
decides not to use itself as the ShellFactory
. If null
then it will
always decide to use itself regardless of the ChannelSession
selectShellFactory(ChannelSession)
public ShellFactory selectShellFactory(ChannelSession channelSession) throws IOException
selectShellFactory
in interface ShellFactorySelector
channelSession
- The ChannelSession
ShellFactory
to use for the channel - null
if noneIOException
- If failed the selectionpublic Command createShell(ChannelSession channel) throws IOException
createShell
in interface ShellFactory
channel
- The ChannelSession
through which the command has been receivedCommand
representing the shell to be executedIOException
- If failed to create the shellprotected CloseableExecutorService resolveExecutorService(String command)
public ScpCommandFactory clone()
Copyright © 2008–2024 The Apache Software Foundation. All rights reserved.