Package lumis.portal.theme
Class ThemeUtil
- java.lang.Object
-
- lumis.portal.theme.ThemeUtil
-
public class ThemeUtil extends Object
Utility class for theme related actions.- Since:
- 7.0.0
- Version:
- $Revision: 20807 $ $Date: 2017-11-30 17:08:51 -0200 (Thu, 30 Nov 2017) $
-
-
Constructor Summary
Constructors Constructor Description ThemeUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addNewTheme(String themeName, String themeDescription, String themePath, String moduleId, IResource resource)
static String
getThemeIdByPath(String path)
Returns the theme identifier of the given theme path.static String
getThemePathById(String themeId)
Returns the theme path of the given theme identifier.static IFile
getThemeRootDir(String themePath)
static boolean
isEditableTheme(String themeId)
Returns whether the given theme is editable.static boolean
isLumisTheme(ITheme theme)
Returns whether the given theme is one of the LumisPortal standard themes.static String
resolveDefinitionFilePath(String definitionFilePath, List<? extends ITheme> themes)
Resolves the definition file path with the given applied themes applying the following rules:
If theappliedThemes
parameter isnull
or if it is empty the original resource path will be returned The given resource will be searched through the applied themes' resource (underIThemeSPI.ResourceFolder.DEF
)
If the resource was found in any applied theme, the resolved resource will be compound as: If the resource was not found, the original one will be returnedstatic String
resolveLayoutFilePath(String layoutFilePath, List<? extends ITheme> themes)
Resolves the layout file path with the given applied themes applying the following rules:
If theappliedThemes
parameter isnull
or if it is empty the original resource path will be returned The given resource will be searched through the applied themes' resource (underIThemeSPI.ResourceFolder.DEF
)
If the resource was found in any applied theme, the resolved resource will be compound as: If the resource was not found, the original one will be returnedstatic String
resolveWWWResourcePath(String resourcePath, List<? extends ITheme> themes)
Resolves the resources' paths with the given applied themes applying the following rules:
If the resource path start withno theme prefix
, then the returned resource path will be the original one without the prefix If theappliedThemes
parameter isnull
or if it is empty the original resource path will be returned The given resource will be searched through the applied themes' resource (underIThemeSPI.ResourceFolder.WWW
)
If the resource was found in any applied theme, the resolved resource will be compound as: (where<theme www prefix>
isThemeManager.THEME_WWW_RESOURCE_PREFIX
) If the resource was not found, the original one will be returned
-
-
-
Method Detail
-
getThemeIdByPath
public static String getThemeIdByPath(String path) throws lumis.portal.theme.InvalidThemePathException
Returns the theme identifier of the given theme path.- Parameters:
path
- the path.- Returns:
- the theme identifier of the given theme path.
- Throws:
lumis.portal.theme.InvalidThemePathException
- if the given path is null.lumis.portal.theme.InvalidThemePathException
- if the trimmed version of the given path is empty.- Since:
- 7.0.0
-
getThemePathById
public static String getThemePathById(String themeId) throws lumis.portal.theme.InvalidThemeIdException
Returns the theme path of the given theme identifier.- Parameters:
themeId
- the theme identifier.- Returns:
- the theme path of the given theme identifier.
- Throws:
lumis.portal.theme.InvalidThemeIdException
- if the given identifier is null.lumis.portal.theme.InvalidThemeIdException
- if the given identifier is empty.- Since:
- 7.0.0
-
resolveWWWResourcePath
public static String resolveWWWResourcePath(String resourcePath, List<? extends ITheme> themes) throws PortalException
Resolves the resources' paths with the given applied themes applying the following rules:
- If the resource path start with
no theme prefix
, then the returned resource path will be the original one without the prefix - If the
appliedThemes
parameter isnull
or if it is empty the original resource path will be returned - The given resource will be searched through the applied themes' resource (under
IThemeSPI.ResourceFolder.WWW
)
- If the resource was found in any applied theme, the resolved resource will be compound as:
(where<theme www prefix>
isThemeManager.THEME_WWW_RESOURCE_PREFIX
) - If the resource was not found, the original one will be returned
- If the resource was found in any applied theme, the resolved resource will be compound as:
- Parameters:
resourcePath
- the requested resource path.themes
- the applied themes.- Returns:
- the resolved resource path as described above.
- Throws:
NullPointerException
- if theresourcePath
isnull
or if theresourceFolder
isnull
.PortalException
- Since:
- 7.0.0
- If the resource path start with
-
resolveLayoutFilePath
public static String resolveLayoutFilePath(String layoutFilePath, List<? extends ITheme> themes) throws PortalException
Resolves the layout file path with the given applied themes applying the following rules:
- If the
appliedThemes
parameter isnull
or if it is empty the original resource path will be returned - The given resource will be searched through the applied themes' resource (under
IThemeSPI.ResourceFolder.DEF
)
- If the resource was found in any applied theme, the resolved resource will be compound as:
- If the resource was not found, the original one will be returned
- If the resource was found in any applied theme, the resolved resource will be compound as:
- Parameters:
layoutFilePath
- the layout file path to be resolved.themes
- the applied themes.- Returns:
- the resolved layout file path as described above.
- Throws:
NullPointerException
- if theresourcePath
isnull
or if theresourceFolder
isnull
.PortalException
- Since:
- 7.0.0
- If the
-
resolveDefinitionFilePath
public static String resolveDefinitionFilePath(String definitionFilePath, List<? extends ITheme> themes) throws PortalException
Resolves the definition file path with the given applied themes applying the following rules:
- If the
appliedThemes
parameter isnull
or if it is empty the original resource path will be returned - The given resource will be searched through the applied themes' resource (under
IThemeSPI.ResourceFolder.DEF
)
- If the resource was found in any applied theme, the resolved resource will be compound as:
- If the resource was not found, the original one will be returned
- If the resource was found in any applied theme, the resolved resource will be compound as:
- Parameters:
definitionFilePath
- the definition file path to be resolved.themes
- the applied themes.- Returns:
- the resolved definition file path as described above.
- Throws:
NullPointerException
- if theresourcePath
isnull
or if theresourceFolder
isnull
.PortalException
- Since:
- 7.0.0
- If the
-
getThemeRootDir
public static IFile getThemeRootDir(String themePath) throws PortalException
- Throws:
PortalException
-
addNewTheme
public static void addNewTheme(String themeName, String themeDescription, String themePath, String moduleId, IResource resource) throws PortalException
- Throws:
PortalException
-
isLumisTheme
public static boolean isLumisTheme(ITheme theme)
Returns whether the given theme is one of the LumisPortal standard themes.- Parameters:
theme
- the theme- Returns:
- whether the given theme is one of the LumisPortal standard themes.
- Since:
- 8.0.0
-
isEditableTheme
public static boolean isEditableTheme(String themeId) throws PortalException
Returns whether the given theme is editable.- Parameters:
themeId
- the theme identifier- Returns:
true
if the given theme is editable.
false
otherwise.- Throws:
PortalException
- Since:
- 10.3.0
-
-