Interface Resource
- All Known Subinterfaces:
LocalizableResource
- All Known Implementing Classes:
BasicResource, BuiltFileResource, FileResource, JarResource, LazyResource, SFTPResource, SshResource, URLResource, VfsResource, VsftpResource
public interface Resource
Represents a resource in an Ivy
Repository. The resource interface allows one to obtain
the following information about a resource:
- resource name/identifier in repository syntax
- date the resource was last modified.
- size of the resource in bytes.
- if the resource is available.
Implementation Notes
In implementing the interface you need to ensure the following behaviors:- All of the methods specified in the interface fail by returning an empty value
(
false,0,""). In other words, the specified interface methods should not throw RuntimeExceptions. - Failure conditions should be logged using the
Message.verbose(String)method. - Failure of one of the interface's specified methods results in all other interface specified
methods returning an empty value (
false,0,"").
-
Method Summary
Modifier and TypeMethodDescriptionClones this resource with a new resource with a different namebooleanexists()Determine if the resource is available.longGet the resource sizelongGet the date the resource was last modifiedgetName()Get the name of the resource.booleanisLocal()Is this resource local to this host, i.e.Opens a stream on this resource
-
Method Details
-
getName
String getName()Get the name of the resource.- Returns:
- the repository's assigned resource name/identifier.
-
getLastModified
long getLastModified()Get the date the resource was last modified- Returns:
- A
longvalue representing the time the file was last modified, measured in milliseconds since the epoch (00:00:00 GMT, January 1, 1970), or0Lif the file does not exist or if an I/O error occurs.
-
getContentLength
long getContentLength()Get the resource size- Returns:
- a
longvalue representing the size of the resource in bytes.
-
exists
boolean exists()Determine if the resource is available. Note that this method only checks for availability, not for actual existence.- Returns:
booleanvalue indicating if the resource is available.
-
isLocal
boolean isLocal()Is this resource local to this host, i.e. is it on the file system?- Returns:
booleanvalue indicating if the resource is local.
-
clone
-
openStream
Opens a stream on this resource- Returns:
- the opened input stream
- Throws:
IOException- if something goes wrong
-