Package liquibase.resource
Interface Resource
-
- All Known Implementing Classes:
AbstractResource
,MockResource
,PathResource
,ResourceAccessor.NotFoundResource
,URIResource
public interface Resource
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description boolean
exists()
String
getPath()
Returns the normalized, ResourceAccessor-relative path for this resource.URI
getUri()
Returns a unique and complete identifier for this resource.boolean
isWritable()
Return true if the resource can be written toInputStream
openInputStream()
Opens an input stream to read from this resource.default OutputStream
openOutputStream(boolean createIfNeeded)
Deprecated.OutputStream
openOutputStream(OpenOptions openOptions)
Opens an output stream given the passedOpenOptions
.Resource
resolve(String other)
Resolve the given path against this resource.Resource
resolveSibling(String other)
Resolves the given path against this resource's parent path.
-
-
-
Method Detail
-
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
InputStream openInputStream() throws IOException
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
Resource resolve(String other)
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
Resource resolveSibling(String other)
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
OutputStream openOutputStream(OpenOptions openOptions) throws IOException
Opens an output stream given the passedOpenOptions
. Cannot pass a null OpenOptions value- Throws:
IOException
-
openOutputStream
@Deprecated default OutputStream openOutputStream(boolean createIfNeeded) throws IOException
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
-
-