@Override
    public String resolveMacros(String input) {

        if (input == null) {
            return null;
        }
        // We are overriding this method to implement the no_prefix macro. This is because
        // we only know what the no_prefix macro should expand to after resolving all other
        // macros (there could be an arbitrary number of macros before it which might potentially
        // all expand to the empty string).
        String result = super.resolveMacros(input);
        Matcher matcher = NO_PREFIX_PATTERN.matcher(result);
        if (matcher.find()) {
            StringBuffer resultBuffer = new StringBuffer();
            matcher.appendReplacement(
                resultBuffer,
                matcher.start() == 0 ? "" : result.substring(matcher.start(1), matcher.end(1)));
            matcher.appendTail(resultBuffer);
            result = resultBuffer.toString();
        }
        return result;
    }
@ Override public String resolveMacros ( String input ) { if ( input == null ) { return null ; } String result = super . resolveMacros ( input ) ; Matcher matcher = NO_PREFIX_PATTERN . matcher ( result ) ; if ( matcher . find ( ) ) { StringBuffer resultBuffer = new StringBuffer ( ) ; matcher . appendReplacement ( resultBuffer , matcher . start ( ) == 0 ? "" : result . substring ( matcher . start ( 1 ) , matcher . end ( 1 ) ) ) ; matcher . appendTail ( resultBuffer ) ; result = resultBuffer . toString ( ) ; } return result ; }
@see org.opencms.util.CmsMacroResolver#resolveMacros(java.lang.String)