Package 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

  Constructors
  Constructor | Description
  --- | ---
  `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

  Modifier and Type | Method | Description
  --- | --- | ---
  `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.
  `protected URLResource` | `getRef()` | Perform the check for circular references and return the referenced 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, asOptional, 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, 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`

  ### Methods inherited from interface java.lang.Iterable

  `forEach, spliterator`

  ### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

  `isEmpty, stream`

- ## Constructor Details

  - ### 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 Details

  - ### 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.
    Parameters:
      `base` - 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.
    Parameters:
      `r` - String
    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

  - ### getRef

    protected URLResource getRef()
    Description copied from class: `Resource`
    Perform the check for circular references and return the referenced Resource.
    Overrides:
      `getRef` in class `Resource`
    Returns:
      `Resource`.