Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

/*
 * $Id: LocaleUtil.java 667964 2008-06-15 15:00:54Z apetrelli $
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
 */

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

/**
 * Utilities for locale manipulation.
 *
 * @version $Rev: 667964 $ $Date: 2008-06-15 17:00:54 +0200 (Sun, 15 Jun 2008) $
 * @since 2.1.0
 */

public class Main {

    /**
     * The "null" Locale, i.e. a Locale that points to no real locale.
     *
     * @since 2.1.0
     */
    public static final Locale NULL_LOCALE = new Locale("");

    /**
     * Calculate the postfixes along the search path from the base bundle to the
     * bundle specified by baseName and locale. Method copied from
     * java.util.ResourceBundle
     *
     * @param locale The locale.
     * @return a list of postfixes to add to filenames.
     * @since 2.1.0
     */
    public static List<String> calculatePostfixes(Locale locale) {
        final List<String> result = new ArrayList<String>();
        // The default configuration file must be loaded to allow correct
        // definition inheritance.
        result.add("");

        if (locale == null) {
            return result;
        }

        final String language = locale.getLanguage();
        final int languageLength = language.length();
        final String country = locale.getCountry();
        final int countryLength = country.length();
        final String variant = locale.getVariant();
        final int variantLength = variant.length();

        if (languageLength + countryLength + variantLength == 0) {
            // The locale is "", "", "".
            return result;
        }

        final StringBuffer temp = new StringBuffer();
        temp.append('_');
        temp.append(language);

        if (languageLength > 0) {
            result.add(temp.toString());
        }

        if (countryLength + variantLength == 0) {
            return result;
        }

        temp.append('_');
        temp.append(country);

        if (countryLength > 0) {
            result.add(temp.toString());
        }

        if (variantLength == 0) {
            return result;
        } else {
            temp.append('_');
            temp.append(variant);
            result.add(temp.toString());
            return result;
        }
    }

}