/* * Copyright 2013 serso aka se.solovyev * * 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. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Contact details * * Email: se.solovyev@gmail.com * Site: http://se.solovyev.org */ package org.solovyev.android.calculator; import org.solovyev.common.msg.MessageType; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; import static org.solovyev.common.msg.MessageType.*; public final class CalculatorMessages { /* Arithmetic error occurred: {0} */ public static final String msg_001 = "msg_1"; /* Too complex expression*/ public static final String msg_002 = "msg_2"; /* Too long execution time - check the expression*/ public static final String msg_003 = "msg_3"; /* Evaluation was cancelled*/ public static final String msg_004 = "msg_4"; /* No parameters are specified for function: {0}*/ public static final String msg_005 = "msg_5"; /* Infinite loop is detected in expression*/ public static final String msg_006 = "msg_6"; /** * Some data could not be loaded. Contact authors of application with information below.\n\nUnable to load:\n{0} */ public static final String msg_007 = "msg_7"; /* Error */ public static final String syntax_error = "syntax_error"; /* Result copied to clipboard! */ public static final String result_copied = "result_copied"; /* Text copied to clipboard! */ public static final String text_copied = "text_copied"; /* Last calculated value */ public static final String ans_description = "ans_description"; private CalculatorMessages() { throw new AssertionError(); } @Nonnull public static ResourceBundle getBundle() { return getBundle(Locale.getDefault()); } @Nonnull public static ResourceBundle getBundle(@Nonnull Locale locale) { try { return ResourceBundle.getBundle("org/solovyev/android/calculator/messages", locale); } catch (MissingResourceException e) { return ResourceBundle.getBundle("org/solovyev/android/calculator/messages", Locale.ENGLISH); } } @Nonnull public static CalculatorMessage newErrorMessage(@Nonnull String messageCode, @Nullable Object... parameters) { return new CalculatorMessage(messageCode, error, parameters); } @Nonnull public static MessageType toMessageType(int messageLevel) { if (messageLevel < info.getMessageLevel()) { return info; } else if (messageLevel < warning.getMessageLevel()) { return warning; } return error; } }