Search in sources :

Example 6 with NestedTagValue

use of tools.utils.TagValue.NestedTagValue in project AuthMeReloaded by AuthMe.

the class TranslationPageGenerator method executeDefault.

@Override
public void executeDefault() {
    TranslationsGatherer gatherer = new TranslationsGatherer();
    NestedTagValue translationValuesHolder = new NestedTagValue();
    for (TranslationInfo translation : gatherer.getTranslationInfo()) {
        int percentage = (int) Math.round(translation.percentTranslated * 100);
        String name = firstNonNull(LANGUAGE_NAMES.get(translation.code), "?");
        TagValueHolder valueHolder = TagValueHolder.create().put("code", translation.code).put("name", name).put("percentage", Integer.toString(percentage)).put("color", computeColor(percentage));
        translationValuesHolder.add(valueHolder);
    }
    TagValueHolder tags = TagValueHolder.create().put("languages", translationValuesHolder);
    FileIoUtils.generateFileFromTemplate(TEMPLATE_FILE, DOCS_PAGE, tags);
    System.out.println("Wrote to '" + DOCS_PAGE + "'");
}
Also used : TagValueHolder(tools.utils.TagValueHolder) NestedTagValue(tools.utils.TagValue.NestedTagValue) TranslationInfo(tools.docs.translations.TranslationsGatherer.TranslationInfo)

Example 7 with NestedTagValue

use of tools.utils.TagValue.NestedTagValue in project AuthMeReloaded by AuthMe.

the class TagReplacer method applyReplacements.

/**
     * Replace a template with default tags and custom ones supplied by a map.
     *
     * @param template The template to process
     * @param tagValues Container with tags and their associated values
     * @return The filled template
     */
public static String applyReplacements(String template, TagValueHolder tagValues) {
    String result = template;
    for (Map.Entry<String, TagValue<?>> tagRule : tagValues.getValues().entrySet()) {
        final String name = tagRule.getKey();
        if (tagRule.getValue() instanceof TextTagValue) {
            final TextTagValue value = (TextTagValue) tagRule.getValue();
            result = replaceOptionalTag(result, name, value).replace("{" + name + "}", value.getValue());
        } else if (tagRule.getValue() instanceof NestedTagValue) {
            final NestedTagValue value = (NestedTagValue) tagRule.getValue();
            result = replaceIterateTag(replaceOptionalTag(result, name, value), name, value);
        } else {
            throw new IllegalStateException("Unknown tag value type");
        }
    }
    return applyReplacements(result);
}
Also used : TextTagValue(tools.utils.TagValue.TextTagValue) NestedTagValue(tools.utils.TagValue.NestedTagValue) NestedTagValue(tools.utils.TagValue.NestedTagValue) TextTagValue(tools.utils.TagValue.TextTagValue) Map(java.util.Map)

Aggregations

NestedTagValue (tools.utils.TagValue.NestedTagValue)7 TagValueHolder (tools.utils.TagValueHolder)4 Map (java.util.Map)3 HashAlgorithm (fr.xephi.authme.security.HashAlgorithm)2 CommandDescription (fr.xephi.authme.command.CommandDescription)1 CommandInitializer (fr.xephi.authme.command.CommandInitializer)1 TranslationInfo (tools.docs.translations.TranslationsGatherer.TranslationInfo)1 TextTagValue (tools.utils.TagValue.TextTagValue)1