| /* |
| * Copyright (C) 2008 The Android Open Source Project |
| * |
| * 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 com.ibm.icu4jni.text; |
| |
| import java.text.FieldPosition; |
| import java.text.ParsePosition; |
| |
| final class NativeDecimalFormat { |
| |
| enum UNumberFormatAttribute { |
| UNUM_PARSE_INT_ONLY, |
| UNUM_GROUPING_USED, |
| UNUM_DECIMAL_ALWAYS_SHOWN, |
| UNUM_MAX_INTEGER_DIGITS, |
| UNUM_MIN_INTEGER_DIGITS, |
| UNUM_INTEGER_DIGITS, |
| UNUM_MAX_FRACTION_DIGITS, |
| UNUM_MIN_FRACTION_DIGITS, |
| UNUM_FRACTION_DIGITS, |
| UNUM_MULTIPLIER, |
| UNUM_GROUPING_SIZE, |
| UNUM_ROUNDING_MODE, |
| UNUM_ROUNDING_INCREMENT, |
| UNUM_FORMAT_WIDTH, |
| UNUM_PADDING_POSITION, |
| UNUM_SECONDARY_GROUPING_SIZE, |
| UNUM_SIGNIFICANT_DIGITS_USED, |
| UNUM_MIN_SIGNIFICANT_DIGITS, |
| UNUM_MAX_SIGNIFICANT_DIGITS, |
| UNUM_LENIENT_PARSE |
| } |
| |
| enum UNumberFormatTextAttribute { |
| UNUM_POSITIVE_PREFIX, |
| UNUM_POSITIVE_SUFFIX, |
| UNUM_NEGATIVE_PREFIX, |
| UNUM_NEGATIVE_SUFFIX, |
| UNUM_PADDING_CHARACTER, |
| UNUM_CURRENCY_CODE, |
| UNUM_DEFAULT_RULESET, |
| UNUM_PUBLIC_RULESETS |
| } |
| |
| static native int openDecimalFormatImpl(String locale, String pattern); |
| |
| static native void closeDecimalFormatImpl(int addr); |
| |
| static native int cloneImpl(int addr); |
| |
| static native void setSymbol(int addr, int symbol, String str); |
| static native void setSymbol(int addr, int symbol, char ch); |
| |
| static native String getSymbol(int addr, int symbol); |
| |
| static native void setAttribute(int addr, int symbol, int i); |
| |
| static native int getAttribute(int addr, int symbol); |
| |
| static native void setTextAttribute(int addr, int symbol, String str); |
| |
| static native String getTextAttribute(int addr, int symbol); |
| |
| static native void applyPatternImpl(int addr, boolean localized, String pattern); |
| |
| static native String toPatternImpl(int addr, boolean localized); |
| |
| static native String format(int addr, long value, FieldPosition position, String fieldType, StringBuffer attributes); |
| |
| static native String format(int addr, double value, FieldPosition position, String fieldType, StringBuffer attributes); |
| |
| static native String format(int addr, String value, FieldPosition position, String fieldType, StringBuffer attributes, int scale); |
| |
| static native Number parse(int addr, String string, ParsePosition position); |
| } |