001         package com.croftsoft.core.util.filemap;
002    
003         import java.io.*;
004         import java.util.*;
005    
006         /*********************************************************************
007         * This Set is required for the AbstractMap implementation of
008         * FileMap.
009         *
010         * @see
011         *   FileMap
012         * @see
013         *   java.util.AbstractSet
014         *
015         * @version
016         *   1999-04-03
017         * @author
018         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
019         *********************************************************************/
020    
021         public class  FileMapEntrySet extends AbstractSet
022         //////////////////////////////////////////////////////////////////////
023         //////////////////////////////////////////////////////////////////////
024         {
025    
026         private File  rootDirectory;
027    
028         //////////////////////////////////////////////////////////////////////
029         //////////////////////////////////////////////////////////////////////
030    
031         public  FileMapEntrySet ( File  rootDirectory )
032         //////////////////////////////////////////////////////////////////////
033         {
034           this.rootDirectory = rootDirectory;
035         }
036    
037         //////////////////////////////////////////////////////////////////////
038         //////////////////////////////////////////////////////////////////////
039    
040         public Iterator  iterator ( )
041         //////////////////////////////////////////////////////////////////////
042         {
043           return new FileMapEntryIterator ( rootDirectory );
044         }
045    
046         public int  size ( )
047         //////////////////////////////////////////////////////////////////////
048         {
049           String [ ]  files = rootDirectory.list ( );
050    
051           if ( files == null ) return 0;
052    
053           return files.length;
054         }
055    
056         //////////////////////////////////////////////////////////////////////
057         //////////////////////////////////////////////////////////////////////
058         }