OCR Configurable  1.0
 Todo Clases Namespaces Archivos Funciones Variables
OcrCharacterHelper.java
Ir a la documentación de este archivo.
00001 /*
00002  * Copyright 2011 Robert Theis
00003  * Copyright 2012 Jaime Navarro Santapau
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00026 package edu.uoc.ocr;
00027 
00028 import android.content.SharedPreferences;
00029 
00035 public class OcrCharacterHelper {
00036         
00037         public static final String KEY_CHARACTER_BLACKLIST_MANUAL = "preference_character_blacklist_manual";
00038         public static final String KEY_CHARACTER_BLACKLIST_CATALAN = "preference_character_blacklist_catalan";
00039         public static final String KEY_CHARACTER_BLACKLIST_ENGLISH = "preference_character_blacklist_english";
00040         public static final String KEY_CHARACTER_BLACKLIST_SPANISH = "preference_character_blacklist_spanish";
00041         
00042         public static final String KEY_CHARACTER_WHITELIST_MANUAL = "preference_character_whitelist_manual";
00043         public static final String KEY_CHARACTER_WHITELIST_CATALAN = "preference_character_whitelist_catalan";
00044         public static final String KEY_CHARACTER_WHITELIST_ENGLISH = "preference_character_whitelist_english";
00045         public static final String KEY_CHARACTER_WHITELIST_SPANISH = "preference_character_whitelist_spanish";
00046 
00047         private OcrCharacterHelper() {
00048         } // Private constructor to enforce noninstantiability
00049 
00050         public static String getDefaultBlacklist(String languageCode) {
00051 
00052                 if (languageCode.equals("man")) {
00053                         return "";
00054                 } // Manual
00055                 else if (languageCode.equals("cat")) {
00056                         return "";
00057                 } // Catalan
00058                 else if (languageCode.equals("eng")) {
00059                         return "";
00060                 } // English
00061                 else if (languageCode.equals("spa")) {
00062                         return "";
00063                 } // Spanish
00064                 else {
00065                         throw new IllegalArgumentException();
00066                 }
00067         }
00068 
00069         public static String getDefaultWhitelist(String languageCode) {
00070                 if (languageCode.equals("man")) {
00071                         return "*:/.,ABCDEFGHIJKLMNÑOPQRSTUVWXYZacehnoprstu0123456789";
00072                 } // Arabic
00073                 else if (languageCode.equals("cat")) {
00074                         return "";
00075                 } // Catalan
00076                 else if (languageCode.equals("eng")) {
00077                         return "";
00078                 } // English
00079                 else if (languageCode.equals("spa")) {
00080                         return "";
00081                 } // Spanish
00082                 else {
00083                         throw new IllegalArgumentException();
00084                 }
00085         }
00086 
00087         public static String getBlacklist(SharedPreferences prefs,
00088                         String languageCode) {
00089                 if (languageCode.equals("man")) {
00090                         return prefs.getString(KEY_CHARACTER_BLACKLIST_MANUAL,
00091                                         getDefaultBlacklist(languageCode));
00092                 } // Manual
00093 
00094                 else if (languageCode.equals("cat")) {
00095                         return prefs.getString(KEY_CHARACTER_BLACKLIST_CATALAN,
00096                                         getDefaultBlacklist(languageCode));
00097                 } else if (languageCode.equals("eng")) {
00098                         return prefs.getString(KEY_CHARACTER_BLACKLIST_ENGLISH,
00099                                         getDefaultBlacklist(languageCode));
00100                 } else if (languageCode.equals("spa")) {
00101                         return prefs.getString(KEY_CHARACTER_BLACKLIST_SPANISH,
00102                                         getDefaultBlacklist(languageCode));
00103                 } else {
00104                         throw new IllegalArgumentException();
00105                 }
00106         }
00107 
00108         public static String getWhitelist(SharedPreferences prefs,
00109                         String languageCode) {
00110                 if (languageCode.equals("man")) {
00111                         return prefs.getString(KEY_CHARACTER_WHITELIST_MANUAL,
00112                                         getDefaultWhitelist(languageCode));
00113                 } // Manual
00114 
00115                 else if (languageCode.equals("cat")) {
00116                         return prefs.getString(KEY_CHARACTER_WHITELIST_CATALAN,
00117                                         getDefaultWhitelist(languageCode));
00118                 } else if (languageCode.equals("eng")) {
00119                         return prefs.getString(KEY_CHARACTER_WHITELIST_ENGLISH,
00120                                         getDefaultWhitelist(languageCode));
00121                 } else if (languageCode.equals("spa")) {
00122                         return prefs.getString(KEY_CHARACTER_WHITELIST_SPANISH,
00123                                         getDefaultWhitelist(languageCode));
00124                 } else {
00125                         throw new IllegalArgumentException();
00126                 }
00127         }
00128 
00129         public static void setBlacklist(SharedPreferences prefs,
00130                         String languageCode, String blacklist) {
00131                 if (languageCode.equals("man")) {
00132                         prefs.edit().putString(KEY_CHARACTER_BLACKLIST_MANUAL, blacklist)
00133                                         .commit();
00134                 } else if (languageCode.equals("cat")) {
00135                         prefs.edit().putString(KEY_CHARACTER_BLACKLIST_CATALAN, blacklist)
00136                                         .commit();
00137                 } else if (languageCode.equals("eng")) {
00138                         prefs.edit().putString(KEY_CHARACTER_BLACKLIST_ENGLISH, blacklist)
00139                                         .commit();
00140                 } else if (languageCode.equals("spa")) {
00141                         prefs.edit().putString(KEY_CHARACTER_BLACKLIST_SPANISH, blacklist)
00142                                         .commit();
00143                 } else {
00144                         throw new IllegalArgumentException();
00145                 }
00146         }
00147 
00148         public static void setWhitelist(SharedPreferences prefs,
00149                         String languageCode, String whitelist) {
00150                 if (languageCode.equals("man")) {
00151                         prefs.edit().putString(KEY_CHARACTER_WHITELIST_MANUAL, whitelist)
00152                                         .commit();
00153                 } else if (languageCode.equals("cat")) {
00154                         prefs.edit().putString(KEY_CHARACTER_WHITELIST_CATALAN, whitelist)
00155                                         .commit();
00156                 } else if (languageCode.equals("eng")) {
00157                         prefs.edit().putString(KEY_CHARACTER_WHITELIST_ENGLISH, whitelist)
00158                                         .commit();
00159                 } else if (languageCode.equals("spa")) {
00160                         prefs.edit().putString(KEY_CHARACTER_WHITELIST_SPANISH, whitelist)
00161                                         .commit();
00162                 } else {
00163                         throw new IllegalArgumentException();
00164                 }
00165         }
00166 }
 Todo Clases Namespaces Archivos Funciones Variables