Package liquibase.resource
Interface Resource
- All Known Implementing Classes:
AbstractResource
,MockResource
,PathResource
,ResourceAccessor.NotFoundResource
,URIResource
public interface Resource
-
Method Summary
Modifier and TypeMethodDescriptionboolean
exists()
getPath()
Returns the normalized, ResourceAccessor-relative path for this resource.getUri()
Returns a unique and complete identifier for this resource.boolean
Return true if the resource can be written toOpens an input stream to read from this resource.default OutputStream
openOutputStream
(boolean createIfNeeded) Deprecated.openOutputStream
(OpenOptions openOptions) Opens an output stream given the passedOpenOptions
.Resolve the given path against this resource.resolveSibling
(String other) Resolves the given path against this resource's parent path.
-
Method Details
-
getPath
String getPath()Returns the normalized, ResourceAccessor-relative path for this resource. To get the unique location of this resource, usegetUri()
This should always use `/` for separators This should not include any sort of protocol or prefixes This should not have a leading /. This should have any relative paths smoothed out -- return "path/to/resource" not "path/from/../to/resource". -
openInputStream
Opens an input stream to read from this resource.- Throws:
IOException
- if there is an error reading from the resource, including if the resource does not exist or cannot be read.
-
isWritable
boolean isWritable()Return true if the resource can be written to -
exists
boolean exists()- Returns:
- true if the resource defined by this object currently exists.
-
resolve
Resolve the given path against this resource. If other is an empty path then this method trivially returns this path. Otherwise this method considers this resource to be a directory and resolves the given path against this resource. Even if "other" begins with a `/`, the returned resource should be relative to this resource. -
resolveSibling
Resolves the given path against this resource's parent path. This is useful where a file name needs to be replaced with another file name. For example, suppose that the name separator is "/" and a path represents "dir1/dir2/foo", then invoking this method with the Path "bar" will result in the Path "dir1/dir2/bar". If other is an empty path then this method returns this path's parent. Even if "other" begins with a `/`, the returned resource should be relative to this resource. -
openOutputStream
Opens an output stream given the passedOpenOptions
. Cannot pass a null OpenOptions value- Throws:
IOException
-
openOutputStream
Deprecated.Opens an output stream to write to this resource using the defaultOpenOptions()
settings plus the passed createIfNeeded value.- Throws:
IOException
-
getUri
URI getUri()Returns a unique and complete identifier for this resource. This will be different than what is returned bygetPath()
because the path within the resource accessor whereas this is the a complete path to it.For example, a file resource may return a path of
my/file.txt
and a uri offile:/tmp/project/liquibase/my/file.txt
for a resource accessor usingfile:/tmp/project/liquibase
as a root
-
openOutputStream(OpenOptions)