Interface ResourceWrapper

  • All Known Implementing Classes:
    AndroidResourceWrapper, StandardJREResourceWrapper

    public interface ResourceWrapper
    This interface provides implementations to load resources. The several heuristics are applied:
    • search the resource in class paths;
    • search the resource in ./resources subdirectory in class paths.
    Since:
    7.0
    Version:
    17.0 2020-01-04 14:41:35
    Author:
    Stéphane GALLAND
    Maven Group Id:
    org.arakhne.afc.core
    Maven Artifact Id:
    vmutils
    • Method Detail

      • getResource

        @Pure
        @Deprecated(since="17.0")
        URL getResource​(ClassLoader classLoader,
                        String path)
        Deprecated.
        since 17.0. Because Java 9 and later uses a different class loading architecture with modules, it is safer to use getResource(Class, String).
        Replies the URL of a resource.

        You may use Unix-like syntax to write the resource path, ie. you may use slashes to separate filenames.

        If the classLoader parameter is null, the class loader replied by ClassLoaderFinder is used. If this last is null, the class loader of the Resources class is used.

        Parameters:
        classLoader - is the research scope. If null, the class loader replied by ClassLoaderFinder is used.
        path - is the absolute path of the resource.
        Returns:
        the url of the resource or null if the resource was not found in class paths.
      • getResource

        @Pure
        URL getResource​(Class<?> clazz,
                        String path)
        Replies the URL of a resource.

        You may use Unix-like syntax to write the resource path, ie. you may use slashes to separate filenames.

        If the classLoader parameter is null, the class loader replied by ClassLoaderFinder is used. If this last is null, the class loader of the Resources class is used.

        Parameters:
        clazz - is the research scope. It cannot be null.
        path - is the absolute path of the resource.
        Returns:
        the url of the resource or null if the resource was not found in class paths.
      • getResourceAsStream

        @Pure
        @Deprecated(since="17.0")
        InputStream getResourceAsStream​(ClassLoader classLoader,
                                        String path)
        Deprecated.
        since 17.0. Because Java 9 and later uses a different class loading architecture with modules, it is safer to use getResourceAsStream(Class, String).
        Replies the input stream of a resource.

        You may use Unix-like syntax to write the resource path, ie. you may use slashes to separate filenames, and may not start the path with a slash.

        If the classLoader parameter is null, the class loader replied by ClassLoaderFinder is used. If this last is null, the class loader of the Resources class is used.

        Parameters:
        classLoader - is the research scope. If null, the class loader replied by ClassLoaderFinder is used.
        path - is the absolute path of the resource.
        Returns:
        the url of the resource or null if the resource was not found in class paths.
      • getResourceAsStream

        @Pure
        InputStream getResourceAsStream​(Class<?> clazz,
                                        String path)
        Replies the input stream of a resource.

        You may use Unix-like syntax to write the resource path, ie. you may use slashes to separate filenames, and may not start the path with a slash.

        If the classLoader parameter is null, the class loader replied by ClassLoaderFinder is used. If this last is null, the class loader of the Resources class is used.

        Parameters:
        clazz - is the research scope. It cannot be null.
        path - is the absolute path of the resource.
        Returns:
        the url of the resource or null if the resource was not found in class paths.
        Since:
        17.0
      • translateResourceName

        @Pure
        String translateResourceName​(String resourceName)
        Translate the given resource name according to the current JVM standard.

        The resourceName argument should be a fully qualified class name. However, for compatibility with earlier versions, Sun's Java SE Runtime Environments do not verify this, and so it is possible to access PropertyResourceBundles by specifying a path name (using "/") instead of a fully qualified class name (using "."). In several VM, such as Dalvik, the translation from "." to "/" is not automatically done by the VM to retreive the file.

        Parameters:
        resourceName - the name to translate.
        Returns:
        the translated resource name.