001package com.hfg.util.io;
002
003import java.util.Calendar;
004import java.util.Date;
005import java.util.GregorianCalendar;
006
007
008
009//------------------------------------------------------------------------------
010/**
011 * Remote file filter for selecting files newer than the specified date.
012 *
013 * @author J. Alex Taylor, hairyfatguy.com
014 */
015//------------------------------------------------------------------------------
016// com.hfg XML/HTML Coding Library
017//
018// This library is free software; you can redistribute it and/or
019// modify it under the terms of the GNU Lesser General Public
020// License as published by the Free Software Foundation; either
021// version 2.1 of the License, or (at your option) any later version.
022//
023// This library is distributed in the hope that it will be useful,
024// but WITHOUT ANY WARRANTY; without even the implied warranty of
025// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
026// Lesser General Public License for more details.
027//
028// You should have received a copy of the GNU Lesser General Public
029// License along with this library; if not, write to the Free Software
030// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
031//
032// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
033// jataylor@hairyfatguy.com
034//------------------------------------------------------------------------------
035
036public class RemoteFileNewerThanFilter implements RemoteFileFilter
037{
038
039   //###########################################################################
040   // PRIVATE FIELDS
041   //###########################################################################
042
043   private Calendar mCalendar;
044
045
046   //###########################################################################
047   // CONSTRUCTORS
048   //###########################################################################
049
050
051   //---------------------------------------------------------------------------
052   public RemoteFileNewerThanFilter(Calendar inCalendar)
053   {
054      mCalendar = inCalendar;
055   }
056
057   //---------------------------------------------------------------------------
058   public RemoteFileNewerThanFilter(Date inDate)
059   {
060      mCalendar = new GregorianCalendar();
061      mCalendar.setTime(inDate);
062   }
063
064
065   //###########################################################################
066   // PUBLIC METHODS
067   //###########################################################################
068
069   //---------------------------------------------------------------------------
070   public boolean accept(RemoteFile inRemoteFile)
071   {
072      if (mCalendar.getTimeInMillis() < inRemoteFile.getTimestamp().getTimeInMillis()) return true;
073
074      return false;
075   }
076}