You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by mc...@apache.org on 2004/07/09 05:28:47 UTC

cvs commit: james-server/src/java/org/apache/james/util/io AndFileFilter.java DirectoryFileFilter.java InvertedFileFilter.java

mcconnell    2004/07/08 20:28:47

  Added:       src/java/org/apache/james/util/io AndFileFilter.java
                        DirectoryFileFilter.java InvertedFileFilter.java
  Log:
  Add three utility file filters.  These sources are copied from the long since deprricated excalibur.io package and collectively make up the set of excalibur.io dependnecies not already covered by cornerstone store.
  
  Revision  Changes    Path
  1.1                  james-server/src/java/org/apache/james/util/io/AndFileFilter.java
  
  Index: AndFileFilter.java
  ===================================================================
  /* 
   * Copyright 2002-2004 The Apache Software Foundation
   * Licensed  under the  Apache License,  Version 2.0  (the "License");
   * you may not use  this file  except in  compliance with the License.
   * You may obtain a copy of the License at 
   * 
   *   http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed  under the  License is distributed on an "AS IS" BASIS,
   * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
   * implied.
   * 
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.james.util.io;
  
  import java.io.File;
  import java.io.FilenameFilter;
  
  /**
   * Accepts a selection if it is acceptable to both of two {@link FilenameFilter}s.
   * This takes two {@link FilenameFilter}s as input.
   *
   * <p>Eg., to print all files beginning with <code>A</code> and ending with <code>.java</code>:</p>
   *
   * <pre>
   * File dir = new File(".");
   * String[] files = dir.list( new AndFileFilter(
   *         new PrefixFileFilter("A"),
   *         new ExtensionFileFilter(".java")
   *         )
   *     );
   * for ( int i=0; i&lt;files.length; i++ )
   * {
   *     System.out.println(files[i]);
   * }
   * </pre>
   *
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   * @version $Revision: 1.1 $ $Date: 2004/07/09 03:28:47 $
   * @since 4.0
   */
  public class AndFileFilter
      implements FilenameFilter
  {
      private final FilenameFilter m_filter1;
      private final FilenameFilter m_filter2;
  
      public AndFileFilter( final FilenameFilter filter1, final FilenameFilter filter2 )
      {
          m_filter1 = filter1;
          m_filter2 = filter2;
      }
  
      public boolean accept( final File file, final String name )
      {
          return m_filter1.accept( file, name ) && m_filter2.accept( file, name );
      }
  }
  
  
  
  
  
  1.1                  james-server/src/java/org/apache/james/util/io/DirectoryFileFilter.java
  
  Index: DirectoryFileFilter.java
  ===================================================================
  /* 
   * Copyright 2002-2004 The Apache Software Foundation
   * Licensed  under the  Apache License,  Version 2.0  (the "License");
   * you may not use  this file  except in  compliance with the License.
   * You may obtain a copy of the License at 
   * 
   *   http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed  under the  License is distributed on an "AS IS" BASIS,
   * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
   * implied.
   * 
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.james.util.io;
  
  import java.io.File;
  import java.io.FilenameFilter;
  
  /**
   * This filter accepts <code>File</code>s that are directories.
   * <p>Eg., here is how to print out a list of the current directory's subdirectories:</p>
   *
   * <pre>
   * File dir = new File(".");
   * String[] files = dir.list( new DirectoryFileFilter() );
   * for ( int i=0; i&lt;files.length; i++ )
   * {
   *     System.out.println(files[i]);
   * }
   * </pre>
   *
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   * @version $Revision: 1.1 $ $Date: 2004/07/09 03:28:47 $
   * @since 4.0
   */
  public class DirectoryFileFilter
      implements FilenameFilter
  {
      public boolean accept( final File file, final String name )
      {
          return new File( file, name ).isDirectory();
      }
  }
  
  
  
  
  
  1.1                  james-server/src/java/org/apache/james/util/io/InvertedFileFilter.java
  
  Index: InvertedFileFilter.java
  ===================================================================
  /* 
   * Copyright 2002-2004 The Apache Software Foundation
   * Licensed  under the  Apache License,  Version 2.0  (the "License");
   * you may not use  this file  except in  compliance with the License.
   * You may obtain a copy of the License at 
   * 
   *   http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed  under the  License is distributed on an "AS IS" BASIS,
   * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
   * implied.
   * 
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.james.util.io;
  
  import java.io.File;
  import java.io.FilenameFilter;
  
  /**
   * This takes a <code>FilenameFilter<code> as input and inverts the selection.
   * This is used in retrieving files that are not accepted by a filter.
   *
   * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
   * @version CVS $Revision: 1.1 $ $Date: 2004/07/09 03:28:47 $
   * @since 4.0
   */
  public class InvertedFileFilter
      implements FilenameFilter
  {
      private final FilenameFilter m_originalFilter;
  
      public InvertedFileFilter( final FilenameFilter originalFilter )
      {
          m_originalFilter = originalFilter;
      }
  
      public boolean accept( final File file, final String name )
      {
          return !m_originalFilter.accept( file, name );
      }
  }
  
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org