Class CssUrlReplacer

  • All Implemented Interfaces:
    ICssCompressor, IScopeAwareTextResourceProcessor, ITextResourceCompressor

    public class CssUrlReplacer
    extends Object
    implements IScopeAwareTextResourceProcessor, ICssCompressor
    This compressor is used to replace URLs within CSS files with URLs created from PackageResourceReferences that belongs to their corresponding resources (e.g images).The scope of the CSS file is used to create the PackageResourceReferences. The compress method is not compressing any content, but replacing the URLs with Wicket representatives.

    Usage:
     this.getResourceSettings().setCssCompressor(new CssUrlReplacer());
     
    Since:
    6.20.0
    Author:
    Tobias Soloschenko
    • Field Detail

      • EMBED_BASE64

        public static final String EMBED_BASE64
        Used to be append to CSS URLs (background-image: url('Beer.gif?embedBase64');). The CssUrlReplacer embeds the base64 content instead of using an URL.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CssUrlReplacer

        public CssUrlReplacer()
        Creates a css url replacer
      • CssUrlReplacer

        public CssUrlReplacer​(Collection<String> excludes)
        Creates a css url replacer
        Parameters:
        excludes - css file names to be excluded
    • Method Detail

      • process

        public String process​(String input,
                              Class<?> scope,
                              String name)
        Replaces the URLs of CSS resources with Wicket representatives.
        Specified by:
        process in interface IScopeAwareTextResourceProcessor
        Parameters:
        input - The original input to process
        scope - The scope class of the package resource
        name - The name of the package resource
        Returns:
        The processed input
      • getExcludes

        public Collection<String> getExcludes()
        Gets excluded css file names
        Returns:
        a list with css file names to be excluded
      • setExcludes

        public void setExcludes​(Collection<String> excludes)
        Sets a list of css file names to be excluded
        Parameters:
        excludes - a list with css file names to be excluded