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:
  `Cloneable`, `Comparable<Resource>`, `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(File f)`
Convenience constructor.
`URLResource(String u)`
String constructor for Ant attribute introspection.
`URLResource(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(Object another)`
Test whether an Object equals this URLResource.
`InputStream`
`getInputStream()`
Get an InputStream for the Resource.
`long`
`getLastModified()`
Tells the modification time in milliseconds since 01.01.1970 .
`String`
`getName()`
Get the name of this URLResource (its file component minus the leading separator).
`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.
`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(URL base)`
Base URL which combined with the relativePath attribute defines the URL.
`void`
`setFile(File f)`
Set the URL from a File.
`void`
`setRefid(Reference r)`
Overrides the super version.
`void`
`setRelativePath(String r)`
Relative path which combined with the baseURL attribute defines the URL.
`void`
`setURL(URL u)`
Set the URL for this URLResource.
`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(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(File f)
Convenience constructor.

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

### URLResource

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

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

## Method Details

### setURL

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

Parameters:
  `u` - the URL to expose.

### setFile

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

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

### setBaseURL

public void setBaseURL(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(String r)
Relative path which combined with the baseURL attribute defines the URL.

Parameters:
  `r` - String
Since:
  Ant 1.8.0

### getURL

public 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 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 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(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 InputStream getInputStream() throws IOException
Get an InputStream for the Resource.

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

### getOutputStream

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

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

### connect

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

Throws:
  `IOException` - if the connection cannot be established.

### connect

protected void connect(int logLevel) throws 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:
  `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`.