All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.robtimus.maven.plugins.i18n.Messages Maven / Gradle / Ivy

/*
 * Messages.java
 * Copyright 2017 Rob Spoor
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// This file has been generated by i18n-maven-plugin
// (https://robtimus.github.io/i18n-maven-plugin/)

package com.github.robtimus.maven.plugins.i18n;

import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.concurrent.ConcurrentHashMap;

@SuppressWarnings("nls")
final class Messages {

    private static final Map BUNDLES = new ConcurrentHashMap<>();

    private Messages() {
        throw new IllegalStateException("cannot create instances of " + getClass().getName());
    }

    private static ResourceBundle getResourceBundle(Locale locale) {
        Locale l = nonNull(locale);
        return BUNDLES.computeIfAbsent(l, k -> ResourceBundle.getBundle("com.github.robtimus.maven.plugins.i18n.i18n", l));
    }

    private static String getString(Locale locale, String key) {
        ResourceBundle bundle = getResourceBundle(locale);
        return bundle.getString(key);
    }

    private static Locale nonNull(Locale locale) {
        return locale != null ? locale : Locale.getDefault(Locale.Category.FORMAT);
    }

    static String noInputEncoding(Object arg) {
        return noInputEncoding(null, arg);
    }

    static String noInputEncoding(Locale locale, Object arg) {
        Locale l = nonNull(locale);
        String s = getString(l, "noInputEncoding");
        return String.format(l, s, arg);
    }

    static String noOutputEncoding(Object arg) {
        return noOutputEncoding(null, arg);
    }

    static String noOutputEncoding(Locale locale, Object arg) {
        Locale l = nonNull(locale);
        String s = getString(l, "noOutputEncoding");
        return String.format(l, s, arg);
    }

    static String generatingClass(
        Object arg1,
        Object arg2) {

        return generatingClass(null,
                arg1,
                arg2
        );
    }

    static String generatingClass(Locale locale,
            Object arg1,
            Object arg2) {

        Locale l = nonNull(locale);
        String s = getString(l, "generatingClass");
        return String.format(l, s,
                arg1,
                arg2
        );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy