Class BaseParameter<T>
- java.lang.Object
-
- com.atlassian.confluence.macro.params.BaseParameter<T>
-
- All Implemented Interfaces:
Parameter<T>
- Direct Known Subclasses:
BooleanQueryFactoryParameter
,MaxResultsParameter
,MultiValueParameter
,SearchSortParameter
public abstract class BaseParameter<T> extends Object implements Parameter<T>
A base implementation ofParameter
, providing support for multiple default parameter names, and a default value if no parameter is specified.- Since:
- 2.9
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
shouldValidate
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseParameter(String[] names, String defaultValue)
protected
BaseParameter(String name, String defaultValue)
protected
BaseParameter(List<String> names, String defaultValue)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addParameterAlias(String name)
Deprecated.since 3.1: this class is not thread safe and should not be mutatedprotected abstract T
findObject(String paramValue, MacroExecutionContext ctx)
Responsible for converting a macro parameter string value to its proper object representation (say "1" to new Integer(1))T
findValue(MacroExecutionContext ctx)
Attempts to find the value from the specifiedMacroExecutionContext
object.String
getDefaultValue()
Returns the default value for this parameter if no match is found in the context.protected String
getParameter(Map<String,String> params, List names, String defaultValue)
Returns the literal value of the parameter in the specifiedMap
, using the specifiedList
for names and aliases and the specified default value.String
getParameterValue(Map<String,String> params)
Returns the literal value of the parameter, or the default value if none is present.void
setDefaultValue(String defaultValue)
Deprecated.since 3.1: this class is not thread safe and should not be mutatedvoid
setParameterNames(String[] names)
Deprecated.since 3.1: this class is not thread safe and should not be mutatedvoid
setValidate(boolean shouldValidate)
Sets whether this parameter should attempt to validate its values.
-
-
-
Method Detail
-
addParameterAlias
@Deprecated public final void addParameterAlias(String name)
Deprecated.since 3.1: this class is not thread safe and should not be mutatedAdds the specified String as an alias to the default name of this parameter.- Parameters:
name
- another name for the parameter recognized by this object
-
setParameterNames
@Deprecated public final void setParameterNames(String[] names)
Deprecated.since 3.1: this class is not thread safe and should not be mutatedSets the specified String array as the names by which to recognize this parameter.- Parameters:
names
- the names of the parameter to recognize
-
setDefaultValue
@Deprecated public final void setDefaultValue(String defaultValue)
Deprecated.since 3.1: this class is not thread safe and should not be mutatedSets the default value to be returned for this parameter if no match is found in the context.- Parameters:
defaultValue
- the default value for this parameter
-
getDefaultValue
public final String getDefaultValue()
Returns the default value for this parameter if no match is found in the context.- Returns:
- the default value for this parameter
-
getParameter
protected final String getParameter(Map<String,String> params, List names, String defaultValue)
Returns the literal value of the parameter in the specifiedMap
, using the specifiedList
for names and aliases and the specified default value.- Parameters:
params
- theMap
of parameters to searchnames
- the parameter names to look fordefaultValue
- the default value to return if no match is found- Returns:
- the parameter value, or the default if none is found
-
getParameterValue
public final String getParameterValue(Map<String,String> params)
Returns the literal value of the parameter, or the default value if none is present.- Parameters:
params
- theMap
of parameters to search- Returns:
- the literal value of the parameter
-
setValidate
public final void setValidate(boolean shouldValidate)
Description copied from interface:Parameter
Sets whether this parameter should attempt to validate its values.- Specified by:
setValidate
in interfaceParameter<T>
- Parameters:
shouldValidate
- true if this parameter should attempt to validate
-
findValue
public final T findValue(MacroExecutionContext ctx) throws ParameterException
Description copied from interface:Parameter
Attempts to find the value from the specifiedMacroExecutionContext
object.- Specified by:
findValue
in interfaceParameter<T>
- Parameters:
ctx
- The execution context for the macro.- Returns:
- The parameter value.
- Throws:
ParameterException
- if there was a problem while processing the parameter.
-
findObject
protected abstract T findObject(String paramValue, MacroExecutionContext ctx) throws ParameterException
Responsible for converting a macro parameter string value to its proper object representation (say "1" to new Integer(1))- Throws:
ParameterException
-
-