## 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.JavaResource

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Comparable, ResourceCollection

    public class JavaResource

extends Resource

A Resource representation of something loadable via a Java classloader.

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

Method Summary
`int` `compareTo(java.lang.Object another)` Compare this JavaResource to another Resource.
`Path` `createClasspath()` Add a classpath to use when looking up a resource.
`Path` `getClasspath()` get the classpath used by this `LoadProperties`.
`java.io.InputStream` `getInputStream()` Return an InputStream for reading the contents of this Resource.
`boolean` `isExists()` Learn whether this file exists.
`void` `setClasspath(Path classpath)` Set the classpath to use when looking up a resource.
`void` `setClasspathRef(Reference r)` Set the classpath to use when looking up a resource, given as reference to a <path> defined elsewhere
`void` `setLoaderRef(Reference r)` Use the reference to locate the loader.
`void` `setRefid(Reference r)` Overrides the super version.

Methods inherited from class org.apache.tools.ant.types.Resource
`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, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, 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`

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

### setClasspath

    public void setClasspath(Path classpath)

  Set the classpath to use when looking up a resource.

  Parameters:
    `classpath` - to add to any existing classpath

### createClasspath

    public Path createClasspath()

  Add a classpath to use when looking up a resource.

  Returns:
    The classpath to be configured

### setClasspathRef

    public void setClasspathRef(Reference r)

  Set the classpath to use when looking up a resource, given as reference to a <path> defined elsewhere

  Parameters:
    `r` - The reference value

### getClasspath

    public Path getClasspath()

  get the classpath used by this `LoadProperties`.

  Returns:
    The classpath

### setLoaderRef

    public void setLoaderRef(Reference r)

  Use the reference to locate the loader. If the loader is not found, taskdef will use the specified classpath and register it with the specified name. This allow multiple taskdef/typedef to use the same class loader, so they can be used together. It eliminate the need to put them in the CLASSPATH.

  Parameters:
    `r` - the reference to locate the loader.

### setRefid

    public void setRefid(Reference r)

  Overrides the super version.

  Overrides:
    `setRefid` in class `Resource`
  Parameters:
    `r` - the Reference to set.

### isExists

    public boolean isExists()

  Learn whether this file exists.

  Overrides:
    `isExists` in class `Resource`
  Returns:
    true if this resource exists.

### getInputStream

    public java.io.InputStream getInputStream()
                                       throws java.io.IOException

  Return an InputStream for reading the contents of this Resource.

  Overrides:
    `getInputStream` in class `Resource`
  Returns:
    an InputStream object.
  Throws:
    `java.io.IOException` - if an error occurs.

### compareTo

    public int compareTo(java.lang.Object another)

  Compare this JavaResource to another Resource.

  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  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.