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.8 $
Author:
Alexander Kandzior

Field Summary
static char MACRO_DELIMITER
          Delimiter char '$' for a macro - old style.
static char MACRO_DELIMITER_NEW
          Delimiter char '%' for a macro - new style.
static char MACRO_END
          End char '}' for a macro - old style.
static char MACRO_END_NEW
          End char ')' for a macro - new style.
static char MACRO_START
          Start char '{' for a macro - old style.
static char MACRO_START_NEW
          Start char '(' for a macro - new style.
 
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 - old style.

See Also:
Constant Field Values

MACRO_DELIMITER_NEW

public static final char MACRO_DELIMITER_NEW
Delimiter char '%' for a macro - new style.

See Also:
Constant Field Values

MACRO_END

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

See Also:
Constant Field Values

MACRO_END_NEW

public static final char MACRO_END_NEW
End char ')' for a macro - new style.

See Also:
Constant Field Values

MACRO_START

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

See Also:
Constant Field Values

MACRO_START_NEW

public static final char MACRO_START_NEW
Start char '(' for a macro - new style.

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