//***************************************************************************** //* //* (c) Copyright 2002. Glub Tech, Incorporated. All Rights Reserved. //* //* $Id: FTPSessionManager.java 37 2009-05-11 22:46:15Z gary $ //* //***************************************************************************** package com.glub.secureftp.client.framework; import java.util.*; public class FTPSessionManager extends ArrayList { protected static final long serialVersionUID = 1L; private int currentSessionIndex = -1; private static FTPSessionManager mgr = new FTPSessionManager(); private FTPSessionManager() { super(); } public static FTPSessionManager getInstance() { return mgr; } public void addSession( FTPSession session ) { add( session ); setCurrentSession( size() - 1 ); } public FTPSession getSession( int index ) { if ( size() == 0 ) { return null; } else { return (FTPSession)get( index ); } } public void setCurrentSession( int index ) { currentSessionIndex = index; } public FTPSession getCurrentSession() { if ( currentSessionIndex < 0 ) { return null; } else if ( currentSessionIndex >= size() ) { currentSessionIndex--; } return getSession( currentSessionIndex ); } public int getCurrentSessionIndex() { return currentSessionIndex; } public void removeCurrentSession() { if ( size() > 0 ) { remove( currentSessionIndex ); setCurrentSession( currentSessionIndex ); } } public boolean hasOpenSessions() { return ( size() > 0 ); } public int getNumberOfOpenSessions() { return size(); } }