Class SpringResourceLoader


  • public class SpringResourceLoader
    extends org.apache.velocity.runtime.resource.loader.ResourceLoader
    Velocity ResourceLoader adapter that loads via a Spring ResourceLoader. Used by VelocityEngineFactory for any resource loader path that cannot be resolved to a java.io.File.

    Note that this loader does not allow for modification detection: Use Velocity's default FileResourceLoader for java.io.File resources.

    Expects "spring.resource.loader" and "spring.resource.loader.path" application attributes in the Velocity runtime: the former of type org.springframework.core.io.ResourceLoader, the latter a String.

    Since:
    6.0.0
    See Also:
    VelocityEngineFactory.setResourceLoaderPath(java.lang.String), ResourceLoader, FileResourceLoader
    • Field Detail

      • SPRING_RESOURCE_LOADER_CLASS

        @Nonnull
        @NotEmpty
        public static final String SPRING_RESOURCE_LOADER_CLASS
        Constant identifying resource loader class name.
        See Also:
        Constant Field Values
      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • resourceLoader

        @Nullable
        private ResourceLoader resourceLoader
        Underlying Spring resource loader.
      • resourceLoaderPaths

        @Nullable
        private String[] resourceLoaderPaths
        Resource loader paths.
    • Constructor Detail

      • SpringResourceLoader

        public SpringResourceLoader()
    • Method Detail

      • init

        public void init​(org.apache.velocity.util.ExtProperties configuration)
        Specified by:
        init in class org.apache.velocity.runtime.resource.loader.ResourceLoader
      • getResourceReader

        public Reader getResourceReader​(String source,
                                        String encoding)
                                 throws org.apache.velocity.exception.ResourceNotFoundException
        Specified by:
        getResourceReader in class org.apache.velocity.runtime.resource.loader.ResourceLoader
        Throws:
        org.apache.velocity.exception.ResourceNotFoundException
      • isSourceModified

        public boolean isSourceModified​(org.apache.velocity.runtime.resource.Resource resource)
        Specified by:
        isSourceModified in class org.apache.velocity.runtime.resource.loader.ResourceLoader
      • getLastModified

        public long getLastModified​(org.apache.velocity.runtime.resource.Resource resource)
        Specified by:
        getLastModified in class org.apache.velocity.runtime.resource.loader.ResourceLoader