Class BasicWysiwygPolicyFilter

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String REVISION  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String afterClean​(java.lang.String unsafeStr, java.lang.String safeStr, java.util.Map<java.lang.String,​java.lang.Object> contextMap)
      This method is called after cleaning process of a HTML input received from the user.
      java.lang.String afterRendering​(java.lang.String text, java.util.Locale userLocale)
      This method is called after wysiwyg rendering
      void beforeClean​(java.lang.String unsafeStr, java.util.Map<java.lang.String,​java.lang.Object> contextMap)
      This method is called before cleaning process of a HTML input received from the user.
      java.lang.String beforeRendering​(java.lang.String text, java.util.Locale userLocale)
      This method is called before wysiwyg rendering
      boolean init​(Plugin plugin)
      Initialize the component with the given plugin configuration
      org.jsoup.nodes.Document processJHTML​(org.jsoup.nodes.Document document, java.util.Locale userLocale, WysiwygRenderingHints hints)
      This method is called during JHTML processing
      java.util.List<WysiwygConfigurationUpdate> updateWysiwygConfiguration​(java.lang.String configId)
      Returns the list of updates to perform to the wysiwyg configuration defined by the given id.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Comparable

        compareTo
    • Constructor Detail

      • BasicWysiwygPolicyFilter

        public BasicWysiwygPolicyFilter()
    • Method Detail

      • init

        public boolean init​(Plugin plugin)
        Description copied from interface: PluginComponent
        Initialize the component with the given plugin configuration
        Specified by:
        init in interface PluginComponent
        Parameters:
        plugin - the calling plugin
        Returns:
        true if the component has been correctly initialized.
        Since:
        jcms-5.7.1
        See Also:
        PluginComponent.init(Plugin)
      • beforeClean

        public void beforeClean​(java.lang.String unsafeStr,
                                java.util.Map<java.lang.String,​java.lang.Object> contextMap)
        Description copied from interface: WysiwygPolicyFilter
        This method is called before cleaning process of a HTML input received from the user.

        In current implementation, the following informations can be retrieved or modified from the context map :

        • Data instance on which cleaning is performed (can be null) :
          Data data = (Data) contextMap.get(WysiwygManager.CLEANHTML_CTXT_DATA)
        • Data's field name on which cleaning is performed, as described in type xml, eg "myWysiwygField" (can be null) :
          String fieldName = (String) contextMap.get(WysiwygManager.CLEANHTML_CTXT_FIELDNAME)
        • The JSoup Safelist that will be used for the cleaning process :
          Safelist safelist = (org.jsoup.safety.Safelist) contextMap.get(WysiwygManager.CLEANHTML_CTXT_SAFELIST)
          Your WysiwygPolicyFilter implementation can set a custom Safelist for this key if you want to apply a stricter or relaxed policy in some circumstances.
          Set to null to cancel the cleaning process (ie HTML parsing and cleaning), in such case, method WysiwygPolicyFilter.afterClean(String, String, Map) will still be invoked.
        Specified by:
        beforeClean in interface WysiwygPolicyFilter
        Parameters:
        unsafeStr - the input received from the user
        contextMap - the map providing information on cleaning context, NEVER null
        See Also:
        WysiwygPolicyFilter.beforeClean(String, Map)
      • afterClean

        public java.lang.String afterClean​(java.lang.String unsafeStr,
                                           java.lang.String safeStr,
                                           java.util.Map<java.lang.String,​java.lang.Object> contextMap)
        Description copied from interface: WysiwygPolicyFilter
        This method is called after cleaning process of a HTML input received from the user.

        In current implementation, the following informations can be retrieved or modified from the context map :

        • Data instance on which cleaning is performed (can be null) :
          Data data = (Data) contextMap.get(WysiwygManager.CLEANHTML_CTXT_DATA);
        • Data's field name on which cleaning is performed, as described in type xml, eg "myWysiwygField" (can be null) :
          String fieldName = (String) contextMap.get(WysiwygManager.CLEANHTML_CTXT_FIELDNAME);
        • The JSoup Safelist that was used for the cleaning process :
          Safelist safelist = (org.jsoup.safety.Safelist) contextMap.get(WysiwygManager.CLEANHTML_CTXT_SAFELIST);
          Can be null if a custom WysiwygPolicyFilter has cancelled the cleaning process.
        • The JSoup Document instance that was created by parsing input :
          Document dirtyDoc = (org.jsoup.nodes.Document) contextMap.get(WysiwygManager.CLEANHTML_CTXT_DIRTYDOC);
          Can be null if a custom WysiwygPolicyFilter has cancelled the cleaning process.
        • The JSoup Document instance that was created by cleaned the dirty document :
          Document cleanDoc = (org.jsoup.nodes.Document) contextMap.get(WysiwygManager.CLEANHTML_CTXT_CLEANDOC);
          Can be null if a custom WysiwygPolicyFilter has cancelled the cleaning process.
        Specified by:
        afterClean in interface WysiwygPolicyFilter
        Parameters:
        unsafeStr - the input received from the user
        safeStr - the input cleaned by JCMS (unless it was cancelled in WysiwygPolicyFilter.beforeClean(String, Map))
        contextMap - the map providing information on cleaning context, NEVER null
        Returns:
        the cleaned HTML
        See Also:
        WysiwygPolicyFilter.afterClean(String, String, Map)