org.apache.cayenne.resource

## Class FilesystemResourceLocator

- java.lang.Object
- - org.apache.cayenne.resource.FilesystemResourceLocator

- All Implemented Interfaces:
    ResourceLocator

      public class FilesystemResourceLocator
      extends Object
      implements ResourceLocator

  A `ResourceLocator` that can locate resources in the filesystem. Instances of `FilesystemResourceLocator` are explicitly created by the user and then bound to a DI registry. E.g.:

       class MyModule implements Module {

           public void configure(Binder binder) {
              File dir1 = ...
              File dir2 = ...
              binder.bind(ResourceLocator.class).
                 toInstance(new FilesystemResourceLocator(dir1, dir2);
           }

  Since:
    3.1

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected File[]` | `roots`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FilesystemResourceLocator(Collection<File> roots)` Creates a new `FilesystemResourceLocator`, using a collection of base locations.
    `FilesystemResourceLocator(File... roots)` Creates a new `FilesystemResourceLocator`, using an array of base locations ("roots").

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<Resource>` | `findResources(String name)` Finds a collection of matching resources for a given name.

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

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

- - ### Field Detail

    - #### roots

          protected File[] roots

  - ### Constructor Detail

    - #### FilesystemResourceLocator

          public FilesystemResourceLocator(File... roots)

      Creates a new `FilesystemResourceLocator`, using an array of base locations ("roots"). If a location is a file, its parent directory is used for resolving. If location is a directory, it is used as is. If no locations are specified, current application directory is used as a single base.

    - #### FilesystemResourceLocator

          public FilesystemResourceLocator(Collection<File> roots)

      Creates a new `FilesystemResourceLocator`, using a collection of base locations. If a location is a file, its parent directory is used for resolving. If location is a directory, it is used as is. If no locations are specified, current application directory is used as a single base.

  - ### Method Detail

    - #### findResources

          public Collection<Resource> findResources(String name)

      Description copied from interface: `ResourceLocator`
      Finds a collection of matching resources for a given name. The name components must be separated by forward slashes.
      Specified by:
        `findResources` in interface `ResourceLocator`

Copyright © 2001–2023 Apache Cayenne. All rights reserved.