View Javadoc

1   /**
2      This file is part of GoldenGate Project (named also GoldenGate or GG).
3   
4      Copyright 2009, Frederic Bregier, and individual contributors by the @author
5      tags. See the COPYRIGHT.txt in the distribution for a full listing of
6      individual contributors.
7   
8      All GoldenGate Project is free software: you can redistribute it and/or 
9      modify it under the terms of the GNU General Public License as published 
10     by the Free Software Foundation, either version 3 of the License, or
11     (at your option) any later version.
12  
13     GoldenGate is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     GNU General Public License for more details.
17  
18     You should have received a copy of the GNU General Public License
19     along with GoldenGate .  If not, see <http://www.gnu.org/licenses/>.
20   */
21  package goldengate.common.file.filesystembased.specific;
22  
23  import java.io.FileFilter;
24  import java.io.IOException;
25  
26  import org.apache.commons.io.FileSystemUtils;
27  import org.apache.commons.io.filefilter.WildcardFileFilter;
28  
29  /**
30   * This class enables to not set a dependencies on Apache Commons IO if wanted,
31   * but loosing freespace and wildcard support.
32   *
33   * @author Frederic Bregier
34   *
35   */
36  public class FilesystemBasedCommonsIo {
37  
38      /**
39       *
40       * @param pathname
41       * @return the free space of the given pathname
42       */
43      public static long freeSpace(String pathname) {
44          try {
45              return FileSystemUtils.freeSpaceKb(pathname) << 10;
46          } catch (IOException e) {
47              return -1;
48          }
49      }
50  
51      /**
52       *
53       * @param dir
54       * @return The associated FileFilter
55       */
56      public static FileFilter getWildcardFileFilter(String dir) {
57          return new WildcardFileFilter(dir);
58      }
59  }