Class CmsTemplateContextManager

java.lang.Object
org.opencms.loader.CmsTemplateContextManager

public class CmsTemplateContextManager extends Object
Manager class for template context providers.

  • Field Details

  • Constructor Details

  • Method Details

    • hasPropertyPrefix

      public static boolean hasPropertyPrefix(String propertyValue)
      Checks if the property value starts with the prefix which marks a dynamic template provider.

      Parameters:
      propertyValue - the property value to check
      Returns:
      true if the value has the format of a dynamic template provider
    • isProvider

      public static boolean isProvider(String templatePath)
      Checks if a template property value refers to a template context provider.

      Parameters:
      templatePath - the template property value
      Returns:
      true if this value refers to a template context provider
    • removePropertyPrefix

      public static String removePropertyPrefix(String propertyValue)
      Removes the prefix which marks a property value as a dynamic template provider.

      Parameters:
      propertyValue - the value from which to remove the prefix
      Returns:
      the string with the prefix removed
    • getContextInfoBean

      public CmsTemplateContextInfo getContextInfoBean(CmsObject cms, javax.servlet.http.HttpServletRequest request)
      Creates a bean with information about the current template context, for use in the client-side code.

      Parameters:
      cms - the current CMS context
      request - the current request
      Returns:
      the bean with the template context information
    • getProviderKey

      Gets the key of a cached template provider (consisting of class name and parameters) that can later be used as an argument to getTemplateContextProvider.

      If the provider is not already cached, returns null.

      Parameters:
      provider - the template provider
      Returns:
      the cache key
    • getTemplateContext

      public CmsTemplateContext getTemplateContext(String providerName, CmsObject cms, javax.servlet.http.HttpServletRequest request, CmsResource resource)
      Gets the template context to use.

      Parameters:
      providerName - the name of the template context provider
      cms - the current CMS context
      request - the current request
      resource - the current resource
      Returns:
      the current template context
    • getTemplateContextProvider

      Gets the template context provider for a given path.

      Parameters:
      cms - the current CMS context
      path - the path for which the template context provider should be determined
      Returns:
      the template context provider for the given path
      Throws:
      CmsException - if something goes wrong
    • getTemplateContextProvider

      Retrieves an instance of a template context provider given its name (optionally prefixed by the 'dynamic:' prefix).

      Parameters:
      providerName - the name of the provider
      Returns:
      an instance of the provider class
    • readPropertyFromTemplate

      public String readPropertyFromTemplate(CmsObject cms, CmsResource res, String propertyName, String fallbackValue)
      Utility method which either reads a property from the template used for a specific resource, or from the template context provider used for the resource if available.

      Parameters:
      cms - the CMS context to use
      res - the resource from whose template or template context provider the property should be read
      propertyName - the property name
      fallbackValue - the fallback value
      Returns:
      the property value
    • shouldShowType

      public boolean shouldShowType(String contextKey, String typeName)
      Helper method to check whether a given type should not be shown in a context.

      Parameters:
      contextKey - the key of the template context
      typeName - the type name
      Returns:
      true if the context does not prohibit showing the type
    • createTemplateContextsPropertyDefinition

      Creates the setting definition for the templateContexts setting.

      Parameters:
      contextProvider - the context provider
      locale - the current locale
      Returns:
      the setting definition
    • safeGetAllowedContextMap

      Helper method for getting the forbidden contexts from the resource manager without a try-catch block.

      Returns:
      the forbidden context map