View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *      http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  package org.apache.commons.vfs;
    18
    19  /***
    20   * Several standard file selectors.
    21   *
    22   * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
    23   * @version $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
    24   */
    25  public interface Selectors
    26  {
    27      /***
    28       * A {@link FileSelector} that selects only the base file/folder.
    29       */
    30      FileSelector SELECT_SELF = new FileDepthSelector(0, 0);
    31
    32      /***
    33       * A {@link FileSelector} that selects the base file/folder and its
    34       * direct children.
    35       */
    36      FileSelector SELECT_SELF_AND_CHILDREN = new FileDepthSelector(0, 1);
    37
    38      /***
    39       * A {@link FileSelector} that selects only the direct children
    40       * of the base folder.
    41       */
    42      FileSelector SELECT_CHILDREN = new FileDepthSelector(1, 1);
    43
    44      /***
    45       * A {@link FileSelector} that selects all the descendents of the
    46       * base folder, but does not select the base folder itself.
    47       */
    48      FileSelector EXCLUDE_SELF = new FileDepthSelector(1, Integer.MAX_VALUE);
    49
    50      /***
    51       * A {@link FileSelector} that only files (not folders).
    52       */
    53      FileSelector SELECT_FILES = new FileTypeSelector(FileType.FILE);
    54
    55      /***
    56       * A {@link FileSelector} that only folders (not files).
    57       */
    58      FileSelector SELECT_FOLDERS = new FileTypeSelector(FileType.FOLDER);
    59
    60      /***
    61       * A {@link FileSelector} that selects the base file/folder, plus all
    62       * its descendents.
    63       */
    64      FileSelector SELECT_ALL = new AllFileSelector();
    65  }