Package org.apache.tools.ant.types.resources

# Class JavaResource

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.AbstractClasspathResource
org.apache.tools.ant.types.resources.JavaResource

All Implemented Interfaces:
  `Cloneable`, `Comparable<Resource>`, `Iterable<Resource>`, `ResourceCollection`, `URLProvider`

public class JavaResource extends AbstractClasspathResource implements URLProvider
A Resource representation of something loadable via a Java classloader.

Since:
  Ant 1.7

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class org.apache.tools.ant.types.resources.AbstractClasspathResource

  `AbstractClasspathResource.ClassLoaderWithFlag`

- ## 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
  `JavaResource()`
  Default constructor.
  `JavaResource(String name, Path path)`
  Construct a new JavaResource using the specified name and classpath.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(Resource another)`
  Compare this JavaResource to another Resource.
  `protected JavaResource`
  `getRef()`
  Perform the check for circular references and return the referenced Resource.
  `URL`
  `getURL()`
  Get the URL represented by this Resource.
  `protected InputStream`
  `openInputStream(ClassLoader cl)`
  open the input stream from a specific classloader

  ### Methods inherited from class org.apache.tools.ant.types.resources.AbstractClasspathResource

  `createClasspath, dieOnCircularReference, getClassLoader, getClasspath, getInputStream, getLoader, isExists, setClasspath, setClasspathRef, setLoaderRef, setParentFirst, setRefid`

  ### Methods inherited from class org.apache.tools.ant.types.Resource

  `as, asOptional, clone, equals, getLastModified, getMagicNumber, getName, getOutputStream, getSize, hashCode, isDirectory, isFilesystemOnly, iterator, setDirectory, setExists, setLastModified, setName, setSize, size, toLongString, toString`

  ### Methods inherited from class org.apache.tools.ant.types.DataType

  `checkAttributesAllowed, checkChildrenAllowed, circularReference, 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

  - ### JavaResource

    public JavaResource()
    Default constructor.

  - ### JavaResource

    public JavaResource(String name, Path path)
    Construct a new JavaResource using the specified name and classpath.
    Parameters:
      `name` - the resource name.
      `path` - the classpath.

- ## Method Details

  - ### openInputStream

    protected InputStream openInputStream(ClassLoader cl) throws IOException
    open the input stream from a specific classloader
    Specified by:
      `openInputStream` in class `AbstractClasspathResource`
    Parameters:
      `cl` - the classloader to use. Will be null if the system classloader is used
    Returns:
      an open input stream for the resource
    Throws:
      `IOException` - if an error occurs.

  - ### getURL

    public URL getURL()
    Get the URL represented by this Resource.
    Specified by:
      `getURL` in interface `URLProvider`
    Returns:
      the file.
    Since:
      Ant 1.8.0

  - ### compareTo

    public int compareTo(Resource another)
    Compare this JavaResource to another Resource.
    Specified by:
      `compareTo` in interface `Comparable<Resource>`
    Overrides:
      `compareTo` in class `Resource`
    Parameters:
      `another` - the other Resource against which to compare.
    Returns:
      a negative integer, zero, or a positive integer as this JavaResource is less than, equal to, or greater than the specified Resource.

  - ### getRef

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