Package com.sshtools.common.ui
Class SessionProviderFrame
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
com.sshtools.common.ui.SshToolsApplicationFrame
com.sshtools.common.ui.SessionProviderFrame
- All Implemented Interfaces:
SessionManager
,SshToolsApplicationContainer
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
This frame class embeds a SessionProvider and manages the connection on behalf of the caller. To invoke a session provider from an external application is a straight forward procedure. Assuming that the connection has already been established [see SshClient] you can invoke a frame using the following code:
// Create an SshClient connection SshClient ssh = new SshClient(); // Connection code goes here - see SshClient for more details SessionProviderFrame frame = new SessionProviderFrame(null, new SshToolsConnectionProfile(), ssh, SessionProviderFactory.getInstance().getProvider("sshterm")); frame.pack(); frame.show();
- Version:
- $Id: SessionProviderFrame.java,v 1.9 2003/11/16 19:30:08 rpernavas Exp $
- Author:
- Lee David Painter
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class com.sshtools.common.ui.SshToolsApplicationFrame
aboutAction, exitAction, log, newWindowAction, PREF_LAST_FRAME_GEOMETRY, toolSeparator
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
Constructor Summary
ConstructorsConstructorDescriptionSessionProviderFrame
(SshToolsConnectionProfile profile, SshClient ssh, SessionProvider provider) Construct a new Session Provider frame. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addEventHandler
(SshEventAdapter eventHandler) Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.void
allowChannelOpen
(String channelType, ChannelFactory cf) Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.void
Implementation of the SessionManager method, this does nothing.boolean
canExit()
Called by the application framework when testing exit statevoid
exit()
Called by the framework when exiting.Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.Gets the profile currently attached to the frame.int
Returns the guessed EOL setting of the remote computerImplemenation of the SessionManager method, simply calls the SshClient method getServerId.Get the attached session provider panel.boolean
Initialize the frame and open the remote sessionboolean
Implementation of the SessionManager method, this simply calls the SshClient method isConnected.boolean
openChannel
(Channel channel) Implementation of the SessionManager method, this simply calls the SshClient method openChannel.Implementation of the SessionManager method, simply calls the SshClient openSession method.Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.boolean
Implementation of the SessionManager method, this simply returns false.byte[]
sendGlobalRequest
(String requestname, boolean wantreply, byte[] requestdata) Implementation of the SessionManager method, simply calls the SshClient method sendGlobalRequest.void
setDisconnectOnClose
(boolean disconnectOnClose) When the session closes, should the connection be disconnected?Methods inherited from class com.sshtools.common.ui.SshToolsApplicationFrame
closeContainer, getApplication, getApplicationPanel, init, isContainerVisible, setContainerTitle, setContainerVisible, showAboutBox, showExitAction, showNewWindowAction
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Constructor Details
-
SessionProviderFrame
public SessionProviderFrame(SshToolsConnectionProfile profile, SshClient ssh, SessionProvider provider) throws IOException, SshToolsApplicationException Construct a new Session Provider frame.- Parameters:
app
- The SshToolsApplication instance, can be nullprofile
- The profile of the connectionssh
- the client connectionprovider
- the provider instance- Throws:
IOException
SshToolsApplicationException
-
-
Method Details
-
initFrame
Initialize the frame and open the remote session- Parameters:
app
- the application object, can be null- Returns:
- Throws:
IOException
SshToolsApplicationException
-
getSessionPanel
Get the attached session provider panel.- Returns:
-
getRemoteEOL
public int getRemoteEOL()Returns the guessed EOL setting of the remote computer- Specified by:
getRemoteEOL
in interfaceSessionManager
- Returns:
-
canExit
public boolean canExit()Called by the application framework when testing exit state- Returns:
-
exit
public void exit()Called by the framework when exiting. Can also be called to close the session. -
openSession
Implementation of the SessionManager method, simply calls the SshClient openSession method.- Specified by:
openSession
in interfaceSessionManager
- Returns:
- Throws:
IOException
-
applyProfileChanges
Implementation of the SessionManager method, this does nothing. Overide this method to provide additional functionality to save changes made by the session to the profile.- Specified by:
applyProfileChanges
in interfaceSessionManager
- Parameters:
profile
-
-
setDisconnectOnClose
public void setDisconnectOnClose(boolean disconnectOnClose) When the session closes, should the connection be disconnected?- Parameters:
disconnectOnClose
-
-
openSftpClient
Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.- Specified by:
openSftpClient
in interfaceSessionManager
- Returns:
- Throws:
IOException
-
openChannel
Implementation of the SessionManager method, this simply calls the SshClient method openChannel.- Specified by:
openChannel
in interfaceSessionManager
- Parameters:
channel
-- Returns:
- Throws:
IOException
-
isConnected
public boolean isConnected()Implementation of the SessionManager method, this simply calls the SshClient method isConnected.- Specified by:
isConnected
in interfaceSessionManager
- Returns:
-
requestDisconnect
public boolean requestDisconnect()Implementation of the SessionManager method, this simply returns false. Overide to change this behaviour- Specified by:
requestDisconnect
in interfaceSessionManager
- Returns:
-
getForwardingClient
Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.- Specified by:
getForwardingClient
in interfaceSessionManager
- Returns:
-
sendGlobalRequest
public byte[] sendGlobalRequest(String requestname, boolean wantreply, byte[] requestdata) throws IOException Implementation of the SessionManager method, simply calls the SshClient method sendGlobalRequest.- Specified by:
sendGlobalRequest
in interfaceSessionManager
- Parameters:
requestname
-wantreply
-requestdata
-- Returns:
- Throws:
IOException
-
addEventHandler
Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.- Specified by:
addEventHandler
in interfaceSessionManager
- Parameters:
eventHandler
-
-
getServerId
Implemenation of the SessionManager method, simply calls the SshClient method getServerId.- Specified by:
getServerId
in interfaceSessionManager
- Returns:
-
allowChannelOpen
Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.- Specified by:
allowChannelOpen
in interfaceSessionManager
- Parameters:
channelType
-cf
-- Throws:
IOException
-
getProfile
Gets the profile currently attached to the frame.- Specified by:
getProfile
in interfaceSessionManager
- Returns:
-