Package org.flywaydb.core.api

## Class Location

- java.lang.Object
- - org.flywaydb.core.api.Location

- All Implemented Interfaces:
    `java.lang.Comparable<Location>`

      public final class Location
      extends java.lang.Object
      implements java.lang.Comparable<Location>

  A location to load migrations from.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `FILESYSTEM_PREFIX` | The prefix for filesystem locations.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Location​(java.lang.String descriptor)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(Location o)` |
    `boolean` | `equals​(java.lang.Object o)` |
    `java.lang.String` | `getDescriptor()` |
    `java.lang.String` | `getPath()` |
    `java.util.regex.Pattern` | `getPathRegex()` |
    `java.lang.String` | `getPathRelativeToThis​(java.lang.String path)` | Returns the path relative to this location.
    `java.lang.String` | `getPrefix()` |
    `java.lang.String` | `getRootPath()` | The first folder in the path.
    `int` | `hashCode()` |
    `boolean` | `isAwsS3()` | Checks whether this denotes a location in AWS S3.
    `boolean` | `isClassPath()` | Checks whether this denotes a location on the classpath.
    `boolean` | `isFileSystem()` | Checks whether this denotes a location on the filesystem.
    `boolean` | `isGCS()` | Checks whether this denotes a location in Google cloud storage.
    `boolean` | `isParentOf​(Location other)` | Checks whether this location is a parent of this other location.
    `boolean` | `matchesPath​(java.lang.String path)` |
    `java.lang.String` | `toString()` |

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### FILESYSTEM_PREFIX

          public static final java.lang.String FILESYSTEM_PREFIX

      The prefix for filesystem locations.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Location

          public Location​(java.lang.String descriptor)

  - ### Method Detail

    - #### matchesPath

          public boolean matchesPath​(java.lang.String path)

      Returns:
        Whether the given path matches this locations regex. Will always return true when the location did not contain any wildcards.

    - #### getPathRelativeToThis

          public java.lang.String getPathRelativeToThis​(java.lang.String path)

      Returns the path relative to this location. If the location path contains wildcards, the returned path will be relative to the last non-wildcard folder in the path.

    - #### isClassPath

          public boolean isClassPath()

      Checks whether this denotes a location on the classpath.
      Returns:
        `true` if it does, `false` if it doesn't.

    - #### isFileSystem

          public boolean isFileSystem()

      Checks whether this denotes a location on the filesystem.
      Returns:
        `true` if it does, `false` if it doesn't.

    - #### isAwsS3

          public boolean isAwsS3()

      Checks whether this denotes a location in AWS S3.
      Returns:
        `true` if it does, `false` if it doesn't;

    - #### isGCS

          public boolean isGCS()

      Checks whether this denotes a location in Google cloud storage.
      Returns:
        `true` if it does, `false` if it doesn't;

    - #### isParentOf

          public boolean isParentOf​(Location other)

      Checks whether this location is a parent of this other location.
      Parameters:
        `other` - The other location.
      Returns:
        `true` if it is, `false` if it isn't.

    - #### getPath

          public java.lang.String getPath()

      Returns:
        The path part of the location.

    - #### getDescriptor

          public java.lang.String getDescriptor()

      Returns:
        The complete location descriptor.

    - #### compareTo

          public int compareTo​(Location o)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<Location>`

    - #### equals

          public boolean equals​(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        The complete location descriptor.

    - #### getPrefix

          public java.lang.String getPrefix()

      Returns:
        The prefix part of the location. Can be either classpath: or filesystem:.

    - #### getRootPath

          public java.lang.String getRootPath()

      The first folder in the path. This will equal rawPath if the path does not contain any wildcards
      Returns:
        The root part of the path part of the location.

    - #### getPathRegex

          public java.util.regex.Pattern getPathRegex()

      Returns:
        The regex that matches wildcards in the original path. Null if the original path did not contain any wildcards.