org.opencms.workplace.editors.directedit
Class CmsAdvancedDirectEditProvider

java.lang.Object
  extended by org.opencms.workplace.editors.directedit.A_CmsDirectEditProvider
      extended by org.opencms.workplace.editors.directedit.CmsAdvancedDirectEditProvider
All Implemented Interfaces:
java.lang.Cloneable, I_CmsConfigurationParameterHandler, I_CmsDirectEditProvider
Direct Known Subclasses:
CmsToolbarDirectEditProvider

public class CmsAdvancedDirectEditProvider
extends A_CmsDirectEditProvider

Provider for the OpenCms AdvancedDirectEdit.

Since OpenCms version 8.0.0.

This provider DOES NOT support CmsDirectEditMode.MANUAL mode.

Since:
8.0.0

Field Summary
protected  int m_lastPermissionMode
          Indicates the permissions for the last element the was opened.
protected  boolean m_useIds
          True if the elements should be assigned randomly generated ids.
 
Fields inherited from class org.opencms.workplace.editors.directedit.A_CmsDirectEditProvider
INCLUDE_FILE_DEFAULT, m_cms, m_configurationParameters, m_editButtonStyle, m_fileName, m_messages, m_mode, m_rnd
 
Fields inherited from interface org.opencms.workplace.editors.directedit.I_CmsDirectEditProvider
ATTRIBUTE_DIRECT_EDIT_PROVIDER, ATTRIBUTE_DIRECT_EDIT_PROVIDER_PARAMS
 
Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
 
Constructor Summary
CmsAdvancedDirectEditProvider()
           
 
Method Summary
 java.lang.String endDirectEditDisabled()
          Returns the end HTML for a disabled direct edit button.
 java.lang.String endDirectEditEnabled()
          Returns the end HTML for an enabled direct edit button.
 java.lang.String getRandomId()
          Generates a random element id.
 void insertDirectEditEnd(javax.servlet.jsp.PageContext context)
          Inserts the "end direct edit" HTML in the provided JSP page context.
 void insertDirectEditIncludes(javax.servlet.jsp.PageContext context, CmsDirectEditParams params)
          Inserts the "direct edit header" HTML in the provided JSP page context.
 boolean insertDirectEditStart(javax.servlet.jsp.PageContext context, CmsDirectEditParams params)
          Inserts the "start direct edit" HTML in the provided JSP page context.
 boolean isManual(CmsDirectEditMode mode)
          Returns false because the default provider does not support manual button placement.
 I_CmsDirectEditProvider newInstance()
          Creates a new instance of this direct edit provider with the same basic configuration.
 java.lang.String startDirectEditDisabled(CmsDirectEditParams params, CmsDirectEditResourceInfo resourceInfo)
          Returns the start HTML for a disabled direct edit button.
 java.lang.String startDirectEditEnabled(CmsDirectEditParams params, CmsDirectEditResourceInfo resourceInfo)
          Returns the start HTML for an enabled direct edit button.
 
Methods inherited from class org.opencms.workplace.editors.directedit.A_CmsDirectEditProvider
addConfigurationParameter, getConfiguration, getLink, getNextDirectEditId, getResourceInfo, init, initConfiguration, print
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_lastPermissionMode

protected int m_lastPermissionMode
Indicates the permissions for the last element the was opened.


m_useIds

protected boolean m_useIds
True if the elements should be assigned randomly generated ids.

Constructor Detail

CmsAdvancedDirectEditProvider

public CmsAdvancedDirectEditProvider()
Method Detail

endDirectEditDisabled

public java.lang.String endDirectEditDisabled()
Returns the end HTML for a disabled direct edit button.

Returns:
the end HTML for a disabled direct edit button

endDirectEditEnabled

public java.lang.String endDirectEditEnabled()
Returns the end HTML for an enabled direct edit button.

Returns:
the end HTML for an enabled direct edit button

getRandomId

public java.lang.String getRandomId()
Generates a random element id.

Returns:
a random element id

insertDirectEditEnd

public void insertDirectEditEnd(javax.servlet.jsp.PageContext context)
                         throws javax.servlet.jsp.JspException
Description copied from interface: I_CmsDirectEditProvider
Inserts the "end direct edit" HTML in the provided JSP page context.

Parameters:
context - the JSP page context to insert the HTML to
Throws:
javax.servlet.jsp.JspException - in case something goes wrong
See Also:
I_CmsDirectEditProvider.insertDirectEditEnd(javax.servlet.jsp.PageContext)

insertDirectEditIncludes

public void insertDirectEditIncludes(javax.servlet.jsp.PageContext context,
                                     CmsDirectEditParams params)
                              throws javax.servlet.jsp.JspException
Description copied from interface: I_CmsDirectEditProvider
Inserts the "direct edit header" HTML in the provided JSP page context.

Parameters:
context - the JSP page context to insert the HTML to
params - the parameters for the direct edit includes
Throws:
javax.servlet.jsp.JspException - in case something goes wrong
See Also:
I_CmsDirectEditProvider.insertDirectEditIncludes(javax.servlet.jsp.PageContext, org.opencms.workplace.editors.directedit.CmsDirectEditParams)

insertDirectEditStart

public boolean insertDirectEditStart(javax.servlet.jsp.PageContext context,
                                     CmsDirectEditParams params)
                              throws javax.servlet.jsp.JspException
Description copied from interface: I_CmsDirectEditProvider
Inserts the "start direct edit" HTML in the provided JSP page context.

Parameters:
context - the JSP page context to insert the HTML to
params - the parameters for the direct edit call
Returns:
true in case a direct edit element was opened, false otherwise
Throws:
javax.servlet.jsp.JspException - in case something goes wrong
See Also:
I_CmsDirectEditProvider.insertDirectEditStart(javax.servlet.jsp.PageContext, org.opencms.workplace.editors.directedit.CmsDirectEditParams)

isManual

public boolean isManual(CmsDirectEditMode mode)
Returns false because the default provider does not support manual button placement.

Specified by:
isManual in interface I_CmsDirectEditProvider
Overrides:
isManual in class A_CmsDirectEditProvider
Parameters:
mode - the mode of the current direct edit element
Returns:
true if this provider (currently) operates in manual mode
See Also:
I_CmsDirectEditProvider.isManual(org.opencms.workplace.editors.directedit.CmsDirectEditMode)

newInstance

public I_CmsDirectEditProvider newInstance()
Description copied from interface: I_CmsDirectEditProvider
Creates a new instance of this direct edit provider with the same basic configuration.

Returns:
a new instance of this direct edit provider with the same basic configuration
See Also:
I_CmsDirectEditProvider.newInstance()

startDirectEditDisabled

public java.lang.String startDirectEditDisabled(CmsDirectEditParams params,
                                                CmsDirectEditResourceInfo resourceInfo)
Returns the start HTML for a disabled direct edit button.

Parameters:
params - the direct edit parameters
resourceInfo - contains information about the resource to edit
Returns:
the start HTML for a disabled direct edit button

startDirectEditEnabled

public java.lang.String startDirectEditEnabled(CmsDirectEditParams params,
                                               CmsDirectEditResourceInfo resourceInfo)
                                        throws JSONException
Returns the start HTML for an enabled direct edit button.

Parameters:
params - the direct edit parameters
resourceInfo - contains information about the resource to edit
Returns:
the start HTML for an enabled direct edit button
Throws:
JSONException