Package org.apache.sshd.common.helpers
Class AbstractFactoryManager
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.common.util.closeable.IoBaseCloseable
-
- org.apache.sshd.common.util.closeable.AbstractCloseable
-
- org.apache.sshd.common.util.closeable.AbstractInnerCloseable
-
- org.apache.sshd.common.kex.AbstractKexFactoryManager
-
- org.apache.sshd.common.helpers.AbstractFactoryManager
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Channel,AttributeRepository,AttributeStore,ChannelListenerManager,ChannelStreamWriterResolver,ChannelStreamWriterResolverManager,Closeable,FactoryManager,PortForwardingEventListenerManager,IoServiceEventListenerManager,KexExtensionHandlerManager,KexFactoryManager,PropertyResolver,ReservedSessionMessagesManager,SessionDisconnectHandlerManager,SessionHeartbeatController,SessionListenerManager,UnknownChannelReferenceHandlerManager,SignatureFactoriesHolder,SignatureFactoriesManager
public abstract class AbstractFactoryManager extends AbstractKexFactoryManager implements FactoryManager
- Author:
- Apache MINA SSHD Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
AbstractCloseable.State
-
Nested classes/interfaces inherited from interface org.apache.sshd.common.AttributeRepository
AttributeRepository.AttributeKey<T extends Object>
-
Nested classes/interfaces inherited from interface org.apache.sshd.common.session.SessionHeartbeatController
SessionHeartbeatController.HeartbeatType
-
-
Field Summary
-
Fields inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
closeFuture, futureLock, state
-
Fields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log
-
Fields inherited from interface org.apache.sshd.common.channel.throttle.ChannelStreamWriterResolver
NONE
-
Fields inherited from interface org.apache.sshd.common.FactoryManager
DEFAULT_VERSION
-
Fields inherited from interface org.apache.sshd.common.PropertyResolver
EMPTY
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractFactoryManager()
-
Method Summary
-
Methods inherited from class org.apache.sshd.common.kex.AbstractKexFactoryManager
getCipherFactories, getCompressionFactories, getDelegate, getKexExtensionHandler, getKeyExchangeFactories, getMacFactories, getSignatureFactories, resolveEffectiveFactories, resolveEffectiveProvider, setCipherFactories, setCompressionFactories, setKexExtensionHandler, setKeyExchangeFactories, setMacFactories, setSignatureFactories
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractInnerCloseable
doCloseGracefully, doCloseImmediately, getInnerCloseable
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
addCloseFutureListener, builder, close, getFutureLock, isClosed, isClosing, preClose, removeCloseFutureListener
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.channel.throttle.ChannelStreamWriterResolverManager
resolveChannelStreamWriter, resolveChannelStreamWriterResolver
-
Methods inherited from interface org.apache.sshd.common.FactoryManager
getAgentForwardingFilter, getTcpForwardingFilter, getX11ForwardingFilter, resolveAttribute
-
Methods inherited from interface org.apache.sshd.common.kex.extension.KexExtensionHandlerManager
getKexExtensionHandler, setKexExtensionHandler
-
Methods inherited from interface org.apache.sshd.common.kex.KexFactoryManager
getCipherFactories, getCipherFactoriesNameList, getCipherFactoriesNames, getCompressionFactories, getCompressionFactoriesNameList, getCompressionFactoriesNames, getKeyExchangeFactories, getMacFactories, getMacFactoriesNameList, getMacFactoriesNames, setCipherFactories, setCipherFactoriesNameList, setCipherFactoriesNames, setCipherFactoriesNames, setCompressionFactories, setCompressionFactoriesNameList, setCompressionFactoriesNames, setCompressionFactoriesNames, setKeyExchangeFactories, setMacFactories, setMacFactoriesNameList, setMacFactoriesNames, setMacFactoriesNames
-
Methods inherited from interface org.apache.sshd.common.PropertyResolver
getBoolean, getBooleanProperty, getCharset, getInteger, getIntProperty, getLong, getLongProperty, getObject, getString, getStringProperty, isEmpty
-
Methods inherited from interface org.apache.sshd.common.session.SessionHeartbeatController
disableSessionHeartbeat, getSessionHeartbeatInterval, getSessionHeartbeatType, setSessionHeartbeat, setSessionHeartbeat
-
Methods inherited from interface org.apache.sshd.common.signature.SignatureFactoriesHolder
getSignatureFactories, getSignatureFactoriesNameList, getSignatureFactoriesNames
-
Methods inherited from interface org.apache.sshd.common.signature.SignatureFactoriesManager
setSignatureFactories, setSignatureFactoriesNameList, setSignatureFactoriesNames, setSignatureFactoriesNames
-
-
-
-
Field Detail
-
ioServiceFactoryFactory
protected IoServiceFactoryFactory ioServiceFactoryFactory
-
ioServiceFactory
protected IoServiceFactory ioServiceFactory
-
channelFactories
protected List<? extends ChannelFactory> channelFactories
-
agentFactory
protected SshAgentFactory agentFactory
-
executor
protected ScheduledExecutorService executor
-
shutdownExecutor
protected boolean shutdownExecutor
-
forwarderFactory
protected ForwarderFactory forwarderFactory
-
forwardingFilter
protected ForwardingFilter forwardingFilter
-
fileSystemFactory
protected FileSystemFactory fileSystemFactory
-
serviceFactories
protected List<? extends ServiceFactory> serviceFactories
-
globalRequestHandlers
protected List<RequestHandler<ConnectionService>> globalRequestHandlers
-
sessionTimeoutListener
protected SessionTimeoutListener sessionTimeoutListener
-
timeoutListenerFuture
protected ScheduledFuture<?> timeoutListenerFuture
-
sessionListeners
protected final Collection<SessionListener> sessionListeners
-
sessionListenerProxy
protected final SessionListener sessionListenerProxy
-
channelListeners
protected final Collection<ChannelListener> channelListeners
-
channelListenerProxy
protected final ChannelListener channelListenerProxy
-
tunnelListeners
protected final Collection<PortForwardingEventListener> tunnelListeners
-
tunnelListenerProxy
protected final PortForwardingEventListener tunnelListenerProxy
-
-
Method Detail
-
getIoServiceFactory
public IoServiceFactory getIoServiceFactory()
- Specified by:
getIoServiceFactoryin interfaceFactoryManager
-
getIoServiceFactoryFactory
public IoServiceFactoryFactory getIoServiceFactoryFactory()
-
setIoServiceFactoryFactory
public void setIoServiceFactoryFactory(IoServiceFactoryFactory ioServiceFactory)
-
getIoServiceEventListener
public IoServiceEventListener getIoServiceEventListener()
- Specified by:
getIoServiceEventListenerin interfaceIoServiceEventListenerManager
-
setIoServiceEventListener
public void setIoServiceEventListener(IoServiceEventListener listener)
- Specified by:
setIoServiceEventListenerin interfaceIoServiceEventListenerManager
-
getRandomFactory
public Factory<? extends Random> getRandomFactory()
Description copied from interface:FactoryManagerRetrieve theRandomfactory to be used.- Specified by:
getRandomFactoryin interfaceFactoryManager- Returns:
- The
Randomfactory, nevernull
-
getProperties
public Map<String,Object> getProperties()
- Specified by:
getPropertiesin interfacePropertyResolver
-
getAttributesCount
public int getAttributesCount()
- Specified by:
getAttributesCountin interfaceAttributeRepository
-
getAttribute
public <T> T getAttribute(AttributeRepository.AttributeKey<T> key)
- Specified by:
getAttributein interfaceAttributeRepository
-
attributeKeys
public Collection<AttributeRepository.AttributeKey<?>> attributeKeys()
- Specified by:
attributeKeysin interfaceAttributeRepository
-
computeAttributeIfAbsent
public <T> T computeAttributeIfAbsent(AttributeRepository.AttributeKey<T> key, Function<? super AttributeRepository.AttributeKey<T>,? extends T> resolver)
- Specified by:
computeAttributeIfAbsentin interfaceAttributeStore
-
setAttribute
public <T> T setAttribute(AttributeRepository.AttributeKey<T> key, T value)
- Specified by:
setAttributein interfaceAttributeStore
-
removeAttribute
public <T> T removeAttribute(AttributeRepository.AttributeKey<T> key)
- Specified by:
removeAttributein interfaceAttributeStore
-
clearAttributes
public void clearAttributes()
- Specified by:
clearAttributesin interfaceAttributeStore
-
getParentPropertyResolver
public PropertyResolver getParentPropertyResolver()
- Specified by:
getParentPropertyResolverin interfacePropertyResolver
-
setParentPropertyResolver
public void setParentPropertyResolver(PropertyResolver parent)
-
getVersion
public String getVersion()
Description copied from interface:FactoryManagerAn upper case string identifying the version of the software used on client or server side. This version includes the name and version of the software and usually looks like this:SSHD-CORE-1.0- Specified by:
getVersionin interfaceFactoryManager- Returns:
- the version of the software
-
getChannelFactories
public List<? extends ChannelFactory> getChannelFactories()
Description copied from interface:FactoryManagerRetrieve the list of named factories forChannelobjects.- Specified by:
getChannelFactoriesin interfaceFactoryManager- Returns:
- A list of
ChannelFactory-ies, nevernull
-
setChannelFactories
public void setChannelFactories(List<? extends ChannelFactory> channelFactories)
-
getNioWorkers
public int getNioWorkers()
-
setNioWorkers
public void setNioWorkers(int nioWorkers)
-
getAgentFactory
public SshAgentFactory getAgentFactory()
Description copied from interface:FactoryManagerRetrieve the agent factory for creatingSshAgentobjects.- Specified by:
getAgentFactoryin interfaceFactoryManager- Returns:
- The
SshAgentFactory
-
setAgentFactory
public void setAgentFactory(SshAgentFactory agentFactory)
-
getScheduledExecutorService
public ScheduledExecutorService getScheduledExecutorService()
Description copied from interface:FactoryManagerRetrieve theScheduledExecutorServiceto be used.- Specified by:
getScheduledExecutorServicein interfaceFactoryManager- Returns:
- The
ScheduledExecutorService, nevernull
-
setScheduledExecutorService
public void setScheduledExecutorService(ScheduledExecutorService executor)
-
setScheduledExecutorService
public void setScheduledExecutorService(ScheduledExecutorService executor, boolean shutdownExecutor)
-
getForwarderFactory
public ForwarderFactory getForwarderFactory()
Description copied from interface:FactoryManagerRetrieve the forwarder factory used to support forwarding.- Specified by:
getForwarderFactoryin interfaceFactoryManager- Returns:
- The
ForwarderFactory
-
setForwarderFactory
public void setForwarderFactory(ForwarderFactory forwarderFactory)
-
getForwardingFilter
public ForwardingFilter getForwardingFilter()
Description copied from interface:FactoryManagerRetrieve theForwardingFilterto be used by the SSH server. If no filter has been configured (i.e. this method returnsnull), then all forwarding requests will be rejected.- Specified by:
getForwardingFilterin interfaceFactoryManager- Returns:
- The
ForwardingFilterornull
-
setForwardingFilter
public void setForwardingFilter(ForwardingFilter forwardingFilter)
-
getFileSystemFactory
public FileSystemFactory getFileSystemFactory()
Description copied from interface:FactoryManagerRetrieve theFileSystemFactoryto be used to traverse the file system.- Specified by:
getFileSystemFactoryin interfaceFactoryManager- Returns:
- a valid
FileSystemFactoryinstance ornullif file based interactions are not supported on this server
-
setFileSystemFactory
public void setFileSystemFactory(FileSystemFactory fileSystemFactory)
-
getServiceFactories
public List<? extends ServiceFactory> getServiceFactories()
Description copied from interface:FactoryManagerRetrieve the list of SSHServicefactories.- Specified by:
getServiceFactoriesin interfaceFactoryManager- Returns:
- a list of named
Servicefactories, nevernull
-
setServiceFactories
public void setServiceFactories(List<? extends ServiceFactory> serviceFactories)
-
getGlobalRequestHandlers
public List<RequestHandler<ConnectionService>> getGlobalRequestHandlers()
Description copied from interface:FactoryManagerRetrieve the list of global request handlers.- Specified by:
getGlobalRequestHandlersin interfaceFactoryManager- Returns:
- a list of named
GlobalRequestHandler
-
setGlobalRequestHandlers
public void setGlobalRequestHandlers(List<RequestHandler<ConnectionService>> globalRequestHandlers)
-
getReservedSessionMessagesHandler
public ReservedSessionMessagesHandler getReservedSessionMessagesHandler()
- Specified by:
getReservedSessionMessagesHandlerin interfaceReservedSessionMessagesManager- Returns:
- The currently registered
ReservedSessionMessagesHandler- may benull
-
setReservedSessionMessagesHandler
public void setReservedSessionMessagesHandler(ReservedSessionMessagesHandler handler)
- Specified by:
setReservedSessionMessagesHandlerin interfaceReservedSessionMessagesManager- Parameters:
handler- TheReservedSessionMessagesHandlerto use - may benull
-
getSessionDisconnectHandler
public SessionDisconnectHandler getSessionDisconnectHandler()
- Specified by:
getSessionDisconnectHandlerin interfaceSessionDisconnectHandlerManager
-
setSessionDisconnectHandler
public void setSessionDisconnectHandler(SessionDisconnectHandler sessionDisconnectHandler)
- Specified by:
setSessionDisconnectHandlerin interfaceSessionDisconnectHandlerManager
-
getChannelStreamWriterResolver
public ChannelStreamWriterResolver getChannelStreamWriterResolver()
- Specified by:
getChannelStreamWriterResolverin interfaceChannelStreamWriterResolverManager
-
setChannelStreamWriterResolver
public void setChannelStreamWriterResolver(ChannelStreamWriterResolver resolver)
- Specified by:
setChannelStreamWriterResolverin interfaceChannelStreamWriterResolverManager
-
getUnknownChannelReferenceHandler
public UnknownChannelReferenceHandler getUnknownChannelReferenceHandler()
- Specified by:
getUnknownChannelReferenceHandlerin interfaceUnknownChannelReferenceHandlerManager- Returns:
- The
UnknownChannelReferenceHandlerManagerto use - ifnullthen any reference to unknown channel causes anSshChannelNotFoundException
-
setUnknownChannelReferenceHandler
public void setUnknownChannelReferenceHandler(UnknownChannelReferenceHandler unknownChannelReferenceHandler)
- Specified by:
setUnknownChannelReferenceHandlerin interfaceUnknownChannelReferenceHandlerManager- Parameters:
unknownChannelReferenceHandler- TheUnknownChannelReferenceHandlerManagerto use - ifnullthen any reference to unknown channel causes anSshChannelNotFoundException
-
resolveUnknownChannelReferenceHandler
public UnknownChannelReferenceHandler resolveUnknownChannelReferenceHandler()
Description copied from interface:UnknownChannelReferenceHandlerManagerCheck if current manager has a specific handler set for it - if not, try and resolve one from the "parent" container (if any)- Specified by:
resolveUnknownChannelReferenceHandlerin interfaceUnknownChannelReferenceHandlerManager- Returns:
- The resolved handler instance
-
addSessionListener
public void addSessionListener(SessionListener listener)
Description copied from interface:SessionListenerManagerAdd a session listener.- Specified by:
addSessionListenerin interfaceSessionListenerManager- Parameters:
listener- TheSessionListenerto add - notnull
-
removeSessionListener
public void removeSessionListener(SessionListener listener)
Description copied from interface:SessionListenerManagerRemove a session listener.- Specified by:
removeSessionListenerin interfaceSessionListenerManager- Parameters:
listener- TheSessionListenerto remove
-
getSessionListenerProxy
public SessionListener getSessionListenerProxy()
- Specified by:
getSessionListenerProxyin interfaceSessionListenerManager- Returns:
- A (never
nullproxySessionListenerthat represents all the currently registered listeners. Any method invocation on the proxy is replicated to the currently registered listeners
-
addChannelListener
public void addChannelListener(ChannelListener listener)
Description copied from interface:ChannelListenerManagerAdd a channel listener- Specified by:
addChannelListenerin interfaceChannelListenerManager- Parameters:
listener- TheChannelListenerto add - notnull
-
removeChannelListener
public void removeChannelListener(ChannelListener listener)
Description copied from interface:ChannelListenerManagerRemove a channel listener- Specified by:
removeChannelListenerin interfaceChannelListenerManager- Parameters:
listener- TheChannelListenerto remove
-
getChannelListenerProxy
public ChannelListener getChannelListenerProxy()
- Specified by:
getChannelListenerProxyin interfaceChannelListenerManager- Returns:
- A (never
nullproxyChannelListenerthat represents all the currently registered listeners. Any method invocation on the proxy is replicated to the currently registered listeners
-
getPortForwardingEventListenerProxy
public PortForwardingEventListener getPortForwardingEventListenerProxy()
- Specified by:
getPortForwardingEventListenerProxyin interfacePortForwardingEventListenerManager- Returns:
- A proxy listener representing all the currently registered listener through this manager
-
addPortForwardingEventListener
public void addPortForwardingEventListener(PortForwardingEventListener listener)
Description copied from interface:PortForwardingEventListenerManagerAdd a port forwarding listener- Specified by:
addPortForwardingEventListenerin interfacePortForwardingEventListenerManager- Parameters:
listener- ThePortForwardingEventListenerto add - nevernull
-
removePortForwardingEventListener
public void removePortForwardingEventListener(PortForwardingEventListener listener)
Description copied from interface:PortForwardingEventListenerManagerRemove a port forwarding listener- Specified by:
removePortForwardingEventListenerin interfacePortForwardingEventListenerManager- Parameters:
listener- ThePortForwardingEventListenerto remove - ignored ifnull
-
setupSessionTimeout
protected void setupSessionTimeout(AbstractSessionFactory<?,?> sessionFactory)
-
removeSessionTimeout
protected void removeSessionTimeout(AbstractSessionFactory<?,?> sessionFactory)
-
createSessionTimeoutListener
protected SessionTimeoutListener createSessionTimeoutListener()
-
stopSessionTimeoutListener
protected void stopSessionTimeoutListener(AbstractSessionFactory<?,?> sessionFactory)
-
checkConfig
protected void checkConfig()
-
-