saker.build Documentation TaskDoc JavaDoc Packages
public class CloseProtectedClassLoaderDataFinder implements ClassLoaderDataFinder
ClassLoaderDataFinder implementation that delegates all of its calls to a subject, but the close() call.

When this data finder is closed, it will not call ClassLoaderDataFinder.close() on the delegate.

Constructors
public
Creates a new instance for the given delegate data finder.
Methods
public void
Does nothing.
public ByteArrayRegion
Gets the bytes of the class denoted by the given binary name.
public Supplier<extends 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.
Creates a new instance for the given delegate data finder.
delegateThe data finder to forward the calls to.
NullPointerExceptionIf the argument is null.
public void close() throws IOException
Does nothing.
IOExceptionif an I/O error occurs
Overridden from: ClassLoaderDataFinder
Gets the bytes of the class denoted by the given binary name.
classnameThe class name.
The bytes of the class or null if not found.
public Supplier<extends ByteSource> getResource(String name)
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.