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(java.lang.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 nameboolean
exists()
Determine if the resource is available.long
Get the resource sizelong
Get the date the resource was last modifiedgetName()
Get the name of the resource.boolean
isLocal()
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
long
value representing the time the file was last modified, measured in milliseconds since the epoch (00:00:00 GMT, January 1, 1970), or0L
if the file does not exist or if an I/O error occurs.
-
getContentLength
long getContentLength()Get the resource size- Returns:
- a
long
value 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:
boolean
value 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:
boolean
value indicating if the resource is local.
-
clone
Clones this resource with a new resource with a different name- Parameters:
cloneName
- the name of the clone- Returns:
- the cloned resource
-
openStream
Opens a stream on this resource- Returns:
- the opened input stream
- Throws:
IOException
- if something goes wrong
-