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:
  `java.lang.Cloneable`, `java.lang.Comparable<Resource>`, `java.lang.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
`JavaResource()` Default constructor.
`JavaResource​(java.lang.String name, Path path)` Construct a new JavaResource using the specified name and classpath.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `compareTo​(Resource another)` Compare this JavaResource to another Resource.
`protected JavaResource` `getRef()` Perform the check for circular references and return the referenced Resource.
`java.net.URL` `getURL()` Get the URL represented by this Resource.
`protected java.io.InputStream` `openInputStream​(java.lang.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 Detail

#### JavaResource

    public JavaResource()

Default constructor.

#### JavaResource

    public JavaResource​(java.lang.String name,
                        Path path)

Construct a new JavaResource using the specified name and classpath.

Parameters:
  `name` - the resource name.
  `path` - the classpath.

### Method Detail

#### openInputStream

    protected java.io.InputStream openInputStream​(java.lang.ClassLoader cl)
                                           throws java.io.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:
  `java.io.IOException` - if an error occurs.

#### getURL

    public java.net.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 `java.lang.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`.