Package org.opencms.util
Interface I_CmsMacroResolver
- All Known Implementing Classes:
CmsGalleryNameMacroResolver,CmsJspLinkMacroResolver,CmsJspTagContentInfo,CmsKeyDummyMacroResolver,CmsMacroResolver,CmsNotificationMacroResolver,CmsToolMacroResolver,CmsVersionMacroResolver
public interface I_CmsMacroResolver
Describes a macro mapper, which is used to efficiently resolve macros
in the form of
%(key) or ${key} in an input String.
Starting with OpenCms 7.0, the preferred form of a macro is %(key). This is to
avoid conflicts / confusion with the JSP EL, which also uses the ${key} syntax.
The macro replacement is pre-implemented in
.CmsMacroResolver.resolveMacros(String, I_CmsMacroResolver)
- Since:
- 6.0.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final charDelimiter char'%'for a macro - new / current style.static final charDelimiter char'$'for a macro - old style.static final charEnd char')'for a macro - new / current style.static final charEnd char'}'for a macro - old style.static final charStart char'('for a macro - new / current style.static final charStart char'{'for a macro - old style. -
Method Summary
Modifier and TypeMethodDescriptiongetMacroValue(String macro) Resolves a single macro to the macro value, returnsnullif the macro could not be resolved.booleanReturnstrueif macros that could not be resolved are kept "as is" in the input String,falseif they are replaced by an empty String.resolveMacros(String input) Resolves all macros in the input, replacing them with the macro values.
-
Field Details
-
MACRO_DELIMITER
Delimiter char'%'for a macro - new / current style.- See Also:
-
MACRO_DELIMITER_OLD
Delimiter char'$'for a macro - old style.- See Also:
-
MACRO_END
End char')'for a macro - new / current style.- See Also:
-
MACRO_END_OLD
End char'}'for a macro - old style.- See Also:
-
MACRO_START
Start char'('for a macro - new / current style.- See Also:
-
MACRO_START_OLD
Start char'{'for a macro - old style.- See Also:
-
-
Method Details
-
getMacroValue
Resolves a single macro to the macro value, returnsnullif the macro could not be resolved.- Parameters:
macro- the macro to resolve- Returns:
- the resolved macro or
nullif the macro could not be resolved
-
isKeepEmptyMacros
boolean isKeepEmptyMacros()Returnstrueif macros that could not be resolved are kept "as is" in the input String,falseif they are replaced by an empty String.- Returns:
trueif macros that could not be resolved are kept "as is" in the input String,falseif they are replaced by an empty String
-
resolveMacros
Resolves all macros in the input, replacing them with the macro values.The flag
isKeepEmptyMacros()controls how to deal with macros found in the input that can not be resolved.- Parameters:
input- the input to resolve the macros in- Returns:
- the input with all macros resolved
-