Class SessionProviderFrame

  • All Implemented Interfaces:
    SessionManager, SshToolsApplicationContainer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class SessionProviderFrame
    extends SshToolsApplicationFrame
    implements SessionManager

    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:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addEventHandler​(SshEventAdapter eventHandler)
      Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.
      void allowChannelOpen​(java.lang.String channelType, ChannelFactory cf)
      Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.
      void applyProfileChanges​(SshToolsConnectionProfile profile)
      Implementation of the SessionManager method, this does nothing.
      boolean canExit()
      Called by the application framework when testing exit state
      void exit()
      Called by the framework when exiting.
      ForwardingClient getForwardingClient()
      Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.
      SshToolsConnectionProfile getProfile()
      Gets the profile currently attached to the frame.
      int getRemoteEOL()
      Returns the guessed EOL setting of the remote computer
      java.lang.String getServerId()
      Implemenation of the SessionManager method, simply calls the SshClient method getServerId.
      SshToolsApplicationSessionPanel getSessionPanel()
      Get the attached session provider panel.
      boolean initFrame​(SshToolsApplication app)
      Initialize the frame and open the remote session
      boolean isConnected()
      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.
      SessionChannelClient openSession()
      Implementation of the SessionManager method, simply calls the SshClient openSession method.
      SftpClient openSftpClient()
      Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.
      boolean requestDisconnect()
      Implementation of the SessionManager method, this simply returns false.
      byte[] sendGlobalRequest​(java.lang.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 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
    • Method Detail

      • getRemoteEOL

        public int getRemoteEOL()
        Returns the guessed EOL setting of the remote computer
        Specified by:
        getRemoteEOL in interface SessionManager
        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

        public SessionChannelClient openSession()
                                         throws java.io.IOException
        Implementation of the SessionManager method, simply calls the SshClient openSession method.
        Specified by:
        openSession in interface SessionManager
        Returns:
        Throws:
        java.io.IOException
      • applyProfileChanges

        public void applyProfileChanges​(SshToolsConnectionProfile profile)
        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 interface SessionManager
        Parameters:
        profile -
      • setDisconnectOnClose

        public void setDisconnectOnClose​(boolean disconnectOnClose)
        When the session closes, should the connection be disconnected?
        Parameters:
        disconnectOnClose -
      • openSftpClient

        public SftpClient openSftpClient()
                                  throws java.io.IOException
        Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.
        Specified by:
        openSftpClient in interface SessionManager
        Returns:
        Throws:
        java.io.IOException
      • openChannel

        public boolean openChannel​(Channel channel)
                            throws java.io.IOException
        Implementation of the SessionManager method, this simply calls the SshClient method openChannel.
        Specified by:
        openChannel in interface SessionManager
        Parameters:
        channel -
        Returns:
        Throws:
        java.io.IOException
      • isConnected

        public boolean isConnected()
        Implementation of the SessionManager method, this simply calls the SshClient method isConnected.
        Specified by:
        isConnected in interface SessionManager
        Returns:
      • requestDisconnect

        public boolean requestDisconnect()
        Implementation of the SessionManager method, this simply returns false. Overide to change this behaviour
        Specified by:
        requestDisconnect in interface SessionManager
        Returns:
      • sendGlobalRequest

        public byte[] sendGlobalRequest​(java.lang.String requestname,
                                        boolean wantreply,
                                        byte[] requestdata)
                                 throws java.io.IOException
        Implementation of the SessionManager method, simply calls the SshClient method sendGlobalRequest.
        Specified by:
        sendGlobalRequest in interface SessionManager
        Parameters:
        requestname -
        wantreply -
        requestdata -
        Returns:
        Throws:
        java.io.IOException
      • addEventHandler

        public void addEventHandler​(SshEventAdapter eventHandler)
        Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.
        Specified by:
        addEventHandler in interface SessionManager
        Parameters:
        eventHandler -
      • getServerId

        public java.lang.String getServerId()
        Implemenation of the SessionManager method, simply calls the SshClient method getServerId.
        Specified by:
        getServerId in interface SessionManager
        Returns:
      • allowChannelOpen

        public void allowChannelOpen​(java.lang.String channelType,
                                     ChannelFactory cf)
                              throws java.io.IOException
        Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.
        Specified by:
        allowChannelOpen in interface SessionManager
        Parameters:
        channelType -
        cf -
        Throws:
        java.io.IOException