Class SpringResourceLoader

java.lang.Object
org.apache.velocity.runtime.resource.loader.ResourceLoader
net.shibboleth.shared.spring.velocity.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:
  • Field Details

    • NAME

      @Nonnull @NotEmpty public static final String NAME
      Constant identifying resource loader name.
      See Also:
    • SPRING_RESOURCE_LOADER_CLASS

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

      @Nonnull @NotEmpty public static final String SPRING_RESOURCE_LOADER_CACHE
      Constant identifying caching property.
      See Also:
    • SPRING_RESOURCE_LOADER

      @Nonnull @NotEmpty public static final String SPRING_RESOURCE_LOADER
      Constant identifying ResourceLoader instance.
      See Also:
    • SPRING_RESOURCE_LOADER_PATH

      @Nonnull @NotEmpty public static final String SPRING_RESOURCE_LOADER_PATH
      Constant identifying resource loader path.
      See Also:
    • log

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

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

      @Nonnull private String[] resourceLoaderPaths
      Resource loader paths.
  • Constructor Details

    • SpringResourceLoader

      public SpringResourceLoader()
      Constructor.
  • Method Details

    • 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