Package org.teavm.classlib.java.text

Source Code of org.teavm.classlib.java.text.TDecimalFormatSymbols

/*
*  Copyright 2014 Alexey Andreev.
*
*  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.
*/
package org.teavm.classlib.java.text;

import org.teavm.classlib.impl.unicode.CLDRDecimalData;
import org.teavm.classlib.impl.unicode.CLDRHelper;
import org.teavm.classlib.java.util.TLocale;

/**
*
* @author Alexey Andreev
*/
public class TDecimalFormatSymbols {
    private TLocale locale;
    private char zeroDigit;
    private char groupingSeparator;
    private char decimalSeparator;
    private char perMill;
    private char percent;
    private char digit;
    private char patternSeparator;
    private String NaN;
    private String infinity;
    private char minusSign;
    private char monetaryDecimalSeparator;
    private String exponentSeparator;

    public TDecimalFormatSymbols() {
        this(TLocale.getDefault());
    }

    public TDecimalFormatSymbols(TLocale locale) {
        this.locale = locale;
        initData();
    }

    private void initData() {
        CLDRDecimalData data = CLDRHelper.resolveDecimalData(locale.getLanguage(), locale.getCountry());
        zeroDigit = '0';
        groupingSeparator = (char)data.getGroupingSeparator();
        decimalSeparator = (char)data.getDecimalSeparator();
        perMill = (char)data.getPerMill();
        percent = (char)data.getPercent();
        digit = '#';
        patternSeparator = ';';
        NaN = data.getNaN();
        infinity = data.getInfinity();
        minusSign = (char)data.getMinusSign();
        monetaryDecimalSeparator = (char)data.getMonetaryDecimalSeparator();
        exponentSeparator = data.getExponentSeparator();
    }

    public static TLocale[] getAvailableLocales() {
        return TLocale.getAvailableLocales();
    }

    public static final TDecimalFormatSymbols getInstance() {
        return new TDecimalFormatSymbols();
    }

    public static final TDecimalFormatSymbols getInstance(TLocale locale) {
        return new TDecimalFormatSymbols(locale);
    }

    public char getZeroDigit() {
        return zeroDigit;
    }

    public void setZeroDigit(char zeroDigit) {
        this.zeroDigit = zeroDigit;
    }

    public char getGroupingSeparator() {
        return groupingSeparator;
    }

    public void setGroupingSeparator(char groupingSeparator) {
        this.groupingSeparator = groupingSeparator;
    }

    public char getPerMill() {
        return perMill;
    }

    public void setPerMill(char perMill) {
        this.perMill = perMill;
    }

    public char getPercent() {
        return percent;
    }

    public void setPercent(char percent) {
        this.percent = percent;
    }

    public TLocale getLocale() {
        return locale;
    }

    public char getDecimalSeparator() {
        return decimalSeparator;
    }

    public void setDecimalSeparator(char decimalSeparator) {
        this.decimalSeparator = decimalSeparator;
    }

    public char getDigit() {
        return digit;
    }

    public void setDigit(char digit) {
        this.digit = digit;
    }

    public char getPatternSeparator() {
        return patternSeparator;
    }

    public void setPatternSeparator(char patternSeparator) {
        this.patternSeparator = patternSeparator;
    }

    public String getNaN() {
        return NaN;
    }

    public void setNaN(String naN) {
        NaN = naN;
    }

    public String getInfinity() {
        return infinity;
    }

    public void setInfinity(String infinity) {
        this.infinity = infinity;
    }

    public char getMinusSign() {
        return minusSign;
    }

    public void setMinusSign(char minusSign) {
        this.minusSign = minusSign;
    }

    public char getMonetaryDecimalSeparator() {
        return monetaryDecimalSeparator;
    }

    public void setMonetaryDecimalSeparator(char monetaryDecimalSeparator) {
        this.monetaryDecimalSeparator = monetaryDecimalSeparator;
    }

    public String getExponentSeparator() {
        return exponentSeparator;
    }

    public void setExponentSeparator(String exponentSeparator) {
        this.exponentSeparator = exponentSeparator;
    }

    public void setLocale(TLocale locale) {
        this.locale = locale;
    }

    @Override
    public Object clone() {
        try {
            return super.clone();
        } catch (CloneNotSupportedException e) {
            throw new AssertionError("This exception should not been thrown", e);
        }
    }
}
TOP

Related Classes of org.teavm.classlib.java.text.TDecimalFormatSymbols

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.