Class Resource

    • Field Detail

      • length

        protected long length
      • toString

        protected String toString
    • Constructor Detail

      • Resource

        public Resource()
    • Method Detail

      • byteBufferToInputStream

        protected InputStream byteBufferToInputStream()
      • byteBufferToByteArray

        protected byte[] byteBufferToByteArray()
      • getPath

        public abstract String getPath()
        Returns the path of this classpath resource relative to the package root within the classpath element.
      • getPathRelativeToClasspathElement

        public abstract String getPathRelativeToClasspathElement()
        Returns the path of this classpath resource within the classpath element.
      • getURL

        public abstract URL getURL()
        Get a URL representing the resource's location. May point to a temporary file that FastClasspathScanner extracted an inner jar or directory to, or downloaded a remote jar to. You may or may not be able to fetch content from the URL, because in the case of system modules, the URL is an internal "jrt:/" URL format.
        Throws:
        IllegalArgumentException - if a MalformedURLException occurred while trying to construct the URL.
      • open

        public abstract InputStream open()
                                  throws IOException
        Open an InputStream for a classpath resource. Make sure you call close() when you are finished with the InputStream, so that the InputStream is closed.
        Throws:
        IOException
      • read

        public abstract ByteBuffer read()
                                 throws IOException
        Open a ByteBuffer for a classpath resource. Make sure you call close() when you are finished with the ByteBuffer, so that the ByteBuffer is released or unmapped.
        Throws:
        IOException
      • load

        public abstract byte[] load()
                             throws IOException
        Load a classpath resource and return its content as a byte array. Automatically calls close() after loading the byte array and before returning it, so that the underlying InputStream is closed or the underlying ByteBuffer is released or unmapped.
        Throws:
        IOException
      • getLength

        public long getLength()
        Get length of InputStream or ByteBuffer. This only returns a valid value after calling open() or read(), and only if the underlying classpath element has length information for the classpath resource (some jarfiles may not have length information in their zip entries). Returns -1 if length is unknown.
      • toStringImpl

        protected abstract String toStringImpl()
      • toString

        public String toString()
        Return a string representation of the resource's location.
        Overrides:
        toString in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • close

        public void close()
        Close the underlying InputStream, or release/unmap the underlying ByteBuffer.
        Specified by:
        close in interface AutoCloseable