Class ThemeManagerImpl
java.lang.Object
com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
com.inductiveautomation.perspective.gateway.assets.AbstractAssetManager<String,String>
com.inductiveautomation.perspective.gateway.assets.themes.ThemeManagerImpl
- All Implemented Interfaces:
ThemeManager
-
Field Summary
Fields inherited from class com.inductiveautomation.perspective.gateway.assets.AbstractAssetManager
assetPath, cacheLock, perspectiveContext -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected CopyOption[]copyOptions(byte[] existingAssetDigest, byte[] currentExistingAssetDigest) generateKey(Path path) Generate a cache key for the givenPathENTRY Delivers a processed theme file.Fetch a list of all of the available theme names.protected voidProcesses themes that are already in cache, and which have been requested via getTheme.parseValue(Path path) Parse the cache value for the givenPathprotected voidOperates under the assumption that if the dark and light theme folders do not exist in the themes folder, then the user has not upgraded.voidsetup()Setup the Asset Manager.Methods inherited from class com.inductiveautomation.perspective.gateway.assets.AbstractAssetManager
copyInputStreamToPath, copyInputStreamToPath, getCache, getCachedValue, getDigestCopy, getDigestFor, onShutdown, onStartupMethods inherited from class com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
isRunning, shutdown, startup
-
Constructor Details
-
ThemeManagerImpl
-
-
Method Details
-
setup
public void setup()Description copied from class:AbstractAssetManagerSetup the Asset Manager. Copies any defaults into the asset home directory. Should be run beforeAbstractLifecycle.startup()- Overrides:
setupin classAbstractAssetManager<String,String>
-
performUpgradeCheckAndBackup
Operates under the assumption that if the dark and light theme folders do not exist in the themes folder, then the user has not upgraded. In this case, we copy anything in the themes folder into a backup folder.- Throws:
IOException
-
getTheme
ENTRY Delivers a processed theme file. The first time a theme is requested, the processed css is stored in cache. Subsequent requests return the cached css.- Specified by:
getThemein interfaceThemeManager- Parameters:
themeName- - The base name, ie. theme-dark, of the theme to fetch. Assumes that the theme does not contain the css file extension.- Returns:
- - Returns an optional string representing the requested theme as css.
-
getThemesList
Description copied from interface:ThemeManagerFetch a list of all of the available theme names.- Specified by:
getThemesListin interfaceThemeManager- Returns:
- A string list of available themes that may be fetched
using
ThemeManager.getTheme(String themeName).
-
generateKey
Description copied from class:AbstractAssetManagerGenerate a cache key for the givenPath- Specified by:
generateKeyin classAbstractAssetManager<String,String> - Parameters:
path- ThePathfor which we want to generate a cache key- Returns:
- An
Optionalcontaining the cache key or an empty Optional if the cache key could not be generated
-
parseValue
Description copied from class:AbstractAssetManagerParse the cache value for the givenPath- Specified by:
parseValuein classAbstractAssetManager<String,String> - Parameters:
path- ThePathfor which we want to generate a cache value- Returns:
- An
Optionalcontaining the cache value or an empty Optional if the cache value could not be generated
-
onCacheChanged
protected void onCacheChanged()Processes themes that are already in cache, and which have been requested via getTheme.- Overrides:
onCacheChangedin classAbstractAssetManager<String,String>
-
copyOptions
- Overrides:
copyOptionsin classAbstractAssetManager<String,String>
-