Package org.apache.commons.configuration2.io

# Class ClasspathLocationStrategy

java.lang.Object
org.apache.commons.configuration2.io.ClasspathLocationStrategy

All Implemented Interfaces:
  `FileLocationStrategy`

public class ClasspathLocationStrategy extends Object implements FileLocationStrategy

A specialized `FileLocationStrategy` implementation which searches for files on the class path.

This strategy implementation ignores the URL and the base path components of the passed in `FileLocator`. It tries to look up the file name on both the class path and the system class path.

Since:
  2.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClasspathLocationStrategy()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `URL`
  `locate(FileSystem fileSystem, FileLocator locator)`
  Tries to locate the specified file.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ClasspathLocationStrategy

    public ClasspathLocationStrategy()
    Constructs a new instance.

- ## Method Details

  - ### locate

    public URL locate(FileSystem fileSystem, FileLocator locator)
    Tries to locate the specified file. The method also expects the `FileSystem` to be used. Note that the `FileLocator` object may also contain a `FileSystem`, but this is optional. The passed in `FileSystem` should be used, and callers must not pass a null reference for this argument. A concrete implementation has to evaluate the properties stored in the `FileLocator` object and try to match them to an existing file. If this can be done, a corresponding URL is returned. Otherwise, result is null. Implementations should not throw an exception (unless parameters are null) as there might be alternative strategies which can find the file in question. This implementation looks up the locator's file name as a resource on the class path.
    Specified by:
      `locate` in interface `FileLocationStrategy`
    Parameters:
      `fileSystem` - the `FileSystem` to be used for this operation
      `locator` - the object describing the file to be located
    Returns:
      a URL pointing to the referenced file if location was successful; null if the file could not be resolved