Class LoggingMethodInvoker<T>

java.lang.Object
de.bund.bva.isyfact.logging.util.LoggingMethodInvoker<T>

public class LoggingMethodInvoker<T> extends Object
Hilfsklasse zum Aufruf von Methoden per Reflection und dem gleichzeitigen erstellen standardisierter Logeinträge. 'T' ist die Ergebnisklasse der aufgerufenen Methode.
  • Constructor Summary

    Constructors
    Constructor
    Description
    LoggingMethodInvoker(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse)
    Konstruktor der Klasse für den Aufruf einer Methode.
    LoggingMethodInvoker(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse, String nachbarsystemName, String nachbarsystemUrl)
    Konstruktor der Klasse für den Aufruf einer Methode eines Nachbarsystems.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    erstelleLogNachAufruf(boolean aufrufErfolgreich, long dauer, Object[] parameter, Object ergebnis)
    Erstellt die Logeinträge nach dem Aufruf der Methode.
    protected void
    Erstellt die Logeinträge nach dem Aufruf der Methode.
    fuehreMethodeAus(Object ziel, Object... parameter)
    Führt die Methode mit den übergebenen Parametern auf dem übergebenen Zielobjekt aus und erstellt die entsprechenden Logeinträge.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LoggingMethodInvoker

      public LoggingMethodInvoker(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse)
      Konstruktor der Klasse für den Aufruf einer Methode. Es werden die übergebenen Klassenattribute initialisiert.
      Parameters:
      methode - auszuführende Methode.
      logger - zu verwendender Logger.
      loggeAufruf - Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.
      loggeErgebnis - Flag zum Kennzeichnen, ob das Ergebnis (Erfolg/Misserfolg) des Aufrufs gelogged werden soll.
      loggeDauer - Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.
      loggeDaten - Flag zum Kennzeichnen, ob immer die kompletten Anfragedaten gelogged werden sollen.
      loggeDatenBeiException - Flag zum Kennzeichnen, ob die kompletten Anfragedaten gelogged werden sollen, wenn das Ergebnis nicht erfolgreich war.
      loggeMaximaleParameterGroesse - Konfigurationsparameter zum Festlegen der maximalen Größe von übergebenen Parameter des Aufrufs, mit der sie noch ins Log geschrieben werden.
    • LoggingMethodInvoker

      public LoggingMethodInvoker(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse, String nachbarsystemName, String nachbarsystemUrl)
      Konstruktor der Klasse für den Aufruf einer Methode eines Nachbarsystems. Es werden die übergebenen Klassenattribute initialisiert. Beim Aufruf von Nachbarsystemmethoden werd der Name und die URL des Nachbarsystems in die Logeinträge aufgenommen.
      Parameters:
      methode - auszuführende Methode.
      logger - zu verwendender Logger.
      loggeDauer - Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.
      loggeAufruf - Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.
      loggeErgebnis - Flag zum Kennzeichnen, ob das Ergebnis (Erfolg/Misserfolg) des Aufrufs gelogged werden soll.
      loggeDaten - Flag zum Kennzeichnen, ob immer die kompletten Anfragedaten gelogged werden sollen.
      loggeDatenBeiException - Flag zum Kennzeichnen, ob die kompletten Anfragedaten gelogged werden sollen, wenn das Ergebnis nicht erfolgreich war.
      loggeMaximaleParameterGroesse - Konfigurationsparameter zum Festlegen der maximalen Größe von übergebenen Parameter des Aufrufs, mit der sie noch ins Log geschrieben werden.
      nachbarsystemName - Name des aufgerufenen Nachbarsystems.
      nachbarsystemUrl - URL des aufgerufenen Nachbarsystems.
  • Method Details

    • fuehreMethodeAus

      public T fuehreMethodeAus(Object ziel, Object... parameter) throws IllegalAccessException, InvocationTargetException
      Führt die Methode mit den übergebenen Parametern auf dem übergebenen Zielobjekt aus und erstellt die entsprechenden Logeinträge.
      Parameters:
      ziel - Object, auf dem die Methode ausgführt werden soll.
      parameter - Parameter, mit denen die Methode ausgeführt werden soll.
      Returns:
      das Ergebnis des Methodenaufrufs.
      Throws:
      IllegalAccessException - wenn die Methode nicht zugreifbar ist.
      IllegalArgumentException - wenn das Zielobjekt die aufgerufene Methode nicht bereitstellt.
      InvocationTargetException - wenn die ausgerufene Methode eine Exception wirft.
    • erstelleLogVorAuruf

      protected void erstelleLogVorAuruf()
      Erstellt die Logeinträge nach dem Aufruf der Methode.
    • erstelleLogNachAufruf

      protected void erstelleLogNachAufruf(boolean aufrufErfolgreich, long dauer, Object[] parameter, Object ergebnis)
      Erstellt die Logeinträge nach dem Aufruf der Methode.
      Parameters:
      aufrufErfolgreich - gibt an, ob der Aufruf erfolgreich war.
      dauer - die Dauer des Aufrufs.
      parameter - Parameter, mit denen die Methode ausgeführt wurde.
      ergebnis - Ergebnis des Methodenaufrufs (dies kann auch eine Exception sein).