saker.build Documentation TaskDoc JavaDoc Packages
public class PathClassLoaderDataFinder implements ClassLoaderDataFinder
ClassLoaderDataFinder implementation that is based on a path to a directory.

The path of the data finder points to a directory, and the resources are found by resolving the name against the directory.

Fields
protected final Path
The absolute path to the directory that this data finder uses.
Constructors
public
Creates a new instance that uses the directory at the argument path.
public
Creates a new instance that uses the directory at the argument path.
Methods
public Supplier<ByteSource>
Gets a supplier for an existing resource stream specified by the given name.
public ByteSource
Opens a stream to the resource specified by the given name.
public ByteArrayRegion
Gets the bytes of a resource specified by the given name.
public String
Returns a string representation of the object.
protected final Path path
The absolute path to the directory that this data finder uses.
Creates a new instance that uses the directory at the argument path.
fileThe absolute path to the directory.
NullPointerExceptionIf the path is null.
IllegalArgumentExceptionIf the path is not absolute.
Creates a new instance that uses the directory at the argument path.
pathThe absolute path to the directory.
NullPointerExceptionIf the path is null.
IllegalArgumentExceptionIf the path is not absolute.
Overridden from: ClassLoaderDataFinder
Gets a supplier for an existing resource stream specified by the given name.

The name is a slash ('/') separated path to the resource to be found.

The opened stream by the returned supplier should be closed for each returned stream.

The returned supplier can still return null, if there was opening error in the stream.

nameThe name of the resource.
A supplier which opens a stream to the resource bytes or null if the resource is not found.
Overridden from: ClassLoaderDataFinder
Opens a stream to the resource specified by the given name.

The name is a slash ('/') separated path to the resource to be found.

The returned stream should be closed by the caller.

nameThe name of the resource.
The opened stream to the resource, or null if not found.
Overridden from: ClassLoaderDataFinder
Gets the bytes of a resource specified by the given name.

The name is a slash ('/') separated path to the resource to be found.

Implementations of this functions should strive to be interrupt tolerant. Meaning that if they get interrupted while loading the bytes of the resources, they should store the interrupt flag, and retry the loading. After done, reinterrupt the current thread so the interrupt status is not lost.

nameThe name of the resource.
The bytes of the resource or null if not found.
public String toString()
Overridden from: Object
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 
a string representation of the object.