OpenKeyWord  Build_ID: 457, Datum: 01.02.2020 07:45:48
Dont repeat yourself. - Do it once and only once!
OKW_Const_Sngltn.java
1 /*
2  ==============================================================================
3  Author: Zoltán Hrabovszki <zh@openkeyword.de>
4 
5  Copyright © 2012 - 2019 IT-Beratung Hrabovszki
6  www.OpenKeyWord.de
7  ==============================================================================
8 
9  This file is part of OpenKeyWord.
10 
11  OpenKeyWord is free software: you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenKeyWord is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenKeyWord. If not, see <http://www.gnu.org/licenses/>.
23 
24  Diese Datei ist Teil von OpenKeyWord.
25 
26  OpenKeyWord ist Freie Software: Sie können es unter den Bedingungen
27  der GNU General Public License, wie von der Free Software Foundation,
28  Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren
29  veröffentlichten Version, weiterverbreiten und/oder modifizieren.
30 
31  OpenKeyWord wird in der Hoffnung, dass es nützlich sein wird, aber
32  OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
33  Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
34  Siehe die GNU General Public License für weitere Details.
35 
36  Sie sollten eine Kopie der GNU General Public License zusammen mit
37  OpenKeyWord erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
38 */
39 
40 package okw;
41 
42 import java.util.ArrayList;
43 
44 import javax.xml.xpath.XPathExpressionException;
45 
46 import okw.exceptions.OKWConst4InternalnameNotFoundException;
47 import okw.exceptions.OKWMessageNotFoundException;
48 import okw.exceptions.OKWNotAllowedValueException;
49 import okw.log.Logger_Sngltn;
50 
127 public class OKW_Const_Sngltn
128 {
129 
134 
135  private static OKW_Const_Sngltn Instance;
136 
151  private OKWLanguage CL = OKWLanguage.getInstance();
152 
165  private LogMessenger LM = null;
166 
171 
235  protected OKW_Const_Sngltn()
236  {
237  try
238  {
239  LM = new LogMessenger( "OKW_Const" );
240 
241  myXmlReader = new OKW_XmlReader( "/xml/OKW_Const.xml" );
242 
243  /*if (OKW_FileHelper.FileExists(lvsOKW_Const_xml))
244  {
245  myXmlReader = new OKW_XmlReader("xml/OKW_Const.xml");
246  }
247  else
248  {
249  String lvsMessage = LM.GetMessage("OKW_Const", "FileNotFoundException", lvsOKW_Const_xml);
250  throw new FileNotFoundException(lvsMessage);
251  }
252  */
253  }
254  catch (Exception e)
255  {
256  OKW_HandleException.StopRunning( e, this.getClass() );
257  }
258 
259  }
260 
261 
278  //throws XPathExpressionException, JAXBException, ParserConfigurationException, SAXException, IOException
279  {
280  // Lazy Initialization (If required then only)
281  if ( Instance == null )
282  {
283  // Thread Safe. Might be costly operation in some case
284  synchronized ( OKW_Const_Sngltn.class )
285  {
286  if ( Instance == null )
287  {
288  Instance = new OKW_Const_Sngltn();
289  }
290  }
291  }
292  return Instance;
293  }
294 
295 
311  public String Boolean2YesNo( Boolean fpbTrueOrFalse ) throws XPathExpressionException
312  {
313  String lvs_Return = "";
314 
315  try
316  {
317  Log.LogFunctionStartDebug( this.getClass().getName() + ".Boolean2YesNo", "fpbTrueOrFalse", fpbTrueOrFalse.toString() );
318 
319  if ( fpbTrueOrFalse )
320  {
321  // If TRUE -> YES
322  lvs_Return = this.GetConst4Internalname( "YES" );
323  }
324  else
325  {
326  // Else FALSE -> NO
327  lvs_Return = this.GetConst4Internalname( "NO" );
328  }
329  }
330  finally
331  {
332  Log.LogFunctionEndDebug( lvs_Return );
333  }
334 
335  return lvs_Return;
336  }
337 
368  public String ConcatHSEP( ArrayList<String> fpLs_ListString2Concat ) throws XPathExpressionException
369  {
370  Log.LogFunctionStartDebug( this.getClass().getName() + ".ConcatHSEP", "fpLs_ListString2Concat", fpLs_ListString2Concat.toString() );
371 
372  String lvs_Return = "";
373 
374  try
375  {
376  lvs_Return = OKW_Helper.concatListString( fpLs_ListString2Concat, this.GetOKWConst4Internalname( "HSEP" ) );
377  }
378  finally
379  {
380  Log.LogFunctionEndDebug( lvs_Return );
381  }
382 
383  return lvs_Return;
384  }
385 
416  public String ConcatSEP( ArrayList<String> fpLs_ListString2Concat ) throws XPathExpressionException
417  {
418  Log.LogFunctionStartDebug( this.getClass().getName() + ".ConcatSEP", "fpLs_ListString2Concat", fpLs_ListString2Concat.toString() );
419 
420  String lvs_Return = "";
421 
422  try
423  {
424  lvs_Return = OKW_Helper.concatListString( fpLs_ListString2Concat, this.GetOKWConst4Internalname( "SEP" ) );
425  }
426  finally
427  {
428  Log.LogFunctionEndDebug( lvs_Return );
429  }
430 
431  return lvs_Return;
432  }
433 
464  public String ConcatVSEP( ArrayList<String> fpLs_ListString2Concat ) throws XPathExpressionException
465  {
466  Log.LogFunctionStartDebug( this.getClass().getName() + ".ConcatVSEP", "fpLs_ListString2Concat", fpLs_ListString2Concat.toString() );
467 
468  String lvs_Return = "";
469 
470  try
471  {
472  lvs_Return = OKW_Helper.concatListString( fpLs_ListString2Concat, this.GetOKWConst4Internalname( "VSEP" ) );
473  }
474  finally
475  {
476  Log.LogFunctionEndDebug( lvs_Return );
477  }
478 
479  return lvs_Return;
480  }
481 
524  public String GetConst4Internalname( String fpsInternalname )
525  {
526  Log.LogFunctionStartDebug( this.getClass().getName() + ".ReadConst", "fpsInternalname", fpsInternalname );
527 
528  String lvsReturn = "";
529 
530  try
531  {
532 
533  String myXPathExpression = "//okwconst[@internalname='" + fpsInternalname + "']/name/" + CL.getLanguage();
534 
535  Log.LogPrintDebug( "XPath: >>" + myXPathExpression + "<<" );
536 
537  lvsReturn = myXmlReader.getTextContentSingleValue( myXPathExpression );
538  }
539  catch( OKWMessageNotFoundException e )
540  {
541  throw new OKWConst4InternalnameNotFoundException( e.getMessage() );
542  }
543  finally
544  {
545  Log.LogFunctionEndDebug( lvsReturn );
546  }
547 
548  return lvsReturn;
549  }
550 
608  public String GetOKWConst4Internalname( String fpsInternalname )
609  {
610  String lvsReturn = null;
611 
612  Log.LogFunctionStartDebug( this.getClass().getName() + ".GetOKWConst4Internalname", "fpsInternalname", fpsInternalname );
613 
614  try
615  {
616  lvsReturn = this.GetConst4Internalname( "LEFTBRACE" ) + this.GetConst4Internalname( fpsInternalname ) + this.GetConst4Internalname( "RIGHTBRACE" );
617  }
618  finally
619  {
620  Log.LogFunctionEndDebug( lvsReturn );
621  }
622 
623  return lvsReturn;
624  }
625 
668  public ArrayList<String> SplitHSEP( String fpsString2Split ) throws XPathExpressionException
669  {
670  ArrayList<String> lvls_2Plit = new ArrayList<String>();
671 
672  Log.LogFunctionStartDebug( this.getClass().getName() + ".SplitHSEP", "fpsString2Split", fpsString2Split );
673 
674  try
675  {
676  lvls_2Plit = OKW_Helper.splitString( fpsString2Split, this.GetOKWConst4Internalname( "HSEP" ) );
677  }
678  finally
679  {
680  Log.LogFunctionEndDebug( lvls_2Plit.toString() );
681  }
682 
683  return lvls_2Plit;
684  }
685 
727  public ArrayList<String> SplitSEP( String fpsString2Split ) throws XPathExpressionException
728  {
729  ArrayList<String> lvls_2Plit = null;
730  Log.LogFunctionStartDebug( this.getClass().getName() + ".SplitSEP", "fpsString2Split", fpsString2Split );
731 
732  try
733  {
734  lvls_2Plit = OKW_Helper.splitString( fpsString2Split, this.GetOKWConst4Internalname( "SEP" ) );
735  }
736  finally
737  {
738  Log.LogFunctionEndDebug( lvls_2Plit.toString() );
739  }
740 
741  return lvls_2Plit;
742  }
743 
787  public ArrayList<String> SplitVSEP( String fps_String2Split ) throws XPathExpressionException
788  {
789  ArrayList<String> lvls_2Plit = new ArrayList<String>();
790 
791  Log.LogFunctionStartDebug( this.getClass().getName() + ".SplitHSEP", "fps_String2Split", fps_String2Split );
792 
793  try
794  {
795  lvls_2Plit = OKW_Helper.splitString( fps_String2Split, this.GetOKWConst4Internalname( "VSEP" ) );
796  }
797  finally
798  {
799  Log.LogFunctionEndDebug( lvls_2Plit.toString() );
800  }
801 
802  return lvls_2Plit;
803  }
804 
840  public Boolean YesNo2Boolean( String fpsYesOrNo ) throws XPathExpressionException
841  {
842  Log.LogFunctionStartDebug( this.getClass().getName() + ".YesNo2Boolean", "fpsYesOrNo", fpsYesOrNo );
843  Boolean lvb_Return = false;
844 
845  String lvs_Yes = "";
846  String lvs_No = "";
847 
848  try
849  {
850  lvs_Yes = this.GetConst4Internalname( "YES" ).toUpperCase();
851  lvs_No = this.GetConst4Internalname( "NO" ).toUpperCase();
852 
853  if ( lvs_Yes.equals( fpsYesOrNo.toUpperCase() ) )
854  {
855  lvb_Return = true;
856  }
857  else if ( lvs_No.equals( fpsYesOrNo.toUpperCase() ) )
858  {
859  lvb_Return = false;
860  }
861  else
862  {
864 
865  String lvsMessage = LM.GetMessage( "YesNo2Boolean", "ValueNotAllowed", fpsYesOrNo, lvs_Yes + "'/'" + lvs_No );
866  throw new OKWNotAllowedValueException( lvsMessage );
867  }
868  }
869  finally
870  {
871  Log.LogFunctionEndDebug( lvb_Return );
872  }
873 
874  return lvb_Return;
875  }
876 }
okw.OKW_Const_Sngltn.SplitSEP
ArrayList< String > SplitSEP(String fpsString2Split)
Methode trennt einen String und wandelt diesen in einen ListString um.
Definition: OKW_Const_Sngltn.java:727
okw.LogMessenger
LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugeh...
Definition: LogMessenger.java:84
okw.OKW_Const_Sngltn.GetConst4Internalname
String GetConst4Internalname(String fpsInternalname)
Methode ermittelt für Internalname und der aktuell eingestellten Sprache den Wert für Const.
Definition: OKW_Const_Sngltn.java:524
okw.OKW_Const_Sngltn.SplitHSEP
ArrayList< String > SplitHSEP(String fpsString2Split)
Methode trennt einen String und wandelt diesen in eine ListString um.
Definition: OKW_Const_Sngltn.java:668
okw.OKW_Const_Sngltn.CL
OKWLanguage CL
Aktuelle Spracheinstellung (Current Language) wird in der Klasse OKWLanguage verwaltet.
Definition: OKW_Const_Sngltn.java:151
okw.log.Logger_Sngltn.LogFunctionEndDebug
void LogFunctionEndDebug()
LogFunctionEndDebug:
Definition: Logger_Sngltn.java:249
okw.log.Logger_Sngltn.getInstance
static Logger_Sngltn getInstance()
Zentrale Logger-Klasse stellt Logger-Methoden innerhalb von OKW zur Verfügung.
Definition: Logger_Sngltn.java:88
okw.exceptions.OKWConst4InternalnameNotFoundException
OKW.OKWConst4InternalnameNotFoundException wird ausgelöst, wenn zu einer Konstanten,...
Definition: OKWConst4InternalnameNotFoundException.java:55
okw.OKW_HandleException
Definition: OKW_HandleException.java:6
okw.OKW_Const_Sngltn.SplitVSEP
ArrayList< String > SplitVSEP(String fps_String2Split)
Methode trennt einen String und wandelt diesen in einen ListString um.
Definition: OKW_Const_Sngltn.java:787
okw.OKW_Const_Sngltn.ConcatVSEP
String ConcatVSEP(ArrayList< String > fpLs_ListString2Concat)
Methode verbindet die einzelnen Strings eines List<Strings> zu einem string und trennt diese mit der ...
Definition: OKW_Const_Sngltn.java:464
okw.OKW_XmlReader.getTextContentSingleValue
String getTextContentSingleValue(String fpsXPathExpression)
Liest den TextContent eines Tag.
Definition: OKW_XmlReader.java:103
okw.log.Logger_Sngltn.LogFunctionStartDebug
void LogFunctionStartDebug(String fps_FunctionName, String... fpsParameter)
LogFunctionStartDebug:
Definition: Logger_Sngltn.java:311
okw.OKW_Const_Sngltn.ConcatSEP
String ConcatSEP(ArrayList< String > fpLs_ListString2Concat)
Methode verbindet die einzelne Strings eines List<Strings> zu einem string und trennt diese mit der K...
Definition: OKW_Const_Sngltn.java:416
okw.exceptions.OKWMessageNotFoundException
Die Ausnahme OKWMessageNotFoundException wird ausgelöst, wenn ein Nachrichten-Eintrag in einer XML/Lo...
Definition: OKWMessageNotFoundException.java:56
okw.OKW_Const_Sngltn.YesNo2Boolean
Boolean YesNo2Boolean(String fpsYesOrNo)
Konvertiert sprachabhängig Ja/Nein zu einem Booleanean Wert (Wahr/Falsch).
Definition: OKW_Const_Sngltn.java:840
okw.OKWLanguage
http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste
Definition: OKWLanguage.java:47
okw.OKW_Helper.concatListString
static String concatListString(ArrayList< String > fps_ListString2Concat, String fps_Delimiter)
Wandelt List<String> in einen String um und trennt die Werte durch das vorgegebene Trennzeichen vonei...
Definition: OKW_Helper.java:461
okw.OKW_Const_Sngltn.ConcatHSEP
String ConcatHSEP(ArrayList< String > fpLs_ListString2Concat)
Methode verbindet die einzelne Strings eines List<Strings> zu einem string und trennt diese mit der K...
Definition: OKW_Const_Sngltn.java:368
okw.OKW_XmlReader
Definition: OKW_XmlReader.java:24
okw.OKW_Const_Sngltn.LM
LogMessenger LM
Referenz auf OKW.Log.LogMessenger.
Definition: OKW_Const_Sngltn.java:165
okw.OKW_Const_Sngltn.Boolean2YesNo
String Boolean2YesNo(Boolean fpbTrueOrFalse)
Konvertiert WAHR/FALSCH (true/false) sprachabhängig nach "Ja"/"Nein" (Yes/No)
Definition: OKW_Const_Sngltn.java:311
okw.log.Logger_Sngltn.LogPrintDebug
void LogPrintDebug(String fpsMessage)
Loggt eine Nachricht.
Definition: Logger_Sngltn.java:520
okw.LogMessenger.GetMessage
String GetMessage(String MethodName, String TextKey)
Holt die Log-Meldung für MethodeNmae/Textkey ohne weitere Parameter.
Definition: LogMessenger.java:137
okw.OKW_Const_Sngltn.Log
static Logger_Sngltn Log
Definition: OKW_Const_Sngltn.java:133
okw.OKW_Helper
Klasse enthält OKW-Hilfsfunktionen.
Definition: OKW_Helper.java:62
okw.OKW_Const_Sngltn.getInstance
static OKW_Const_Sngltn getInstance()
Holt die einzige Instanz dieser Klasse.
Definition: OKW_Const_Sngltn.java:277
okw.OKW_Const_Sngltn
OKW_Const verwaltet die sprachabhängigen OKW-Konstanten.
Definition: OKW_Const_Sngltn.java:127
okw.exceptions.OKWNotAllowedValueException
OKWNotAllowedValueException-Ausnahme wird ausgelöst, wenn ein gegebener Wert im Schlüsselwort nicht e...
Definition: OKWNotAllowedValueException.java:63
okw.log.Logger_Sngltn
Definition: Logger_Sngltn.java:54
okw.OKW_Helper.splitString
static ArrayList< String > splitString(String fpsString2Split, String fpsSeparator)
Splittet einen String am angegebenen Separator auf.
Definition: OKW_Helper.java:781
okw.OKW_Const_Sngltn.OKW_Const_Sngltn
OKW_Const_Sngltn()
Privater Konstruktor ohne Parameter im Entwurfsmuster Singelton initialisiert die Klasse OKW_Const.
Definition: OKW_Const_Sngltn.java:235
okw.OKW_Const_Sngltn.GetOKWConst4Internalname
String GetOKWConst4Internalname(String fpsInternalname)
Methode ermittelt für Internalname und der aktuell eingestellten Sprache den Wert für OKWConst.
Definition: OKW_Const_Sngltn.java:608
okw.OKW_Const_Sngltn.myXmlReader
OKW_XmlReader myXmlReader
Definition: OKW_Const_Sngltn.java:170