Package ru.vyarus.guicey.gsp.app.asset
Class AssetSources
- java.lang.Object
-
- ru.vyarus.guicey.gsp.app.asset.AssetSources
-
public class AssetSources extends java.lang.ObjectApplication classpath resources configuration object. Assets may be merged from multiple classpath locations. Moreover, classpath locations could be mapped to exact urls.If assets available only through custom class loader then it must be specified, otherwise application class loader would be used (and, most likely, will not find required resources).
- Since:
- 28.11.2019
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.ClassLoaderDEFAULT_LOADERDefault class loader used for assets loading.
-
Constructor Summary
Constructors Constructor Description AssetSources()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattach(java.lang.String location)Register one root asset location.voidattach(java.lang.String location, java.lang.ClassLoader loader)Same asattach(String)but with custom class loader to use for assets loading.voidattach(java.lang.String url, java.lang.String location)Register location for exact url path (path-mapped locations override root mappings too).voidattach(java.lang.String url, java.lang.String location, java.lang.ClassLoader loader)Same asattach(String, String)but with custom class loader to use for assets loading.com.google.common.collect.Multimap<java.lang.String,java.lang.ClassLoader>getLoaders()NOTE: default loader (DEFAULT_LOADER) will be registered for each package.com.google.common.collect.Multimap<java.lang.String,java.lang.String>getLocations()voidmerge(AssetSources assets)Merge assets configurations (in-app config with global extensions).
-
-
-
Method Detail
-
attach
public void attach(java.lang.String location)
Register one root asset location.- Parameters:
location- asset classpath location
-
attach
public void attach(java.lang.String url, java.lang.String location)Register location for exact url path (path-mapped locations override root mappings too).Internally, path used without first slash to simplify matching. Location could be declared as pure package ('dot' separated path).
- Parameters:
url- sub urllocation- asset classpath location
-
attach
public void attach(java.lang.String location, java.lang.ClassLoader loader)Same asattach(String)but with custom class loader to use for assets loading.WARNING: only freemarker could see templates from this loader and only if support activated
ServerPagesBundle.ViewsBuilder.enableFreemarkerCustomClassLoadersSupport()- Parameters:
location- asset classpath locationloader- class loader to use for assets loading (may be null to use default)
-
attach
public void attach(java.lang.String url, java.lang.String location, java.lang.ClassLoader loader)Same asattach(String, String)but with custom class loader to use for assets loading.WARNING: only freemarker could see templates from this loader and only if support activated
ServerPagesBundle.ViewsBuilder.enableFreemarkerCustomClassLoadersSupport()- Parameters:
url- sub urllocation- assets classpath locationloader- class loader to use for assets loading (may be null to use default)
-
getLocations
public com.google.common.collect.Multimap<java.lang.String,java.lang.String> getLocations()
- Returns:
- configured assets classpath locations by url
-
getLoaders
public com.google.common.collect.Multimap<java.lang.String,java.lang.ClassLoader> getLoaders()
NOTE: default loader (DEFAULT_LOADER) will be registered for each package. No duplicates are possible.- Returns:
- configured class loaders for packages
-
merge
public void merge(AssetSources assets)
Merge assets configurations (in-app config with global extensions).- Parameters:
assets- other assets configuration
-
-