com.enonic.cms.core.resolver.locale.LocaleParser.java Source code

Java tutorial

Introduction

Here is the source code for com.enonic.cms.core.resolver.locale.LocaleParser.java

Source

/*
 * Copyright 2000-2013 Enonic AS
 * http://www.enonic.com/license
 */
package com.enonic.cms.core.resolver.locale;

import java.util.Locale;

import com.google.common.base.Preconditions;

public abstract class LocaleParser {

    public static Locale parseLocale(final String value) {
        Preconditions.checkArgument(value != null, "locale string cannot be null");

        String normalized = supportBothUnderscoreAndDash(value);

        final String[] parts = normalized.split("_");

        if (parts.length == 1) {
            return new Locale(parts[0]);
        } else if (parts.length == 2) {
            return new Locale(parts[0], parts[1]);
        } else if (parts.length == 3) {
            return new Locale(parts[0], parts[1], parts[2]);
        }

        throw new IllegalArgumentException("Could not parse string: '" + value + "' to a valid locale");
    }

    private static String supportBothUnderscoreAndDash(String value) {
        String normalized = value.replace("-", "_");
        return normalized;
    }

}