de.larmic.butterfaces.resolver.MustacheResolver Maven / Gradle / Ivy
package de.larmic.butterfaces.resolver;
import de.larmic.butterfaces.component.partrenderer.StringUtils;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MustacheResolver {
public static final Pattern MUSTACHE_PATTERN = Pattern.compile("\\{\\{(.*?)\\}\\}");
/**
* Scans given template for mustache keys (syntax {{value}}).
*
* @return empty list if no mustache key is found.
*/
public static List getMustacheKeys(final String template) {
final Set keys = new HashSet<>();
if (StringUtils.isNotEmpty(template)) {
final Matcher matcher = MUSTACHE_PATTERN.matcher(template);
while(matcher.find()) {
keys.add(matcher.group(1));
}
}
return new ArrayList<>(keys);
}
public static List getMustacheKeysForTree(final String template) {
final List mustacheKeys = getMustacheKeys(template);
// TODO test and remove ignore case
mustacheKeys.removeAll(Arrays.asList("id", "title", "expanded", "description", "imageStyle", "imageClass", "styleClass"));
return mustacheKeys;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy