OpenKeyWord  Build_ID: 457, Datum: 01.02.2020 07:45:48
Dont repeat yourself. - Do it once and only once!
FrameObjectDictionary_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.io.IOException;
43 import java.lang.reflect.Field;
44 import java.util.ArrayList;
45 import java.util.Collections;
46 import java.util.HashMap;
47 import java.util.Map;
48 import java.util.Set;
49 
50 import javax.xml.bind.JAXBException;
51 import javax.xml.parsers.ParserConfigurationException;
52 import javax.xml.xpath.XPathExpressionException;
53 
54 import org.xml.sax.SAXException;
55 
56 import okw.core.IOKW_FN;
57 import okw.exceptions.*;
58 import okw.log.Logger_Sngltn;
59 
74 {
75 
76  // / \~german
77  // / \brief
78  // / Zentrale Liste, genauer Dictionary/Hash der aktuell benutzten
79  // / Frame-Objekte.
80  // /
81  // / Der Zugriff erfolgt über die Methoden:
82  // / - FrameObjectDictionary.GetObjectByName(String)
83  // / - FrameObjectDictionary.GetObjectByName(String,String)
84  // / - FrameObjectDictionary.Init()
85  // /
86  // / \note Feld ist Public
87  // / \~english
88  // / \brief
89  // / \todo TODO: JN Übersetzung/Review
90  // /
91  // / \~
92  // / \author Zoltan Hrabovszki
93  // / \date 2014.10.10
94  // / \todo TODO: Bedingte Kompilierung einfügen für "Test" Feld muss Public
95  // / sein, wenn unittets durchgeführt werden soll.
96  public static Map<String, Object> myFrameObjectDictionary = new HashMap<String, Object>();
97 
98  public static Map<String, OKW> myAnnotationDictionary = new HashMap<String, OKW>();
99 
104 
105 
109  private static LogMessenger LM;
110 
111 
112  private static FrameObjectDictionary_Sngltn Instance = null;
113 
114 
127  {
128  }
129 
130  public static FrameObjectDictionary_Sngltn getInstance() throws XPathExpressionException, JAXBException, ParserConfigurationException, SAXException,
131  IOException
132  {
133  Log.LogFunctionStartDebug( "FrameObjectDictionary.getInstance" );
134 
135  // Lazy Initialization (If required then only)
136  if ( Instance == null )
137  {
138  // Thread Safe. Might be costly operation in some case
139  synchronized ( FrameObjectDictionary_Sngltn.class )
140  {
141  if ( Instance == null )
142  {
143  Instance = new FrameObjectDictionary_Sngltn();
144  try
145  {
146  init();
147  }
148  catch (Exception e)
149  {
150  OKW_HandleException.StopRunning( e, Instance.getClass() );
151  }
152  }
153  }
154  }
155 
157 
158  return Instance;
159  }
160 
195  public Object getParentObjectByName( String FNParentObject ) throws XPathExpressionException
196  {
197  Object lvo_Return = null;
198 
199  Log.LogFunctionStartDebug( "FrameObjectDictionary.GetParentObjectByName", "FNParentObject", FNParentObject );
200  try
201  {
202  // Gibt es den Schlüssel im Dictinary? - D.h. Gibt es schon eine
203  // Instanz des Objektes im Speicher?
204  Log.LogPrintDebug( LM.GetMessage( "GetParentObjectByName", "M1", FNParentObject ) );
205  if ( myFrameObjectDictionary.containsKey( FNParentObject ) )
206  {
207  // Ja, das Objekt existiert.
208  Log.LogPrintDebug( LM.GetMessage( "GetParentObjectByName", "M2" ) );
209  lvo_Return = myFrameObjectDictionary.get( FNParentObject );
210  }
211  else
212  {
213  // Nein -> Frame zum Funtionalen NAme wurde nicht gefunden ->
214  // Exception auslösen...
215  // \todo TODO: Fehlermeldung einbauen...
216  Log.LogPrintDebug( LM.GetMessage( "GetParentObjectByName", "M3" ) );
217 
218  String lvsMessage = LM.GetMessage( "GetParentObjectByName", "OKWFrameObjectParentNotFoundException", FNParentObject );
219  throw new OKWFrameObjectParentNotFoundException( lvsMessage );
220  }
221  }
222  finally
223  {
224  if ( lvo_Return != null )
225  {
226  Log.LogFunctionEndDebug( lvo_Return.toString() );
227  }
228  else
229  {
231  }
232  }
233 
234  return lvo_Return;
235  }
236 
250  public ArrayList<String> getAllChildKeysOfParent(String FN_Parent)
251  {
252  ArrayList<String> lvAlReturn = new ArrayList<String>();
253 
254  Set<String> lvKeys = myFrameObjectDictionary.keySet();
255 
256  for ( Object lvoKey : lvKeys )
257  {
258  String lvsKey = (String)lvoKey;
259 
260  if (lvsKey.startsWith( FN_Parent ) )
261  {
262  lvAlReturn.add( lvsKey );
263  }
264  }
265  return lvAlReturn;
266  }
267 
268 
298  public Object getChildObjectByName( String fps_ParentObject, String fps_ChildObject ) throws XPathExpressionException, IllegalArgumentException, IllegalAccessException
299  {
300  Object lvo_Return = null;
301  String lvs_ObjectName = fps_ParentObject + "." + fps_ChildObject;
302 
303  Log.LogFunctionStartDebug( "FrameObjectDictionary.GetChildObjectByName", "fps_ParentObject", fps_ParentObject, "fps_ChildObject", fps_ChildObject );
304 
305  // Gibt es den Schlüssel im Dictinary?
306  Log.LogPrintDebug( LM.GetMessage( "GetChildObjectByName", "M1", fps_ChildObject, fps_ParentObject ) );
307  try
308  {
309  if ( myFrameObjectDictionary.containsKey( lvs_ObjectName ) )
310  {
311  // Ja, das Objekt existiert.
312  Log.LogPrintDebug( LM.GetMessage( "GetChildObjectByName", "M2" ) );
313 
314  // Hole die Referenz auf das Objekt aus dem Dictionary
315  lvo_Return = myFrameObjectDictionary.get( lvs_ObjectName );
316  // lvo_Return = myField.get( this.GetParentObjectByName( fps_ParentObject ) );
317  }
318  else
319  {
320  // Nein -> Frame zum Funtionalen Name wurde nicht gefunden ->
321  // Exception OKWFrameObjectChildNotFoundException auslösen...
322  // \todo TODO: Fehlermeldung einbauen...
323  Log.LogPrintDebug( LM.GetMessage( "GetChildObjectByName", "M3" ) );
324 
325  String lvsMessage = LM.GetMessage( "GetChildObjectByName", "OKWFrameObjectChildNotFoundException", lvs_ObjectName );
326  throw new OKWFrameObjectChildNotFoundException( lvsMessage );
327  }
328  }
329  finally
330  {
331  if ( lvo_Return == null )
332  {
334  }
335  else
336  {
337  Log.LogFunctionEndDebug( lvo_Return.toString() );
338  }
339  }
340  return lvo_Return;
341  }
342 
357  public static void init() throws ClassNotFoundException, InstantiationException, JAXBException, ParserConfigurationException, SAXException, IOException,
358  XPathExpressionException, IllegalArgumentException, IllegalAccessException
359  {
360  Log.LogFunctionStartDebug( "FrameObjectDictionary.Init" );
361 
362  try
363  {
364  LM = new LogMessenger( "FrameObjectDictionary" );
365 
366  Log.LogPrintDebug( LM.GetMessage( "Init", "InitClear", "FrameObjectDictionary" ) );
367 
368  myFrameObjectDictionary.clear();
369 
370  frameScan( );
371 
372  Set<String> Keys = myFrameObjectDictionary.keySet();
373 
374  ArrayList<String> myList = new ArrayList<String>();
375 
376  for ( String Key : Keys )
377  {
378  myList.add( Key );
379  }
380 
381  Collections.sort( myList );
382 
383  Log.ResOpenListDebug( "Frames: " );
384 
385  for ( String Element : myList )
386  {
387  Log.LogPrintDebug( Element );
388  }
389 
391 
392  }
393  finally
394  {
396  }
397  }
398 
424  public static ArrayList<Class<?>> getListOfOKWGuiClasses() throws ClassNotFoundException, IOException, XPathExpressionException
425  {
426  String lvsNamespace = "okw.gui.frames";
427  ArrayList<Class<?>> lvALReturn = new ArrayList<Class<?>>();
428 
429  ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
430 
431  // 1. Hole alle Klassen, die sich im Package "okw.gui.frames" befinden
432  ArrayList<String> lvALClassNames = OKW_GetJavaClass.getClasses( lvsNamespace );
433 
434  try
435  {
436  // 2. Hole alle Klassen, die Annotation "OKW_FN" haben.
437  for ( String lvsClass : lvALClassNames )
438  {
439  Class<?> aClass = classLoader.loadClass( lvsClass );
440 
441  // Wenn die Klasse die Annotaion OKW_FN hat, dann in die
442  // Rückgabe-Liste eintrage
443  if ( aClass.isAnnotationPresent( OKW.class ) )
444  {
445  lvALReturn.add( aClass );
446  }
447  }
448  }
449  catch (ClassNotFoundException e)
450  {
451  e.printStackTrace();
452  }
453 
454  return lvALReturn;
455  }
456 
457 
473  private static void frameScan( ) throws InstantiationException, XPathExpressionException,
474  IllegalArgumentException, IllegalAccessException, ClassNotFoundException, IOException
475  {
476  Object lvTypeInstanceAsObject = null;
477 
478  Log.ResOpenList( "List of Frames..." );
479 
480  try
481  {
482  // Alle Fenster Klassen, die eine Annotation ermitteln...
483  ArrayList<Class<?>> lvOKWGuiClasses = getListOfOKWGuiClasses();
484 
485  // Für jede Klasse in der Liste...
486  for ( Class<?> lvOKWGuiClass : lvOKWGuiClasses )
487  {
488  // Erzeuge eine Instanz der Window-Klasse
489  lvTypeInstanceAsObject = OKW_GetJavaClass.createInstanceByType( lvOKWGuiClass );
490 
491  // FN (Fachlichen Namen) der Klasse aus der die Annotiation OKW.FN() auslesen.
492  // Hierbei handelt es sich um des ParentObject = Fenster
493  OKW lvOKWWindow = getOKWFromObjekt( lvTypeInstanceAsObject );
494  String lvsFNWindow = lvOKWWindow.FN();
495 
496  // Wenn Attribute vorhanden (!=null) und nicht Leer (!= "") dann ins Dictionary einfügen.
497  if ( lvsFNWindow != null && !lvsFNWindow.isEmpty() )
498  {
499  Log.ResOpenList( "Parent: '" + lvsFNWindow + "'" );
500  Log.LogPrint( "Type: '" + lvTypeInstanceAsObject.getClass().getName() + "'" );
501 
502  ((IOKW_FN)lvTypeInstanceAsObject).setFN( lvsFNWindow );
503  ((IOKW_FN)lvTypeInstanceAsObject).setKN( lvsFNWindow );
504 
505  myFrameObjectDictionary.put( lvsFNWindow, lvTypeInstanceAsObject );
506  myAnnotationDictionary.put( lvsFNWindow, lvOKWWindow );
507 
508  Log.LogPrintDebug( LM.GetMessage( "CreateInstanceByObjectName", "InstanceWasCreated", lvTypeInstanceAsObject.getClass().getName() ) );
509 
510  // Rekursive alle Felder (Fields) der Frame-Klasse durchsuchen...
511  // und einlesen, wenn diese eine Annotaion besitzen.
512  Field[] lvFields = lvTypeInstanceAsObject.getClass().getFields();
513 
514  for ( Field lvField : lvFields )
515  {
516 
517  String myFieldType = lvField.getType().getName();
518 
519  // Die Instance des Feldes holen...
520  Object lvFieldInstance = lvField.get( lvTypeInstanceAsObject );
521 
522  if ( lvField.isAnnotationPresent( OKW.class ) )
523  {
524  OKW myFN = lvField.getAnnotation( OKW.class );
525  // Get the value from property.
526 
527  String lvsFNChild = myFN.FN();
528  String lvsChildKey = lvsFNWindow + "." + lvsFNChild;
529 
530  Log.ResOpenList( "Child: '" + lvsFNChild + "'" );
531  Log.LogPrint( " Key: '" + lvsChildKey + "'" );
532  Log.LogPrint( " Type: '" + myFieldType + "'" );
533 
534  // Add child-object to the dictionary
535  myAnnotationDictionary.put( lvsChildKey, myFN );
536 
537  try
538  {
539  // Now here we tell the GUI-Adapter his FN and his Parent-FN...
540  (( IOKW_FN ) lvFieldInstance).setKN( lvsChildKey );
541  (( IOKW_FN ) lvFieldInstance).setFN( lvsFNChild );
542  (( IOKW_FN ) lvFieldInstance).setParentFN( lvsFNWindow );
543  myFrameObjectDictionary.put( lvsChildKey, lvFieldInstance );
544 
545  frameScanFieldsRecursively( lvField, lvFieldInstance, lvsFNWindow );
546  }
547  catch (java.lang.ClassCastException e)
548  {
549  System.out.print("Uuupps! There is a ClassCastException... ");
550  }
551  finally
552  {
553  Log.ResCloseList(); // Close Child
554  }
555  }
556  else
557  {
558  Log.LogPrint( "-GUI-Container-" );
559  frameScanFieldsRecursively( lvField, lvFieldInstance, lvsFNWindow );
560  }
561  }
562  }
563  Log.ResCloseList();
564  }
565  }
566  finally
567  {
568  Log.ResCloseList();
569  }
570  }
571 
572 
573  private static void frameScanFieldsRecursively( Field fpParentField, Object fpParentFieldInstance, String fpsWindowName )
574  {
575  //n++;
576 
577  try
578  {
579  // Get all Fields within fpFieldToScan
580  Field[] lvFields = fpParentField.getType().getFields();
581 
582  for ( Field lvField : lvFields )
583  {
584 
585  String FieldType = lvField.getType().getName();
586 
587  // Die Instance des Feldes holen...
588  Object lvFieldInstance = lvField.get( fpParentFieldInstance );
589 
590  if ( FieldType.startsWith( "okw.gui." ) )
591  {
592  if ( lvField.isAnnotationPresent( OKW.class ) )
593  {
594  OKW myFN = lvField.getAnnotation( OKW.class );
595  // Get the value from property.
596 
597  String lvsFNChild = myFN.FN();
598  String lvsKey = fpsWindowName + "." + lvsFNChild;
599 
600  if ( myFrameObjectDictionary.containsKey( lvsKey ) )
601  {
602  // \todo TODO: Meldung in Sprachabhängige datei auslagern.
603  throw new OKWFrameObjectDictionaryDuplicateFNException( "There is another Object with the same FN!" + lvsKey );
604  }
605  else
606  {
607 
608  Log.ResOpenList( "Child: '" + lvsFNChild + "'" );
609  Log.LogPrint( " Key: '" + lvsKey + "'" );
610  Log.LogPrint( " Type: '" + FieldType + "'" );
611 
612  myAnnotationDictionary.put( lvsKey, myFN );
613 
614  (( IOKW_FN ) lvFieldInstance).setKN( lvsKey );
615  (( IOKW_FN ) lvFieldInstance).setFN( lvsFNChild );
616  (( IOKW_FN ) lvFieldInstance).setParentFN( fpsWindowName );
617 
618  myFrameObjectDictionary.put( lvsKey, lvFieldInstance );
619 
620  frameScanFieldsRecursively( lvField, lvFieldInstance, fpsWindowName );
621  Log.ResCloseList();
622  }
623  }
624  else
625  {
626  frameScanFieldsRecursively( lvField, lvFieldInstance, fpsWindowName );
627  }
628  }
629  }
630  }
631  catch (Exception e)
632  {
633  Log.LogException( e.getMessage() );
634  }
635  }
636 
643  private static OKW getOKWFromObjekt( Object fpObject )
644  {
645  OKW lvsReturn = null;
646 
647  if ( fpObject.getClass().isAnnotationPresent( OKW.class ) )
648  {
649  lvsReturn = fpObject.getClass().getAnnotation( OKW.class );
650  }
651 
652  return lvsReturn;
653  }
654 
655 
656  // / \~german
657  // / \brief
658  // / Erzeugt eine Instanz des OKW-Frame-Objekts.
659  // /
660  // / \return
661  // / Die Instanz des OKW-Frame_Objekts.
662  // /
663  // / \param fps_ParentName Fachlicher Name des Eltern Fensters.
664  // / \param fps_ChildName Fachlicher Name des Kind-Objektes im
665  // Fenster-Objekt
666  // / fps_ParentName.
667  // /
668  // / \~english
669  // / \brief
670  // / Generates an instance of the OKW-Frame-Object.
671  // /
672  // / \return
673  // / The instance of OKW-Frame-Object.
674  // /
675  // / \param fps_ParentName name of parent window.
676  // / \param fps_ChildName Name of child Object via fps_ParentObject given
677  // / parent Object.
678  // /
679  // / \~
680  // / \author Zoltan Hrabovszki
681  // / \date 2014-10-10
682  // / FIXME: Prüfen, ob diese Methoden namentlich ok sind. Wird das Eltern
683  // / Obejkt angelegt?
684  @SuppressWarnings( "unused" )
685  private Object createInstanceByObjectName( String fps_ParentObject, String fps_ChildObject ) throws XPathExpressionException
686  {
687  Log.LogFunctionStartDebug( "FrameObjectDictionary.CreateInstanceByObjectName", "fps_ParentObject", fps_ParentObject, "fps_ChildObject", fps_ChildObject );
688 
689  Object myParentObject = null;
690  Object myChildObject = null;
691  Boolean bOK = false;
692 
693  try
694  {
695  // PerentObject holen und ggf. als instanz anlegen
696  myParentObject = this.getParentObjectByName( fps_ParentObject );
697 
698  // Kindobjekt aufrufen...
699  // aber nur wenn Paretobjekt gefunden worden ist.
700  if ( myParentObject != null )
701  {
702  // FIXME: was ist wenn das myChildObject = null ist??Checken
703  myChildObject = getChildObjectByName( myParentObject, fps_ChildObject );
704  }
705  else
706  {
707  // \todo TODO: Log Schreiben..
708  throw new OKWFrameObjectParentNotFoundException( "Frame Objekt des Fensters" );
709  }
710 
711  bOK = true;
712 
713  }
714  finally
715  {
716  if ( bOK )
717  {
718  // Wir sind ohne Exception durchgekommen und wir nehmen an,
719  // dass lvo_Obj != null
720  // -> wir geben den Namen des Objektes zurück...
721  Log.LogFunctionEndDebug( myChildObject.getClass().getName() );
722  }
723  else
724  {
725  // Irgend etwas ist faul wir rufen nur LogFunctionEndDebug
726  // auf...
728  }
729  }
730 
731  return myChildObject;
732  }
733 
734 
755  private Object getChildObjectByName( Object fpo_ParentObject, String fps_ChildName ) throws XPathExpressionException
756  {
757  Object lvo_Return = null;
758 
759  Log.LogFunctionStartDebug( "FrameObjectDictionary.GetChildObjectByName", "fpo_ParentObject", fpo_ParentObject.toString(), "fps_ChildName", fps_ChildName );
760 
761  try
762  {
763  Field fieldInfoObj = fpo_ParentObject.getClass().getField( fps_ChildName );
764 
765  // Existiert es das Kindobjekt >>{0:}<< im Objekt >>{1:}<<?
766  Log.LogPrintDebug( LM.GetMessage( "GetChildObjectByName", "M1", fps_ChildName, fpo_ParentObject.getClass().getName() ) );
767 
768  // Ja, das Objekt existiert.
769  Log.LogPrintDebug( LM.GetMessage( "GetChildObjectByName", "M2" ) );
770 
771  // Get the value from property.
772  lvo_Return = fieldInfoObj;
773  }
774  catch (SecurityException e)
775  {
776  // \todo TODO: In Sprachabhängige datei Auslagern!
777  Log.LogPrintDebug( "Frame Object must be declarec as Public!" );
778  throw e;
779  }
780  catch (NoSuchFieldException e)
781  {
782  // Nein -> Exception auslösen und alles beenden!
783  Log.LogPrintDebug( LM.GetMessage( "GetChildObjectByName", "M3" ) );
784 
785  throw new OKWFrameObjectChildNotFoundException( LM.GetMessage( "GetChildObjectByName", "ChildIsNotDefined_Exception", fps_ChildName, fpo_ParentObject
786  .getClass().getName() ) );
787  }
788  finally
789  {
791  }
792 
793  return lvo_Return;
794  }
795 
796 
797  public void printObjectDictionary()
798  {
799 
800  Set<String> mySet = myFrameObjectDictionary.keySet();
801 
802  for ( String myKey : mySet )
803  {
804  System.out.println( " Key: " + myKey );
805  System.out.println( "Value: " + myFrameObjectDictionary.get( myKey ).toString() );
806  System.out.println( " Type: " + myFrameObjectDictionary.get( myKey ).getClass().getName() );
807  System.out.println( "---------------------------------------------------------------------\n" );
808  }
809  }
810 
811 
829  public OKW getOKW( String fpKN )
830 
831  {
832  OKW Return = null;
833 
834  if (myAnnotationDictionary.containsKey(fpKN) )
835  {
836  Return = myAnnotationDictionary.get( fpKN );
837  }
838 
839  return Return;
840  }
841 }
okw.FrameObjectDictionary_Sngltn
Verwaltet zentral die Frame-Klassen: Instanziert Frame-Klassen zu Frame-Objekten und liefert die Refe...
Definition: FrameObjectDictionary_Sngltn.java:73
okw.FrameObjectDictionary_Sngltn.Log
static Logger_Sngltn Log
Zentrale Logger-Klasse stellt Logger-Methoden innerhalb von OKW zur Verfügung.
Definition: FrameObjectDictionary_Sngltn.java:103
okw.log.Logger_Sngltn.ResOpenList
void ResOpenList(String fps_Name)
Creates a new hierarchical level in the results file.
Definition: Logger_Sngltn.java:614
okw.FrameObjectDictionary_Sngltn.FrameObjectDictionary_Sngltn
FrameObjectDictionary_Sngltn()
Konstuktor der Klasse.
Definition: FrameObjectDictionary_Sngltn.java:126
okw.LogMessenger
LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugeh...
Definition: LogMessenger.java:84
okw.FrameObjectDictionary_Sngltn.getOKW
OKW getOKW(String fpKN)
Holt für einen GUI-Object die angehängte Annotation.
Definition: FrameObjectDictionary_Sngltn.java:829
okw.FrameObjectDictionary_Sngltn.getOKWFromObjekt
static OKW getOKWFromObjekt(Object fpObject)
Holt die Referenz auf die Annotation des gegebenen Objektes.
Definition: FrameObjectDictionary_Sngltn.java:643
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.FrameObjectDictionary_Sngltn.getChildObjectByName
Object getChildObjectByName(String fps_ParentObject, String fps_ChildObject)
Die Methode liefert das Objekt des gegebenen Kindobjekttests zurück.
Definition: FrameObjectDictionary_Sngltn.java:298
okw.core.IOKW_FN
Definition: IOKW_FN.java:3
okw.log.Logger_Sngltn.ResOpenListDebug
void ResOpenListDebug(String fpsListCaption)
Erzeugt eine hierachische Log-Ebene in der Ergenbniss-Ausgabe.
Definition: Logger_Sngltn.java:647
okw.FrameObjectDictionary_Sngltn.getAllChildKeysOfParent
ArrayList< String > getAllChildKeysOfParent(String FN_Parent)
Methode Ermittelt alle FN´s der Kinder des gegebene Fensters (Parent).
Definition: FrameObjectDictionary_Sngltn.java:250
okw.log.Logger_Sngltn.LogException
void LogException(String fps_Message)
LogException Function: Logs a Script Exception to the results file.
Definition: Logger_Sngltn.java:188
okw.log.Logger_Sngltn.LogFunctionStartDebug
void LogFunctionStartDebug(String fps_FunctionName, String... fpsParameter)
LogFunctionStartDebug:
Definition: Logger_Sngltn.java:311
okw.OKW.FN
String FN() default ""
FN des GUI-Objektes.
okw.log.Logger_Sngltn.ResCloseListDebug
void ResCloseListDebug()
Closes a hierarchical level in the results file that was opened with ResOpenList.
Definition: Logger_Sngltn.java:594
okw.OKW_GetJavaClass
Definition: OKW_GetJavaClass.java:22
okw.FrameObjectDictionary_Sngltn.init
static void init()
Methode initialisiert diese Klasse.
Definition: FrameObjectDictionary_Sngltn.java:357
okw.log.Logger_Sngltn.LogPrint
void LogPrint(String fps_Message)
LogPrint Function: Prints the values of expressions to the results file.
Definition: Logger_Sngltn.java:487
okw.log.Logger_Sngltn.ResCloseList
void ResCloseList()
Closes a hierarchical level in the results file that was opened with ResOpenList.
Definition: Logger_Sngltn.java:574
okw.exceptions.OKWFrameObjectParentNotFoundException
Die Ausnahme OKWFrameObjectWindowNotFoundException wird ausgelöst, wenn ein Fenster-Frame-Objekt mit ...
Definition: OKWFrameObjectParentNotFoundException.java:62
okw.exceptions.OKWFrameObjectChildNotFoundException
OKW.OKWFrameObjectChildNotFoundException wird ausgelöst, wenn die Frame-Definition eines Kind-Objekte...
Definition: OKWFrameObjectChildNotFoundException.java:65
okw.log.Logger_Sngltn.LogPrintDebug
void LogPrintDebug(String fpsMessage)
Loggt eine Nachricht.
Definition: Logger_Sngltn.java:520
okw.exceptions.OKWFrameObjectDictionaryDuplicateFNException
Diese Ausnahme wird ausgelöst, wenn kein Fenster Objekt ausgewählt/gesetzt worden ist bevor ein Kindo...
Definition: OKWFrameObjectDictionaryDuplicateFNException.java:74
okw.OKW_GetJavaClass.createInstanceByType
static Object createInstanceByType(Class<?> fpParentType)
Die Methode erzeugt eine Instanz der Rahmenklasse (frame class) mit dem in 'fps_ParentClassName' gege...
Definition: OKW_GetJavaClass.java:346
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.FrameObjectDictionary_Sngltn.getListOfOKWGuiClasses
static ArrayList< Class<?> > getListOfOKWGuiClasses()
Methode erstellt eine Liste aller OKWGUI-Rahmenklassen (Frame class), die in der aktuell ausgeführten...
Definition: FrameObjectDictionary_Sngltn.java:424
okw.OKW
Annotations-Klasses für die Zuordnung von.
Definition: OKW.java:38
okw.FrameObjectDictionary_Sngltn.frameScan
static void frameScan()
Liefert die Instanz der Klasse.
Definition: FrameObjectDictionary_Sngltn.java:473
okw.log.Logger_Sngltn
Definition: Logger_Sngltn.java:54
okw.FrameObjectDictionary_Sngltn.getChildObjectByName
Object getChildObjectByName(Object fpo_ParentObject, String fps_ChildName)
Holt sich einen öffentlichen Feld Wert über den Namen.
Definition: FrameObjectDictionary_Sngltn.java:755
okw.FrameObjectDictionary_Sngltn.getParentObjectByName
Object getParentObjectByName(String FNParentObject)
Die Methode liefert das Frame-Object des gegebenen FN eines Fensterobjektes zurück.
Definition: FrameObjectDictionary_Sngltn.java:195
okw.FrameObjectDictionary_Sngltn.LM
static LogMessenger LM
LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugeh...
Definition: FrameObjectDictionary_Sngltn.java:109