Class DefaultReplacerParameters
- java.lang.Object
-
- de.xima.fc.mdl.placeholder.DefaultReplacerParameters
-
- All Implemented Interfaces:
ILanguageTagProviding
,IContextReplacerParams
,IFormReplacerParams
,II18nValueReplacerParams
,IPlaceholderValueParams
,IReplacerParams
,ISessionReplacerParams
,ISystemReplacerParams
,ITemplateReplacerParams
,Serializable
public class DefaultReplacerParameters extends Object implements IPlaceholderValueParams
- Author:
- XIMA MEDIA GmbH
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.xima.fc.interfaces.placeholder.params.IContextReplacerParams
IContextReplacerParams.IValueReplacer
-
-
Constructor Summary
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description String
getBaseUrl()
Mandant
getClient()
Clock
getClock()
String
getContextPath()
com.alibaba.fastjson.JSONObject
getCreatorDataJSON()
com.alibaba.fastjson.JSONObject
getEditorDataJSON()
IPlaceholderEscaper
getEscaper()
The placeholder escaper, which should applied for the replaced placeholder values before they returned to the documentMap<String,Integer>
getFieldRepetitions()
When a form element placeholder is replaced and the form element is repeated, all repeated values are joined with a comma by default and used as the replacement value.IFormDataAdapter
getFormData()
FormVersion
getFormVersion()
String
getLanguageTag()
Map<String,Map<String,String>>
getPlaceholderMap()
Vorgang
getProcess()
Projekt
getProject()
IRepetitionContainer
getRepetitionContainer()
Deprecated.Map<String,IContextReplacerParams.IValueReplacer>
getReplacerMap()
javax.servlet.http.HttpServletRequest
getRequest()
javax.servlet.http.HttpServletResponse
getResponse()
String
getSessionId()
com.alibaba.fastjson.JSONObject
getUserDataJSON()
IBaseWorkflowExecutionContext
getWorkflowExecutionContext()
IWorkflowProcessingContext
getWorkflowProcessing()
Deprecated.boolean
isEncodeForHTML()
boolean
isEncodeFormValuesForPlaceholder()
boolean
isReplaceContextPlaceholders()
boolean
isReplaceFormPlaceholders()
boolean
isReplaceI18nPlaceholders()
boolean
isReplaceSessionPlaceholders()
boolean
isReplaceSystemPlaceholders()
boolean
isReplaceTemplatePlaceholders()
void
setBaseUrl(String baseUrl)
void
setClient(Mandant client)
void
setClock(Clock clock)
void
setContextPath(String contextPath)
void
setCreatorDataJSON(com.alibaba.fastjson.JSONObject creatorData)
void
setEditorDataJSON(com.alibaba.fastjson.JSONObject editorData)
void
setEncodeForHTML(boolean encodeForHTML)
void
setEncodeFormValuesForPlaceholder(boolean encodeFormValuesForPlaceholder)
void
setEscaper(IPlaceholderEscaper escaper)
void
setFieldRepetitions(Map<String,Integer> fieldRepetitions)
void
setFormData(IFormDataAdapter formData)
void
setFormVersion(FormVersion formVersion)
void
setLanguageTag(String languageTag)
void
setProcess(Vorgang process)
void
setProject(Projekt project)
void
setRepetitionContainer(IRepetitionContainer repetitionContainer)
Deprecated.void
setRepetitionContainer(String repeatedContainer, int ordinalIndex)
void
setReplaceContextPlaceholders(boolean replaceContextPlaceholders)
void
setReplaceFormPlaceholders(boolean replaceFormPlaceholders)
void
setReplaceI18nPlaceholders(boolean replaceI18nPlaceholders)
void
setReplaceSessionPlaceholders(boolean replaceSessionPlaceholders)
void
setReplaceSystemPlaceholders(boolean replaceSystemPlaceholders)
void
setReplaceTemplatePlaceholders(boolean replaceTemplatePlaceholders)
void
setRequest(javax.servlet.http.HttpServletRequest request)
void
setResponse(javax.servlet.http.HttpServletResponse response)
void
setSessionId(String sessionId)
void
setUserDataJSON(com.alibaba.fastjson.JSONObject userData)
void
setWorkflowProcessing(IWorkflowProcessingContext wfpctx)
-
-
-
Constructor Detail
-
DefaultReplacerParameters
public DefaultReplacerParameters()
-
DefaultReplacerParameters
public DefaultReplacerParameters(Map<String,Map<String,String>> contextPlaceholderMap, Map<String,IContextReplacerParams.IValueReplacer> contextReplacerMap)
-
DefaultReplacerParameters
public DefaultReplacerParameters(Vorgang process, String sessionId, String baseUrl)
-
DefaultReplacerParameters
public DefaultReplacerParameters(Vorgang process, String sessionId, String baseUrl, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
-
DefaultReplacerParameters
public DefaultReplacerParameters(IFormDataAdapter formData, FormVersion formVersion, boolean encodeForHTML)
-
DefaultReplacerParameters
public DefaultReplacerParameters(IFormDataAdapter formData, FormVersion formVersion, boolean encodeForHTML, boolean encodeFormValuesForPlaceholder)
-
DefaultReplacerParameters
public DefaultReplacerParameters(IBaseWorkflowExecutionContext wfpctx)
-
DefaultReplacerParameters
public DefaultReplacerParameters(IBaseWorkflowExecutionContext wfpctx, Vorgang formRecord)
-
DefaultReplacerParameters
public DefaultReplacerParameters(IReplacerParams params)
-
DefaultReplacerParameters
@Deprecated public DefaultReplacerParameters(IWorkflowProcessingContext wfpctx, Vorgang formRecord)
- Parameters:
wfpctx
- A workflow processing context.formRecord
- A form record to use, instead of the form record of the given processing context.
-
DefaultReplacerParameters
public DefaultReplacerParameters(IFormDataAdapter formData, Vorgang process)
-
DefaultReplacerParameters
@Deprecated public DefaultReplacerParameters(IWorkflowProcessingContext wfpctx)
Deprecated.- Parameters:
wfpctx
- A workflow processing context.
-
DefaultReplacerParameters
public DefaultReplacerParameters(Vorgang process)
-
DefaultReplacerParameters
public DefaultReplacerParameters(Mandant client)
-
-
Method Detail
-
isEncodeFormValuesForPlaceholder
public boolean isEncodeFormValuesForPlaceholder()
- Specified by:
isEncodeFormValuesForPlaceholder
in interfaceIFormReplacerParams
- Specified by:
isEncodeFormValuesForPlaceholder
in interfaceIReplacerParams
-
setEncodeFormValuesForPlaceholder
public void setEncodeFormValuesForPlaceholder(boolean encodeFormValuesForPlaceholder)
-
getWorkflowProcessing
@Deprecated public IWorkflowProcessingContext getWorkflowProcessing()
Deprecated.- Specified by:
getWorkflowProcessing
in interfaceISystemReplacerParams
- Returns:
- The current workflow processing context, or
null
if none is available.
-
getWorkflowExecutionContext
public IBaseWorkflowExecutionContext getWorkflowExecutionContext()
- Specified by:
getWorkflowExecutionContext
in interfaceISystemReplacerParams
-
setWorkflowProcessing
public void setWorkflowProcessing(IWorkflowProcessingContext wfpctx)
-
getClient
public Mandant getClient()
- Specified by:
getClient
in interfaceIFormReplacerParams
- Specified by:
getClient
in interfaceII18nValueReplacerParams
- Specified by:
getClient
in interfaceISystemReplacerParams
- Specified by:
getClient
in interfaceITemplateReplacerParams
- Returns:
- The current
client
scope.
-
setClient
public void setClient(Mandant client)
-
getProcess
public Vorgang getProcess()
- Specified by:
getProcess
in interfaceIFormReplacerParams
- Specified by:
getProcess
in interfaceISessionReplacerParams
- Specified by:
getProcess
in interfaceISystemReplacerParams
- Returns:
- The
form record
context, if any, for which the placeholder replacement is performed.
-
getClock
public Clock getClock()
- Specified by:
getClock
in interfaceIPlaceholderValueParams
- Specified by:
getClock
in interfaceISessionReplacerParams
- Specified by:
getClock
in interfaceISystemReplacerParams
- Returns:
- The clock to use for obtaining the current time.
-
setClock
public void setClock(Clock clock)
- Parameters:
clock
- The clock to use for obtaining the current time.
-
setProcess
public void setProcess(Vorgang process)
-
getProject
public Projekt getProject()
- Specified by:
getProject
in interfaceISystemReplacerParams
-
setProject
public void setProject(Projekt project)
-
getSessionId
public String getSessionId()
- Specified by:
getSessionId
in interfaceISessionReplacerParams
-
setSessionId
public void setSessionId(String sessionId)
-
getRequest
public javax.servlet.http.HttpServletRequest getRequest()
- Specified by:
getRequest
in interfaceISessionReplacerParams
-
setRequest
public void setRequest(javax.servlet.http.HttpServletRequest request)
-
getResponse
public javax.servlet.http.HttpServletResponse getResponse()
- Specified by:
getResponse
in interfaceISessionReplacerParams
-
setResponse
public void setResponse(javax.servlet.http.HttpServletResponse response)
-
getFormData
public IFormDataAdapter getFormData()
- Specified by:
getFormData
in interfaceIFormReplacerParams
- Specified by:
getFormData
in interfaceISystemReplacerParams
- Returns:
- The
form data adapter
with the data from the curren form record context, if any, for which the placeholder replacement is performed.
-
setFormData
public void setFormData(IFormDataAdapter formData)
- Specified by:
setFormData
in interfaceIFormReplacerParams
- Specified by:
setFormData
in interfaceISystemReplacerParams
- Parameters:
formData
- New form data to use.
-
getFormVersion
public FormVersion getFormVersion()
- Specified by:
getFormVersion
in interfaceIFormReplacerParams
- Returns:
- The
form version
context, if any, for which the placeholder replacement is performed.
-
setFormVersion
public void setFormVersion(FormVersion formVersion)
-
getContextPath
public String getContextPath()
- Specified by:
getContextPath
in interfaceISessionReplacerParams
- Specified by:
getContextPath
in interfaceISystemReplacerParams
-
setContextPath
public void setContextPath(String contextPath)
-
getRepetitionContainer
@Deprecated public IRepetitionContainer getRepetitionContainer()
Deprecated.Description copied from interface:IFormReplacerParams
SeeIFormReplacerParams.getFieldRepetitions()
for more details.- Specified by:
getRepetitionContainer
in interfaceIFormReplacerParams
- Returns:
- The repetition context where the replacement is made. May be
null
.
-
setRepetitionContainer
@Deprecated public void setRepetitionContainer(IRepetitionContainer repetitionContainer)
Deprecated.
-
setRepetitionContainer
public void setRepetitionContainer(String repeatedContainer, int ordinalIndex)
-
getFieldRepetitions
public Map<String,Integer> getFieldRepetitions()
Description copied from interface:IFormReplacerParams
When a form element placeholder is replaced and the form element is repeated, all repeated values are joined with a comma by default and used as the replacement value. When a repetition container is given as the context for the replacement and the form element is inside the same repetition container, only the value at the given index is used.For example, let's say we have a form with the following elements:
- ed1
- fs1 (repeated field set with the following elements)
- tf1
- tf2
- fs2 (repeated field set with the following elements)
- upl1
- upl2
valTf1_1
,valTf1_2
,valTf2_1
,valTf1_2
,valUpl1_1
,valUpl1_2
,valUpl2_1
,valUpl2_2
.Now when we have the placeholder
[%ed1%] [%tf1%] [%upl2%]
, it is replaced byvalEd1_valTf1_1,valTf1_2 valUpl2_1,valUpl2_2
by default.But if we are making the replacement within the context of
upl2
, e.g. when that placeholder is used to compute the file name forupl2
, we want to use only the value of the current repetition forupl2
, not a values joined with a comma.To do this, we can set the field repetitions to
(name="upl2", index=0)
. Then the placeholder evaluates tovalEd1_valTf1_1,valTf1_2 valUpl2_1
. If we set the repetitions to(name="upl1", index=1)
instead, the placeholder evaluates tovalEd1_valTf1_1,valTf1_2 valUpl2_2
.When this logic should be applied to all items in a repeated container, this method may return just that container. If this logic should be applied only to some items of a repeated container, those items must be returned individually. When multiple of the returned containers match, the first is used. Note however, that if you return a container within a repeated container, the children of the inner (non-repeated) container are not resolved automatically.
- Specified by:
getFieldRepetitions
in interfaceIFormReplacerParams
- Returns:
- The repetition context where the replacement is made. A mapping between the name of a form element and the repetition index for that form element or container.
-
getBaseUrl
public String getBaseUrl()
- Specified by:
getBaseUrl
in interfaceISessionReplacerParams
-
setBaseUrl
public void setBaseUrl(String baseUrl)
-
getLanguageTag
public String getLanguageTag()
- Specified by:
getLanguageTag
in interfaceIFormReplacerParams
- Specified by:
getLanguageTag
in interfaceILanguageTagProviding
- Returns:
- The language tag (
Locale.toLanguageTag()
) provided by this object.
-
setLanguageTag
public void setLanguageTag(String languageTag)
-
isEncodeForHTML
public boolean isEncodeForHTML()
- Specified by:
isEncodeForHTML
in interfaceIFormReplacerParams
- Specified by:
isEncodeForHTML
in interfaceII18nValueReplacerParams
- Returns:
- Use
IFormReplacerParams.getEscaper()
.
-
setEncodeForHTML
public void setEncodeForHTML(boolean encodeForHTML)
-
getEscaper
public IPlaceholderEscaper getEscaper()
Description copied from interface:IPlaceholderValueParams
The placeholder escaper, which should applied for the replaced placeholder values before they returned to the document- Specified by:
getEscaper
in interfaceIFormReplacerParams
- Specified by:
getEscaper
in interfaceIPlaceholderValueParams
- Specified by:
getEscaper
in interfaceIReplacerParams
- Returns:
- an instance of
IPlaceholderEscaper
-
setEscaper
public void setEscaper(IPlaceholderEscaper escaper)
-
getReplacerMap
public Map<String,IContextReplacerParams.IValueReplacer> getReplacerMap()
- Specified by:
getReplacerMap
in interfaceIContextReplacerParams
-
getPlaceholderMap
public Map<String,Map<String,String>> getPlaceholderMap()
- Specified by:
getPlaceholderMap
in interfaceIContextReplacerParams
-
getCreatorDataJSON
public com.alibaba.fastjson.JSONObject getCreatorDataJSON()
- Specified by:
getCreatorDataJSON
in interfaceISystemReplacerParams
-
setCreatorDataJSON
public void setCreatorDataJSON(com.alibaba.fastjson.JSONObject creatorData)
-
getEditorDataJSON
public com.alibaba.fastjson.JSONObject getEditorDataJSON()
- Specified by:
getEditorDataJSON
in interfaceISystemReplacerParams
-
setEditorDataJSON
public void setEditorDataJSON(com.alibaba.fastjson.JSONObject editorData)
-
getUserDataJSON
public com.alibaba.fastjson.JSONObject getUserDataJSON()
- Specified by:
getUserDataJSON
in interfaceISystemReplacerParams
-
setUserDataJSON
public void setUserDataJSON(com.alibaba.fastjson.JSONObject userData)
-
isReplaceContextPlaceholders
public boolean isReplaceContextPlaceholders()
- Specified by:
isReplaceContextPlaceholders
in interfaceIContextReplacerParams
- Returns:
- When
false
, context placeholders are not replaced.
-
setReplaceContextPlaceholders
public void setReplaceContextPlaceholders(boolean replaceContextPlaceholders)
-
isReplaceSystemPlaceholders
public boolean isReplaceSystemPlaceholders()
- Specified by:
isReplaceSystemPlaceholders
in interfaceISystemReplacerParams
- Returns:
- When
false
, system placeholders are not replaced.
-
setReplaceSystemPlaceholders
public void setReplaceSystemPlaceholders(boolean replaceSystemPlaceholders)
-
isReplaceFormPlaceholders
public boolean isReplaceFormPlaceholders()
- Specified by:
isReplaceFormPlaceholders
in interfaceIFormReplacerParams
- Returns:
- When
false
, form placeholders must not be processed at all.
-
setReplaceFormPlaceholders
public void setReplaceFormPlaceholders(boolean replaceFormPlaceholders)
-
isReplaceTemplatePlaceholders
public boolean isReplaceTemplatePlaceholders()
- Specified by:
isReplaceTemplatePlaceholders
in interfaceITemplateReplacerParams
- Returns:
- When
false
, template placeholders are not replaced.
-
setReplaceTemplatePlaceholders
public void setReplaceTemplatePlaceholders(boolean replaceTemplatePlaceholders)
-
isReplaceI18nPlaceholders
public boolean isReplaceI18nPlaceholders()
- Specified by:
isReplaceI18nPlaceholders
in interfaceII18nValueReplacerParams
- Returns:
- When
false
, i18n placeholders are not replaced.
-
setReplaceI18nPlaceholders
public void setReplaceI18nPlaceholders(boolean replaceI18nPlaceholders)
-
isReplaceSessionPlaceholders
public boolean isReplaceSessionPlaceholders()
- Specified by:
isReplaceSessionPlaceholders
in interfaceISessionReplacerParams
-
setReplaceSessionPlaceholders
public void setReplaceSessionPlaceholders(boolean replaceSessionPlaceholders)
-
-