org.opencms.util
Interface I_CmsMacroResolver

All Known Implementing Classes:
CmsJspTagContentInfo, CmsMacroResolver, CmsToolMacroResolver

public interface I_CmsMacroResolver

Describes a macro mapper, which is used to efficiently resolve macros in the form of ${key} in an input String.

The macro replacement is pre-implemented in CmsMacroResolver.resolveMacros(String, I_CmsMacroResolver).

Since:
6.0.0
Version:
$Revision: 1.7 $
Author:
Alexander Kandzior

Field Summary
static char MACRO_DELIMITER
          Delimiter char '$' for a macro.
static char MACRO_END
          End char '}' for a macro.
static char MACRO_START
          Start char '{' for a macro.
 
Method Summary
 java.lang.String getMacroValue(java.lang.String macro)
          Resolves a single macro to the macro value, returns null if the macro could not be resolved.
 boolean isKeepEmptyMacros()
          Returns true if macros that could not be resolved are kept "as is" in the input String, false if they are replaced by an empty String.
 java.lang.String resolveMacros(java.lang.String input)
          Resolves all macros in the input, replacing them with the macro values.
 

Field Detail

MACRO_DELIMITER

public static final char MACRO_DELIMITER
Delimiter char '$' for a macro.

See Also:
Constant Field Values

MACRO_END

public static final char MACRO_END
End char '}' for a macro.

See Also:
Constant Field Values

MACRO_START

public static final char MACRO_START
Start char '{' for a macro.

See Also:
Constant Field Values
Method Detail

getMacroValue

public java.lang.String getMacroValue(java.lang.String macro)
Resolves a single macro to the macro value, returns null if the macro could not be resolved.

Parameters:
macro - the macro to resolve
Returns:
the resolved macro or null if the macro could not be resolved

isKeepEmptyMacros

public boolean isKeepEmptyMacros()
Returns true if macros that could not be resolved are kept "as is" in the input String, false if they are replaced by an empty String.

Returns:
true if macros that could not be resolved are kept "as is" in the input String, false if they are replaced by an empty String

resolveMacros

public java.lang.String resolveMacros(java.lang.String input)
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