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   * An enumerated type to deal with the various cache strategies.
    21   *
    22   * @author <a href="mailto:imario@apache.org">Mario Ivankovits</a>
    23   * @version $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $
    24   */
    25  public final class CacheStrategy
    26  {
    27      /***
    28       * Deal with cached data manually. Call {@link FileObject#refresh()} to refresh the object data.
    29       */
    30      public static final CacheStrategy MANUAL = new CacheStrategy("manual");
    31
    32      /***
    33       * Refresh the data every time you request a file from {@link FileSystemManager#resolveFile}
    34       */
    35      public static final CacheStrategy ON_RESOLVE = new CacheStrategy("onresolve");
    36
    37      /***
    38       * Refresh the data every time you call a method on the fileObject.
    39       * You'll use this only if you really need the latest info as this setting is a major performance loss.
    40       */
    41      public static final CacheStrategy ON_CALL = new CacheStrategy("oncall");
    42
    43      private final String name;
    44
    45      private CacheStrategy(final String name)
    46      {
    47          this.name = name;
    48      }
    49
    50      /***
    51       * Returns the name of the scope.
    52       */
    53      public String toString()
    54      {
    55          return name;
    56      }
    57
    58      /***
    59       * Returns the name of the scope.
    60       */
    61      public String getName()
    62      {
    63          return name;
    64      }
    65  }