Coverage Report - us.paulevans.basicxslt.LabelStringFactory
 
Classes in this File Line Coverage Branch Coverage Complexity
LabelStringFactory
100%
9/9
100%
1/1
1.25
 
 1  
 /*
 2  
         Copyright 2006 Paul Evans 
 3  
 
 4  
         Licensed under the Apache License, Version 2.0 (the "License"); 
 5  
         you may not use this file except in compliance with the License. 
 6  
         You may obtain a copy of the License at 
 7  
 
 8  
                 http://www.apache.org/licenses/LICENSE-2.0 
 9  
 
 10  
         Unless required by applicable law or agreed to in writing, software 
 11  
         distributed under the License is distributed on an "AS IS" BASIS, 
 12  
         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 13  
         See the License for the specific language governing permissions and 
 14  
         limitations under the License.
 15  
  */
 16  
 package us.paulevans.basicxslt;
 17  
 
 18  
 import java.util.Locale;
 19  
 import java.util.ResourceBundle;
 20  
 
 21  
 /**
 22  
  * Contains method for retreiving localized strings for the purpose of i18n 
 23  
  * support.
 24  
  * @author pevans
 25  
  */
 26  
 public class LabelStringFactory {
 27  
         
 28  
         // singleton instance...
 29  
         private static LabelStringFactory instance;
 30  
         
 31  
         // mnemonic key post-fix...
 32  
         private static final String MNEMONIC_KEY = ".mnemonic";
 33  
 
 34  
         // main frame message keys...
 35  
         public static final String MAIN_FRAME_TITLE = "frame.main.title";
 36  
         public static final String MAIN_FRAME_TITLE_BAR = "frame.main.titlebar";
 37  
         public static final String MAIN_FRAME_XSL_PREFIX = "frame.main.xslprefix";
 38  
         public static final String MAIN_FRAME_AUTOSAVERESULT = 
 39  
                 "frame.main.autosaveresult";
 40  
         public static final String MAIN_FRAME_SUPRESS_OUTPUT_WINDOW = 
 41  
                 "frame.main.supressoutputwindow";
 42  
         public static final String MAIN_FRAME_DISPLAY_OUTPUT_AS_TEXT_IF_XML = 
 43  
                 "frame.main.displayoutputastextifxml";
 44  
         public static final String MAIN_FRAME_EXIT_BTN = "frame.main.exitbutton";
 45  
         public static final String MAIN_FRAME_TRANSFORM_BTN = 
 46  
                 "frame.main.transformbutton";
 47  
         public static final String MAIN_FRAME_CURRENT_CONFIGURATION = 
 48  
                 "frame.main.currentconfiguration";
 49  
         public static final String MAIN_FRAME_TOTAL_TRANSFORM_TIME = 
 50  
                 "frame.main.totaltransformtime";
 51  
         public static final String MAIN_FRAME_MILLISECONDS_ABBREVIATION = 
 52  
                 "frame.main.millisecondsabbreviation";
 53  
         public static final String MAIN_FRAME_ADD_XSL_BTN = 
 54  
                 "frame.main.addxslbutton";
 55  
         public static final String MAIN_FRAME_REMOVE_CHECKED_BTN = 
 56  
                 "frame.main.removecheckedbutton";
 57  
         public static final String MAIN_FRAME_VALIDATE_BTN = 
 58  
                 "frame.main.validatebutton";
 59  
         public static final String MAIN_FRAME_BROWSE_BTN = 
 60  
                 "frame.main.browsebutton";
 61  
         public static final String MAIN_FRAME_XML_FILE_NOT_SPECIFIED = 
 62  
                 "frame.main.xmlfilenotspecified";
 63  
         public static final String MAIN_FRAME_ERROR_LBL = 
 64  
                 "frame.main.error";
 65  
         public static final String 
 66  
         MAIN_FRAME_XML_FILE_NOT_EXIST_SPECIFY_VALID_FILE = 
 67  
                 "frame.main.xmlnotexistspecifyvalidfile";
 68  
         public static final String MAIN_FRAME_AUTOSAVE_PATH_DOES_NOT_EXIST = 
 69  
                 "frame.main.autosavepathdoesnotexist";
 70  
         public static final String MAIN_FRAME_INVALID_AUTOSAVE_PATH = 
 71  
                 "frame.main.invalidautosavepath";
 72  
         public static final String MAIN_FRAME_PLEASE_SPECIFY_AUTOSAVE_PATH = 
 73  
                 "frame.main.pleasespecifyautosavepath";
 74  
         public static final String MAIN_FRAME_XML_FILE_WITH_COLON = 
 75  
                 "frame.main.xmlfilewithcolon";
 76  
         public static final String MAIN_FRAME_XSL_FILE = "frame.main.xslfile";
 77  
         public static final String MAIN_FRAME_XML_INDICATOR_ITOPSPECIFIED = 
 78  
                 "frame.main.xmlindicatoridentitytransformoutputpropertiesset";
 79  
         public static final String MAIN_FRAME_XML_INDICATOR_ITOPSPECIFIED_TOOL_TIP = 
 80  
                 "frame.main.xmlindicatoridentitytransformoutputpropertiesset.tooltip";
 81  
         public static final String MAIN_FRAME_XML_FILE = "frame.main.xmlfile";
 82  
         public static final String MAIN_FRAME_SPECIFICY_AT_LEAST_ONE_STYLESHEET = 
 83  
                 "frame.main.specifyatleastonestylesheet";
 84  
         public static final String MAIN_FRAME_TRANSFORM_MESSAGE = 
 85  
                 "frame.main.transformmessage";
 86  
         public static final String MAIN_FRAME_ONLY_CONFIGURATION = 
 87  
                 "frame.main.onlyconfiguration";
 88  
         public static final String MAIN_FRAME_MESSAGE = 
 89  
                 "frame.main.message";
 90  
         public static final String MAIN_FRAME_SELECT_FILE_FOR_IT_RESULT = 
 91  
                 "frame.main.selectfileforitresult";
 92  
         public static final String MAIN_FRAME_PICK_FILE_FOR_IT = 
 93  
                 "frame.main.pickfileforit";
 94  
         public static final String MAIN_FRAME_VALID_XML_MSG = 
 95  
                 "frame.main.validxmlmessage";
 96  
         public static final String MAIN_FRAME_VALID_XML_MSG_HDR_YES = 
 97  
                 "frame.main.validxmlmessageheader.yes";
 98  
         public static final String MAIN_FRAME_VALID_XML_MSG_HDR_NO = 
 99  
                 "frame.main.validxmlmessageheader.no";
 100  
         public static final String MAIN_FRAME_XML_VALIDATION_ERR = 
 101  
                 "frame.main.xmlvalidationerror";
 102  
         public static final String MAIN_FRAME_IDENTITY_TRANSFORM = 
 103  
                 "frame.main.identitytransform";
 104  
         public static final String MAIN_FRAME_TRANSFORM_RESULT_NOT_XML = 
 105  
                 "frame.main.transformresultnotxml";
 106  
         public static final String MAIN_FRAME_TRANSFORM_ERR_MSG = 
 107  
                 "frame.main.transformerrormessage";
 108  
         public static final String MAIN_FRAME_ERR_IN_XSL = "frame.main.errorinxsl";
 109  
         public static final String MAIN_FRAME_XSL_TRANSFORMATION_ERR = 
 110  
                 "frame.main.xsltransformationerror";
 111  
         public static final String MAIN_FRAME_TRANSFORM_RESULTS = 
 112  
                 "frame.main.transformresults";
 113  
         
 114  
         // main frame file menu and associated menu items message keys...
 115  
         public static final String MF_FILE_MENU = "frame.main.menus.file";
 116  
         public static final String MF_FILE_RESET_FORM_MI = 
 117  
                 "frame.main.menus.file.menuitems.reset";
 118  
         public static final String MF_FILE_LOAD_CONFIGURATION_MI = 
 119  
                 "frame.main.menus.file.menuitems.loadconfig";
 120  
         public static final String MF_FILE_SAVE_CONFIGURATION_MI = 
 121  
                 "frame.main.menus.file.menuitems.saveconfig";
 122  
         public static final String MF_FILE_SAVE_CONFIGURATION_AS_MI = 
 123  
                 "frame.main.menus.file.menuitems.saveconfigas";
 124  
         public static final String MF_FILE_EXIT_MI = 
 125  
                 "frame.main.menus.file.menuitems.exit";
 126  
         
 127  
         // main frame validation menu and associated menu items message keys...
 128  
         public static final String MF_VALIDATION_MENU = 
 129  
                 "frame.main.menus.validation";
 130  
         public static final String MF_VALIDATION_CHECK_SAX_WARNINGS_MI = 
 131  
                 "frame.main.menus.validation.menuitems.saxwarnings";
 132  
         public static final String MF_VALIDATION_CHECK_SAX_ERRORS_MI = 
 133  
                 "frame.main.menus.validation.menuitems.saxerrors";
 134  
         public static final String MF_VALIDATION_CHECK_SAX_FATAL_MI = 
 135  
                 "frame.main.menus.validation.menuitems.saxfatal";
 136  
         
 137  
         //  main frame view menu and associated menu items message keys...
 138  
         public static final String MF_VIEW_MENU = "frame.main.menus.view";
 139  
         public static final String MF_VIEW_LAST_TIMINGS_MI = 
 140  
                 "frame.main.menus.view.menuitems.lasttimings";
 141  
         
 142  
         // main frame help menu and associated menu items message keys...
 143  
         public static final String MF_HELP_MENU = "frame.main.menus.help";
 144  
         public static final String MF_HELP_ABOUT_MI = 
 145  
                 "frame.main.menus.help.menuitems.about";
 146  
         
 147  
         // tool tip message keys...
 148  
         public static final String TOOL_TIP_TRANSFORM_TIMINGS = 
 149  
                 "tooltips.transformtimings";
 150  
         public static final String TOOL_TIP_XML_ACTION = "tooltips.xmlaction";
 151  
         public static final String TOOL_TIP_TRANSFORM_BTN = 
 152  
                 "tooltips.transformbutton";
 153  
         public static final String TOOL_TIP_EXIT_BTN = "tooltips.exitbutton";
 154  
         public static final String TOOL_TIP_ADD_XSL_BTN = 
 155  
                 "tooltips.addxslbutton";
 156  
         public static final String TOOL_TIP_REMOVE_CHECKED_BTN = 
 157  
                 "tooltips.removecheckedbutton";
 158  
         public static final String TOOL_TIP_VALIDATE_AUTOSAVE_BTN = 
 159  
                 "tooltips.validateautosavebutton";
 160  
         public static final String TOOL_TIP_AUTOSAVE_TEXTFIELD = 
 161  
                 "tooltips.autosavetextfield";
 162  
         public static final String TOOL_TIP_SOURCE_XML_TEXTFIELD = 
 163  
                 "tooltips.sourcexmltextfield";
 164  
         public static final String TOOL_TIP_BROWSE_AUTOSAVE_PATH_BTN = 
 165  
                 "tooltips.browseautosavepathbutton";
 166  
         public static final String TOOL_TIP_BROWSE_XML_BTN = 
 167  
                 "tooltips.browsexmlbutton";
 168  
         public static final String TOOL_TIP_SUPPRESS_OUTPUT_WINDOW_CB = 
 169  
                 "tooltips.suppressoutputwindowcheckbox";
 170  
         public static final String TOOL_TIP_AUTOSAVE_CB = 
 171  
                 "tooltips.autosavecheckbox";
 172  
         public static final String TOOL_TIP_OUTPUT_AS_TEXT_IF_XML_CB = 
 173  
                 "tooltips.outputastextifxmlcheckbox";
 174  
         
 175  
         // XML action message keys...
 176  
         public static final String XML_ACTION_TAKE_ACTION = "xmlactions.takeaction";
 177  
         public static final String XML_ACTION_VALIDATE = "xmlactions.validate";
 178  
         public static final String XML_ACTION_IT_OUTPUT_PROPERITES = 
 179  
                 "xmlactions.identitytransformoutputproperties";
 180  
         public static final String XML_ACTION_CLEAR_IT_PROPERTIES = 
 181  
                 "xmlactions.clearitoutputproperties";
 182  
         public static final String XML_ACTION_PERFORM_IT = 
 183  
                 "xmlactions.performidentitytransform";
 184  
         public static final String XML_ACTION_TURNONOFF_PREFIX = 
 185  
                 "xmlactions.turnonoff.prefix";
 186  
         public static final String XML_ACTION_TURNONOFF_ON = 
 187  
                 "xmlactions.turnonoff.on";
 188  
         public static final String XML_ACTION_TURNONOFF_OFF = 
 189  
                 "xmlactions.turnonoff.off";
 190  
         public static final String XML_ACTION_OUTPUT_PROPERTIES = 
 191  
                 "xmlactions.outputproperties";
 192  
         public static final String XML_ACTION_CLEAR_OUTPUT_PROPERTIES = 
 193  
                 "xmlactions.clearoutputproperties";
 194  
         public static final String XML_ACTION_PARAMETERS = 
 195  
                 "xmlactions.parameters";
 196  
         public static final String XML_ACTION_CLEAR_PARAMETERS = 
 197  
                 "xmlactions.clearparameters";
 198  
         
 199  
         // tool description message keys...
 200  
         public static final String TOOL_DESCRIPTION = "tool.description";
 201  
         public static final String TOOL_LICENSE = "tool.license";
 202  
         public static final String TOOL_DEVELOPED_BY = "tool.developedby";
 203  
         public static final String TOOL_ABOUTDIALOG_TITLE = 
 204  
                 "tool.aboutdialog.title";
 205  
         public static final String TOOL_ABOUTDIALOG_TOOLTITLE = 
 206  
                 "tool.aboutdialog.tooltitle";
 207  
         public static final String TOOL_ABOUTDIALOG_VERSION = 
 208  
                 "tool.aboutdialog.version";
 209  
         public static final String TOOL_USERPREFERENCES_TITLE = 
 210  
                 "tool.userpreferences.title";
 211  
         
 212  
         // XSLRow message keys...
 213  
         public static final String XSLROW_OUTPUT_PROPERTIES_SPECIFIED = 
 214  
                 "xslrow.outputpropertiesspecified";
 215  
         public static final String XSLROW_TOOL_TIP_INSERT_STYLESHEET = 
 216  
                 "xslrow.tooltips.insertstylesheet";
 217  
         public static final String XSLROW_TOOL_TIP_PICK_STYLESHEET = 
 218  
                 "xslrow.tooltips.pickstylesheet";
 219  
         public static final String XSLROW_TOOL_TIP_REMOVE_CHECKBOX = 
 220  
                 "xslrow.tooltips.removecheckbox";
 221  
         public static final String XSLROW_TOOL_TIP_BROWSE_BTN = 
 222  
                 "xslrow.tooltips.browsebutton";
 223  
         public static final String XSLROW_TOOL_TIP_TAKE_ACTION = 
 224  
                 "xslrow.tooltips.takeaction";
 225  
         public static final String XSLROW_XSL_LABEL = 
 226  
                 "xslrow.xsllabel";
 227  
         
 228  
         // general component message keys...
 229  
         public static final String OK_BUTTON = "component.okbutton";
 230  
         public static final String CANCEL_BUTTON = "component.cancelbutton";
 231  
         public static final String CLOSE_BUTTON = "component.closebutton";
 232  
         
 233  
         // configuration load frame message keys...
 234  
         public static final String LOADCONFIG_FRAME_LOAD_CONFIGURATION = 
 235  
                 "frame.loadconfig.loadconfiguration";
 236  
         public static final String LOADCONFIG_FRAME_CURRENT_CONFIGURATION = 
 237  
                 "frame.loadconfig.currentconfiguration";
 238  
         public static final String LOADCONFIG_FRAME_CONFIGURATION = 
 239  
                 "frame.loadconfig.configuration";
 240  
         public static final String LOADCONFIG_FRAME_MAKE_DEFAULT = 
 241  
                 "frame.loadconfig.makedefault";
 242  
         
 243  
         // configuration save-as frame message keys...
 244  
         public static final String SAVEASCONFIG_FRAME_SAVE_CONFIGURATION_AS = 
 245  
                 "frame.saveasconfig.saveconfigurationas";
 246  
         public static final String SAVEASCONFIG_FRAME_SAVE_NEW_CONFIGURATION = 
 247  
                 "frame.saveasconfig.savenewconfiguration";
 248  
         public static final String SAVEASCONFIG_FRAME_CURRENT_CONFIGURATION = 
 249  
                 "frame.saveasconfig.currentconfiguration";
 250  
         public static final String SAVEASCONFIG_FRAME_CONFIGURATION_NAME = 
 251  
                 "frame.saveasconfig.configurationname";
 252  
         public static final String SAVEASCONFIG_FRAME_MAKE_DEFAULT = 
 253  
                 "frame.saveasconfig.makedefault";
 254  
         public static final String SAVEASCONFIG_FRAME_CONFIG_STR_CANNOT_BE_EMPTY  = 
 255  
                 "frame.saveasconfig.configstringcannotbeempty";
 256  
         public static final String SAVEASCONFIG_FRAME_ERROR = 
 257  
                 "frame.saveasconfig.error";
 258  
         
 259  
         // timings frame message keys...
 260  
         public static final String TIMINGS_FRAME_XSL_TRANSFORMATION_TIMINGS = 
 261  
                 "frame.timings.xsltransformationtimings";
 262  
         public static final String TIMINGS_FRAME_TRANSFORMATION_XSL = 
 263  
                 "frame.timings.transformationxsl";
 264  
         public static final String TIMINGS_FRAME_TIME_TO_TRANSFORM = 
 265  
                 "frame.timings.timetotransform";
 266  
         public static final String TIMINGS_FRAME_TOTAL_LBL = "frame.timings.total";
 267  
         
 268  
         // output properties frame message keys...
 269  
         public static final String OUTPUTPROPS_FRAME_METHODS_XML = 
 270  
                 "frame.outputprops.methods.xml";
 271  
         public static final String OUTPUTPROPS_FRAME_METHODS_HTML = 
 272  
                 "frame.outputprops.methods.html";
 273  
         public static final String OUTPUTPROPS_FRAME_METHODS_TEXT = 
 274  
                 "frame.outputprops.methods.text";
 275  
         public static final String OUTPUTPROPS_FRAME_METHODS_OTHER = 
 276  
                 "frame.outputprops.methods.other";
 277  
         public static final String OUTPUTPROPS_FRAME_IT_OUTPUT_PROPERTIES = 
 278  
                 "frame.outputprops.identitytransformoutputproperties";
 279  
         public static final String OUTPUTPROPS_FRAME_TRANSFORM_OUTPUT_PROPERTIES = 
 280  
                 "frame.outputprops.transformoutputproperties";
 281  
         public static final String OUTPUTPROPS_FRAME_FILE_LBL = 
 282  
                 "frame.outputprops.filelabel";
 283  
         public static final String OUTPUTPROPS_FRAME_CDATA_SECTION_ELEMENTS = 
 284  
                 "frame.outputprops.cdatasectionelements";
 285  
         public static final String OUTPUTPROPS_FRAME_DOCTYPE_PUBLIC = 
 286  
                 "frame.outputprops.doctypepublic";
 287  
         public static final String OUTPUTPROPS_FRAME_DOCTYPE_SYSTEM = 
 288  
                 "frame.outputprops.doctypesystem";
 289  
         public static final String OUTPUTPROPS_FRAME_ENCODING = 
 290  
                 "frame.outputprops.encoding";
 291  
         public static final String OUTPUTPROPS_FRAME_METHOD =
 292  
                 "frame.outputprops.method";
 293  
         public static final String OUTPUTPROPS_FRAME_MEDIA_TYPE = 
 294  
                 "frame.outputprops.mediatype";
 295  
         public static final String OUTPUTPROPS_FRAME_VERSION = 
 296  
                 "frame.outputprops.version";
 297  
         public static final String OUTPUTPROPS_FRAME_INDENT =
 298  
                 "frame.outputprops.indent";
 299  
         public static final String OUTPUTPROPS_FRAME_OMIT_XML_DECLARATION =
 300  
                 "frame.outputprops.omitxmldeclaration";
 301  
         public static final String OUTPUTPROPS_FRAME_IS_STANDALONE = 
 302  
                 "frame.outputprops.isstandalone";
 303  
         
 304  
         // parameters frame message keys...
 305  
         public static final String PARAMS_FRAME_TRANSFORM_PARAMETERS = 
 306  
                 "frame.params.transformparameters";
 307  
         public static final String PARAMS_FRAME_FILE_LBL_WITH_COLON = 
 308  
                 "frame.params.filelabelwithcolon";
 309  
         public static final String PARAMS_FRAME_ADD_PARAMETER = 
 310  
                 "frame.params.addparameter";
 311  
         public static final String PARAMS_FRAME_REMOVE_CHECKED = 
 312  
                 "frame.params.removechecked";
 313  
         public static final String PARAMS_FRAME_NAME_LBL = "frame.params.namelabel";
 314  
         public static final String PARAMS_FRAME_VALUE_LBL = 
 315  
                 "frame.params.valuelabel";
 316  
         public static final String PARAMS_FRAME_NAMESPACE_URI_LBL = 
 317  
                 "frame.params.namespaceurilabel";
 318  
         public static final String PARAMS_FRAME_REMOVE_LBL = 
 319  
                 "frame.params.removelabel";
 320  
         public static final String PARAMS_FRAME_INVALID_PARAMETER = 
 321  
                 "frame.params.invalidparameter";
 322  
         public static final String PARAMS_FRAME_CANNOT_HAVE_EMPTY_PARAM_VALUE = 
 323  
                 "frame.params.cannothaveemptyparametervalue";
 324  
         
 325  
         // message keys referenced in Utils.java...
 326  
         public static final String UTILS_FILE_DOES_NOT_EXIST = 
 327  
                 "utils.filedoesnotexist";
 328  
         
 329  
         // output frame message keys...
 330  
         public static final String OUTPUT_FRAME_SAVE_OUTPUT_BTN = 
 331  
                 "frame.output.saveoutputbutton";
 332  
         
 333  
         // output frame menu and menu item message keys...
 334  
         public static final String OF_FILE_MENU = "frame.output.menus.file";
 335  
         public static final String OF_FILE_CLOSE_MI = 
 336  
                 "frame.output.menus.file.menuitems.close";
 337  
         public static final String OF_VIEW_MENU = "frame.output.menus.view";
 338  
         public static final String OF_VIEW_TRANSFORM_TIMINGS_DETAIL_MI = 
 339  
                 "frame.output.menus.view.menuitems.transformtimingsdetail";
 340  
         
 341  
         // validation error frame menu and menu item message keys...
 342  
         public static final String VF_FILE_MENU = "frame.validationerr.menus.file";
 343  
         public static final String VF_FILE_CLOSE_MI = 
 344  
                 "frame.validationerr.menus.file.menuitems.close";
 345  
         
 346  
         // validation error frame message keys...
 347  
         public static final String VALIDATIONERR_FRAME_FILE = 
 348  
                 "frame.validationerr.file";
 349  
         public static final String VALIDATIONERR_FRAME_LINE_NUM = 
 350  
                 "frame.validationerr.linenumber";
 351  
         public static final String VALIDATIONERR_FRAME_COLUMN_NUM = 
 352  
                 "frame.validationerr.columnnumber";
 353  
         public static final String VALIDATIONERR_FRAME_MSG = 
 354  
                 "frame.validationerr.message";
 355  
         public static final String VALIDATIONERR_FRAME_NOT_AVAILABLE = 
 356  
                 "frame.validationerr.notavailable";
 357  
         
 358  
         // error message keys...
 359  
         public static final String ERRORS_MESSAGE = "errors.message";
 360  
         public static final String ERRORS_TITLE = "errors.title";
 361  
         public static final String ERRORS_NETWORK_CONNECT = "errors.networkconnect";
 362  
         
 363  
         // local object...
 364  
         private Locale locale;
 365  
         
 366  
         // resource bundle for the locale...
 367  
         private ResourceBundle resources;
 368  
         
 369  
         /**
 370  
          * Private constructor
 371  
          *
 372  
          */
 373  1
         private LabelStringFactory() {
 374  
                 
 375  
                 // get the default locale...
 376  1
                 locale = Locale.getDefault();
 377  
                 
 378  
                 // load the resource bundle for the default locale...
 379  1
                 resources = ResourceBundle.getBundle("resources", locale);
 380  1
         }
 381  
         
 382  
         /**
 383  
          * Returns the label given the inputted key.
 384  
          * @param aKey
 385  
          * @return
 386  
          */
 387  
         public String getString(String aKey) {
 388  2
                 return resources.getString(aKey);
 389  
         }
 390  
         
 391  
         /**
 392  
          * Returns the mnemonic char associated with the resource key.
 393  
          * @param aKey
 394  
          * @return
 395  
          */
 396  
         public char getMnemonic(String aKey) {
 397  1
                 return getString(aKey + MNEMONIC_KEY).toCharArray()[0];
 398  
         }
 399  
         
 400  
         /**
 401  
          * Returns the singleton instance.
 402  
          * @return
 403  
          */
 404  
         public synchronized static LabelStringFactory getInstance() {
 405  3
                 if (instance == null) {
 406  1
                         instance = new LabelStringFactory();
 407  
                 }
 408  3
                 return instance;
 409  
         }
 410  
 }