Class StandardJREResourceWrapper

  • All Implemented Interfaces:
    ResourceWrapper

    class StandardJREResourceWrapper
    extends Object
    implements ResourceWrapper
    This interface provides the standard JRE implementation to load resources. The following 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
    • Field Detail

      • RESOURCE_PREFIX

        public static final String RESOURCE_PREFIX
        Prefix (or directory name) where resources may be located.
        See Also:
        Constant Field Values
    • Constructor Detail

      • StandardJREResourceWrapper

        StandardJREResourceWrapper()
        Construct a wrapper.
    • Method Detail

      • getResource

        @Pure
        @Deprecated(since="17.0")
        public URL getResource​(ClassLoader classLoader,
                               String path)
        Deprecated.
        Description copied from interface: ResourceWrapper
        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.

        Specified by:
        getResource in interface ResourceWrapper
        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
        public URL getResource​(Class<?> clazz,
                               String path)
        Description copied from interface: ResourceWrapper
        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.

        Specified by:
        getResource in interface ResourceWrapper
        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")
        public InputStream getResourceAsStream​(ClassLoader classLoader,
                                               String path)
        Deprecated.
        Description copied from interface: ResourceWrapper
        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.

        Specified by:
        getResourceAsStream in interface ResourceWrapper
        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
        public InputStream getResourceAsStream​(Class<?> clazz,
                                               String path)
        Description copied from interface: ResourceWrapper
        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.

        Specified by:
        getResourceAsStream in interface ResourceWrapper
        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.
      • translateResourceName

        @Pure
        public String translateResourceName​(String resourceName)
        Description copied from interface: ResourceWrapper
        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.

        Specified by:
        translateResourceName in interface ResourceWrapper
        Parameters:
        resourceName - the name to translate.
        Returns:
        the translated resource name.