org.apache.tools.ant.types.resources
Class URLResource

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.Resource
              extended by org.apache.tools.ant.types.resources.URLResource
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable<Resource>, java.lang.Iterable<Resource>, ResourceCollection, URLProvider

public class URLResource
extends Resource
implements URLProvider

Exposes a URL as a Resource.

Since:
Ant 1.7

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.Resource
MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
URLResource()
          Default constructor.
URLResource(java.io.File f)
          Convenience constructor.
URLResource(java.lang.String u)
          String constructor for Ant attribute introspection.
URLResource(java.net.URL u)
          Convenience constructor.
URLResource(URLProvider u)
          Convenience constructor.
 
Method Summary
protected  void connect()
          Ensure that we have a connection.
protected  void connect(int logLevel)
          Ensure that we have a connection.
 boolean equals(java.lang.Object another)
          Test whether an Object equals this URLResource.
 java.io.InputStream getInputStream()
          Get an InputStream for the Resource.
 long getLastModified()
          Tells the modification time in milliseconds since 01.01.1970 .
 java.lang.String getName()
          Get the name of this URLResource (its file component minus the leading separator).
 java.io.OutputStream getOutputStream()
          Get an OutputStream for the Resource.
 long getSize()
          Get the size of this Resource.
 java.net.URL getURL()
          Get the URL used by this URLResource.
 int hashCode()
          Get the hash code for this Resource.
 boolean isDirectory()
          Tells if the resource is a directory.
 boolean isExists()
          Find out whether the URL exists .
 void setBaseURL(java.net.URL base)
          Base URL which combined with the relativePath attribute defines the URL.
 void setFile(java.io.File f)
          Set the URL from a File.
 void setRefid(Reference r)
          Overrides the super version.
 void setRelativePath(java.lang.String r)
          Relative path which combined with the baseURL attribute defines the URL.
 void setURL(java.net.URL u)
          Set the URL for this URLResource.
 java.lang.String toString()
          Return this URLResource formatted as a String.
 
Methods inherited from class org.apache.tools.ant.types.Resource
as, clone, compareTo, getMagicNumber, isFilesystemOnly, iterator, setDirectory, setExists, setLastModified, setName, setSize, size, toLongString
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

URLResource

public URLResource()
Default constructor.


URLResource

public URLResource(java.net.URL u)
Convenience constructor.

Parameters:
u - the URL to expose.

URLResource

public URLResource(URLProvider u)
Convenience constructor.

Parameters:
u - holds the URL to expose.

URLResource

public URLResource(java.io.File f)
Convenience constructor.

Parameters:
f - the File to set as a URL.

URLResource

public URLResource(java.lang.String u)
String constructor for Ant attribute introspection.

Parameters:
u - String representation of this URL.
See Also:
IntrospectionHelper
Method Detail

setURL

public void setURL(java.net.URL u)
Set the URL for this URLResource.

Parameters:
u - the URL to expose.

setFile

public void setFile(java.io.File f)
Set the URL from a File.

Parameters:
f - the File to set as a URL.

setBaseURL

public void setBaseURL(java.net.URL base)
Base URL which combined with the relativePath attribute defines the URL.

Since:
Ant 1.8.0

setRelativePath

public void setRelativePath(java.lang.String r)
Relative path which combined with the baseURL attribute defines the URL.

Since:
Ant 1.8.0

getURL

public java.net.URL getURL()
Get the URL used by this URLResource.

Specified by:
getURL in interface URLProvider
Returns:
a URL object.

setRefid

public void setRefid(Reference r)
Overrides the super version.

Overrides:
setRefid in class Resource
Parameters:
r - the Reference to set.

getName

public java.lang.String getName()
Get the name of this URLResource (its file component minus the leading separator).

Overrides:
getName in class Resource
Returns:
the name of this resource.

toString

public java.lang.String toString()
Return this URLResource formatted as a String.

Overrides:
toString in class Resource
Returns:
a String representation of this URLResource.

isExists

public boolean isExists()
Find out whether the URL exists .

Overrides:
isExists in class Resource
Returns:
true if this resource exists.

getLastModified

public long getLastModified()
Tells the modification time in milliseconds since 01.01.1970 .

Overrides:
getLastModified in class Resource
Returns:
0 if the resource does not exist to mirror the behavior of File.

isDirectory

public boolean isDirectory()
Tells if the resource is a directory.

Overrides:
isDirectory in class Resource
Returns:
boolean whether the resource is a directory.

getSize

public long getSize()
Get the size of this Resource.

Overrides:
getSize in class Resource
Returns:
the size, as a long, 0 if the Resource does not exist (for compatibility with java.io.File), or UNKNOWN_SIZE if not known.

equals

public boolean equals(java.lang.Object another)
Test whether an Object equals this URLResource.

Overrides:
equals in class Resource
Parameters:
another - the other Object to compare.
Returns:
true if the specified Object is equal to this Resource.

hashCode

public int hashCode()
Get the hash code for this Resource.

Overrides:
hashCode in class Resource
Returns:
hash code as int.

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Get an InputStream for the Resource.

Overrides:
getInputStream in class Resource
Returns:
an InputStream containing this Resource's content.
Throws:
java.io.IOException - if unable to provide the content of this Resource as a stream.
java.lang.UnsupportedOperationException - if InputStreams are not supported for this Resource type.

getOutputStream

public java.io.OutputStream getOutputStream()
                                     throws java.io.IOException
Get an OutputStream for the Resource.

Overrides:
getOutputStream in class Resource
Returns:
an OutputStream to which content can be written.
Throws:
java.io.IOException - if unable to provide the content of this Resource as a stream.
java.lang.UnsupportedOperationException - if OutputStreams are not supported for this Resource type.
java.io.IOException - if the URL cannot be opened.

connect

protected void connect()
                throws java.io.IOException
Ensure that we have a connection.

Throws:
java.io.IOException - if the connection cannot be established.

connect

protected void connect(int logLevel)
                throws java.io.IOException
Ensure that we have a connection.

Parameters:
logLevel - severity to use when logging connection errors. Should be one of the MSG_ constants in Project.
Throws:
java.io.IOException - if the connection cannot be established.
Since:
Ant 1.8.2