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

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.types.DataType
              org.apache.tools.ant.types.Resource
                  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