Class AbstractCaddyHandler<T extends AbstractCaddyContext>

    • Field Detail

      • openTab

        protected int openTab
      • opClearCaddy

        protected boolean opClearCaddy
      • opRemoveCaddy

        protected boolean opRemoveCaddy
      • opPreview

        protected boolean opPreview
      • messageOnSuccess

        protected java.lang.String messageOnSuccess
        I18N message to display on success instead of the generic message (not the property, the already resolved message)
    • Constructor Detail

      • AbstractCaddyHandler

        public AbstractCaddyHandler()
    • Method Detail

      • context

        protected T context()
      • init

        protected void init()
        Description copied from class: JcmsFormHandler
        Method to implement if you need to initialize your handler from parameter received, prior to all security validation.

        You must absolutely not perform any action which modify data or site configuration.

        Therefore it is strongly recommend NOT TO implement this method, or use very wisely.

        Overrides:
        init in class JcmsFormHandler
      • processAction

        public boolean processAction()
                              throws java.io.IOException
        Description copied from class: JcmsFormHandler
        Method to be implemented to check/validate action to be performed and process them.

        Default implementation is to return false. No need to call super method.

        This method may NOT be invoked at all if security validation are not met.

        You must ensure your handler and JSP can work properly without any code invoked in this method.

        Overrides:
        processAction in class JcmsFormHandler
        Returns:
        false if no redirection is needed, true otherwise
        Throws:
        java.io.IOException - IO Exception
      • getDataClass

        public abstract java.lang.Class<? extends Data> getDataClass()
        Retrieve the type of data being handled by this handler
        Returns:
        a Data class
      • getNewCaddyContext

        protected abstract T getNewCaddyContext​(Caddy caddy,
                                                Member member)
        Retrieve a new instance of CaddyContext.
        Parameters:
        caddy - the current Caddy
        member - the logged Member
        Returns:
        a AbstractCaddyContext instance
      • getNewCaddyProcess

        protected abstract AbstractCaddyProcess<T> getNewCaddyProcess()
        Retrieve a new instance of CaddyProcess to start action when required.
        Returns:
        a AbstractCaddyProcess instance
      • getJsp

        protected abstract java.lang.String getJsp()
        Retrieve the path of the JSP.
        Returns:
        a path relative to the webapp root.
      • startBackgroundProcessAndRedirect

        protected boolean startBackgroundProcessAndRedirect​(java.lang.String operation)
                                                     throws java.io.IOException
        Create a new Process, set its label and domain automatically from current Data type and specified operation, then start it.
        Parameters:
        operation - the operation
        Returns:
        true to indicate a redirect was performed
        Throws:
        java.io.IOException - if redirection after process fails
      • validateUpdate

        protected boolean validateUpdate()
      • performUpdate

        protected boolean performUpdate()
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • validateDelete

        protected boolean validateDelete()
      • performDelete

        protected boolean performDelete()
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • validateClearCaddy

        protected boolean validateClearCaddy()
      • performClearCaddy

        protected boolean performClearCaddy()
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • validateSearchAndReplace

        protected final boolean validateSearchAndReplace()
        For search and replace to be functionnal, you MUST call this method once prior to calling searchAndReplace method.
        Returns:
        true if operation can be performed
      • searchAndReplace

        protected final java.lang.String searchAndReplace​(java.lang.String input)
        Do a search and replace using previously specifed patterns (if specified and validated). Take into account the too option "apply in empty field" and "use regexp".
        Parameters:
        input - the string to be modified
        Returns:
        the string modified
      • validateRemoveCaddy

        protected final boolean validateRemoveCaddy()
      • performRemoveCaddy

        protected final boolean performRemoveCaddy()
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • setRemoveIds

        public final void setRemoveIds​(java.lang.String[] rids)
        Sets the ids of Data to remove from caddy.
        Parameters:
        rids - ids of publication to remove from caddy
      • previewSearchAndReplace

        public final java.lang.String previewSearchAndReplace​(java.lang.String input,
                                                              java.lang.String lang)
        Preview the search and replace given a string and its language.
        Parameters:
        input - the string to preview
        lang - the language of the string (in order to apply specified option, if null, check is not done)
        Returns:
        the input string modified according to given string
      • getSearchPattern

        public final java.lang.String getSearchPattern()
      • setSearchPattern

        public final void setSearchPattern​(java.lang.String searchPattern)
      • getReplacePattern

        public final java.lang.String getReplacePattern()
      • setReplacePattern

        public final void setReplacePattern​(java.lang.String replacePattern)
      • setUseRegExp

        public final void setUseRegExp​(boolean useRegExp)
      • isUsingRegExp

        public final boolean isUsingRegExp()
      • setApplyInEmptyFields

        public final void setApplyInEmptyFields​(boolean applyInEmptyFields)
      • isApplyingInEmptyFields

        public final boolean isApplyingInEmptyFields()
      • setSearchAndReplaceLang

        public final void setSearchAndReplaceLang​(java.lang.String[] langs)
      • isSearchAndReplaceLangSelected

        public final boolean isSearchAndReplaceLangSelected​(java.lang.String lang)
      • setDeleteDataExtension

        public final void setDeleteDataExtension​(boolean deleteDataExtension)
      • isDeletingDataExtension

        public final boolean isDeletingDataExtension()
      • setIgnoreIntegrityCheck

        public final void setIgnoreIntegrityCheck​(boolean ignoreIntegrityCheck)
      • isIgnoringIntegrityCheck

        public final boolean isIgnoringIntegrityCheck()
      • setOpenTab

        public final void setOpenTab​(int openTab)
      • getOpenTab

        public final int getOpenTab()
      • isTabForced

        public final boolean isTabForced()
      • setOpUpdate

        public final void setOpUpdate​(java.lang.String v)
      • setOpDelete

        public final void setOpDelete​(java.lang.String v)
      • setForceDelete

        public void setForceDelete​(java.lang.String v)
        Sets forceDelete option.
        Parameters:
        v - the value to set
        Since:
        jcms-9.0.5 jcms-10.0.2 JCMS-6305
      • getAvailableForceDelete

        public boolean getAvailableForceDelete()
      • getDefaultForceDelete

        protected boolean getDefaultForceDelete()
        Return weither forceDelete option should be enabled by default.
        Returns:
        false by default
        Since:
        jcms-9.0.5 jcms-10.0.2 JCMS-6305 JCMS-6718
      • setOpRemoveCaddy

        public final void setOpRemoveCaddy​(java.lang.String v)
      • setOpClearCaddy

        public final void setOpClearCaddy​(java.lang.String v)
      • setOpPreview

        public final void setOpPreview​(java.lang.String v)
      • isPreviewing

        public final boolean isPreviewing()
      • setClassificationLevel

        public void setClassificationLevel​(int level)
        Set the new classification level to use for the Data supporting it.
        Parameters:
        level - a value from 0 for unclassified publication to ClassificationManager.getMaximumLevel() (included) for highly classified publication.
        Since:
        10.0.8 / JCMS-10746
        See Also:
        ClassificationManager
      • showClassificationLevel

        public boolean showClassificationLevel()
        Check if the classification level field should be displayed
        Returns:
        true to display field, false otherwise
        Since:
        10.0.8 / JCMS-10746
      • getClassificationLevelSettings

        public EnumerateSettings getClassificationLevelSettings()
        Retrieve an EnumerateSettings suitable to edit classification level in the caddy.
        Returns:
        an EnumerateSettings, never return null
        Since:
        10.0.8 / JCMS-10746