Class 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
  • 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:
  • 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.