001package com.hfg.util.io;
002
003import com.hfg.security.LoginCredentials;
004
005import java.util.List;
006
007
008//------------------------------------------------------------------------------
009/**
010 * Interface for gathering remote files.
011 *
012 * @author J. Alex Taylor, hairyfatguy.com
013 */
014//------------------------------------------------------------------------------
015// com.hfg XML/HTML Coding Library
016//
017// This library is free software; you can redistribute it and/or
018// modify it under the terms of the GNU Lesser General Public
019// License as published by the Free Software Foundation; either
020// version 2.1 of the License, or (at your option) any later version.
021//
022// This library is distributed in the hope that it will be useful,
023// but WITHOUT ANY WARRANTY; without even the implied warranty of
024// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
025// Lesser General Public License for more details.
026//
027// You should have received a copy of the GNU Lesser General Public
028// License along with this library; if not, write to the Free Software
029// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
030//
031// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
032// jataylor@hairyfatguy.com
033//------------------------------------------------------------------------------
034
035public interface RemoteFileLister
036{
037
038   //###########################################################################
039   // PUBLIC METHODS
040   //###########################################################################
041
042   //---------------------------------------------------------------------------
043   public abstract String getProtocol();
044
045   //---------------------------------------------------------------------------
046   public void setFilePath(String inValue);
047
048   //---------------------------------------------------------------------------
049   public String getFilePath();
050
051
052   //---------------------------------------------------------------------------
053   public List<? extends RemoteFile> getFilteredRemoteFileList();
054
055
056   //---------------------------------------------------------------------------
057   public List<? extends RemoteFile> getUnfilteredRemoteFileList();
058
059
060   //---------------------------------------------------------------------------
061   public void setFilterList(List<RemoteFileFilter> inRemoteFileFilters);
062
063
064   //---------------------------------------------------------------------------
065   public void addFilter(RemoteFileFilter inRemoteFileFilter);
066
067
068   //---------------------------------------------------------------------------
069   public List<RemoteFileFilter> getFilterList();
070
071   //---------------------------------------------------------------------------
072   public RemoteFileLister setCredentials(LoginCredentials inValue);
073
074   //---------------------------------------------------------------------------
075   public RemoteFileLister setReturnOnlyMostRecentFile(boolean inValue);
076
077}