Class AbstractResourceBasedDynamicAssetsLoader
java.lang.Object
eu.rarogsoftware.rarog.platform.api.resources.management.frontend.AbstractResourceBasedDynamicAssetsLoader
- All Implemented Interfaces:
DynamicAssetsLoader
- Direct Known Subclasses:
ClassLoaderDynamicAssetsLoader
,FilesystemDynamicAssetsLoader
,ResourceDynamicAssetsLoader
public abstract class AbstractResourceBasedDynamicAssetsLoader
extends Object
implements DynamicAssetsLoader
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final record
Nested classes/interfaces inherited from interface eu.rarogsoftware.rarog.platform.api.resources.management.frontend.DynamicAssetsLoader
DynamicAssetsLoader.EntrypointAssetData, DynamicAssetsLoader.WebpackAssetData
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractResourceBasedDynamicAssetsLoader
(String manifestLocation, Long cacheDuration) -
Method Summary
Modifier and TypeMethodDescriptionprotected List<DynamicAssetsLoader.WebpackAssetData>
convertAssets
(com.fasterxml.jackson.databind.JsonNode assetsNode, String type) getAssetData
(String assetName) Returns single resource data.getAssetsForEntryPoint
(String entrypoint) Returns data of set of resource that need to be loaded on page to make them execute as independent functionality.protected abstract InputStream
protected boolean
protected Map<String,
DynamicAssetsLoader.WebpackAssetData> readAssets
(com.fasterxml.jackson.databind.JsonNode root) protected Map<String,
DynamicAssetsLoader.EntrypointAssetData> readEntrypoints
(com.fasterxml.jackson.databind.JsonNode entrypoints) readManifest
(InputStream inputStream) void
setCacheDuration
(Long cacheDuration)
-
Field Details
-
mapper
protected static final com.fasterxml.jackson.databind.ObjectMapper mapper -
ASSETS_FIELD
- See Also:
-
SOURCE_FIELD
- See Also:
-
INTEGRITY_FIELD
- See Also:
-
ENTRYPOINTS_FIELD
- See Also:
-
manifestLocation
-
cacheDuration
-
cachedManifest
-
-
Constructor Details
-
AbstractResourceBasedDynamicAssetsLoader
-
-
Method Details
-
getAssetsForEntryPoint
Description copied from interface:DynamicAssetsLoader
Returns data of set of resource that need to be loaded on page to make them execute as independent functionality. This concept is similar to webpacks entrypoint concept.- Specified by:
getAssetsForEntryPoint
in interfaceDynamicAssetsLoader
- Parameters:
entrypoint
- name of entry point in descriptor- Returns:
- list of css and js resources that need to loaded on page to make their functionality work correctly
-
getAssetData
Description copied from interface:DynamicAssetsLoader
Returns single resource data. Resources are unique inside single descriptor- Specified by:
getAssetData
in interfaceDynamicAssetsLoader
- Returns:
- asset data
-
setCacheDuration
-
getManifest
-
isManifestOutdated
protected boolean isManifestOutdated(AbstractResourceBasedDynamicAssetsLoader.ManifestData cachedManifest) -
loadManifest
-
getManifestResourceStream
- Throws:
IOException
-
readManifest
protected AbstractResourceBasedDynamicAssetsLoader.ManifestData readManifest(InputStream inputStream) throws IOException - Throws:
IOException
-
readEntrypoints
protected Map<String,DynamicAssetsLoader.EntrypointAssetData> readEntrypoints(com.fasterxml.jackson.databind.JsonNode entrypoints) -
convertAssets
protected List<DynamicAssetsLoader.WebpackAssetData> convertAssets(com.fasterxml.jackson.databind.JsonNode assetsNode, String type) -
readAssets
protected Map<String,DynamicAssetsLoader.WebpackAssetData> readAssets(com.fasterxml.jackson.databind.JsonNode root)
-