package com.github.mustachejava.functions;

import com.github.mustachejava.TemplateFunction;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.function.Function;

/* JADX INFO: loaded from: classes.dex */
public class BundleFunctions {

    private static abstract class BundleFunc {
        protected final ResourceBundle res;
        protected final boolean returnLabels;

        protected BundleFunc(String str, Locale locale, boolean z) {
            this.res = ResourceBundle.getBundle(str, locale);
            this.returnLabels = z;
        }

        protected final String lookup(String str) {
            if (this.res.containsKey(str)) {
                return this.res.getString(str);
            }
            if (this.returnLabels) {
                return str;
            }
            return null;
        }
    }

    static class PreTranslateFunc extends BundleFunc implements TemplateFunction {
        private PreTranslateFunc(String str, Locale locale, boolean z) {
            super(str, locale, z);
        }

        @Override // java.util.function.Function
        public String apply(String str) {
            return super.lookup(str);
        }
    }

    static class PostTranslateFunc extends BundleFunc implements Function {
        private PostTranslateFunc(String str, Locale locale, boolean z) {
            super(str, locale, z);
        }

        @Override // java.util.function.Function
        public Object apply(Object obj) {
            return super.lookup((String) obj);
        }
    }

    public static Function newPreTranslate(String str, Locale locale) {
        return new PreTranslateFunc(str, locale, true);
    }

    public static Function newPreTranslateNullableLabel(String str, Locale locale) {
        return new PreTranslateFunc(str, locale, false);
    }

    public static Function newPostTranslate(String str, Locale locale) {
        return new PostTranslateFunc(str, locale, true);
    }

    public static Function newPostTranslateNullableLabel(String str, Locale locale) {
        return new PostTranslateFunc(str, locale, false);
    }
}
