Java Web Services via REST bereitstellen
ulrich@undisclosed
2020-05-02 e72f145db006c09ceab583f091e3f750189077bc
src/de/uhilger/transit/JavaServer.java
@@ -56,8 +56,10 @@
    * 
    * @param klassenName  voller Name der gesuchten Klasse, z.B. java.lang.String
    * @return  die Klasse oder null, wenn keine Klasse mit diesem Namen gefunden wurde
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
  @Override
   public Class klasseFinden(String klassenName) throws Exception {
      Class c = null;
      c = Class.forName(klassenName);
@@ -68,16 +70,18 @@
    * Eine Methode ausfuehren
    * 
    * Diese Methode sieht vor, dass ein Methodenname nur einmal in einer 
    * Klasse vorkommt. In Faellen, wo mehrere Methoden einer Klasse den
    * selben Namen haben, wird die erste Methode dieses Namens verwendet.
    * Klasse vorkommt.In Faellen, wo mehrere Methoden einer Klasse den
 selben Namen haben, wird die erste Methode dieses Namens verwendet.
    * 
    * @param klassenName  Name der Klasse
    * @param methodenName  Name der Methode
    * @param format  das Format, das Parameter und Rueckgabewert haben
    * @param parameter  die Parameter der Methode
    * @return  der Rueckgabewert der Methode nach der Ausfuehrung
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
  @Override
   public Object methodeAusfuehren(String klassenName, String methodenName, String format, Object... parameter) throws Exception {
      Object resultat = null;
      Class c = klasseFinden(klassenName);
@@ -91,16 +95,18 @@
    * Eine Methode ausfuehren
    * 
    * Diese Methode sieht vor, dass ein Methodenname nur einmal in einer 
    * Klasse vorkommt. In Faellen, wo mehrere Methoden einer Klasse den
    * selben Namen haben, wird die erste Methode dieses Namens verwendet.
    * Klasse vorkommt.In Faellen, wo mehrere Methoden einer Klasse den
 selben Namen haben, wird die erste Methode dieses Namens verwendet.
    * 
    * @param o  ein Objekt der Klasse, die die auszufuehrende Methode enthaelt
    * @param methodenName  Name der Methode
    * @param format  das Format, das Parameter und Rueckgabewert haben
    * @param parameter  die Parameter der Methode
    * @return  der Rueckgabewert der Methode nach der Ausfuehrung
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
  @Override
   public Object methodeAusfuehren(Object o, String methodenName, String format, Object... parameter) throws Exception {
      Object resultat = null;
      if(o != null) {
@@ -119,8 +125,10 @@
    * @param format  das Format, das Parameter und Rueckgabewert haben
    * @param parameter  die Parameter der Methode
    * @return  der Rueckgabewert der Methode nach der Ausfuehrung
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
  @Override
   public Object methodeAusfuehren(Object o, Method methode, String format, Object... parameter) throws Exception {
      Object resultat = null;
      if(methode != null) {
@@ -155,7 +163,9 @@
    * 
    * @param m
    * @param parameter
   * @param format
    * @return
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
   protected Object[] parameterKonvertieren(Method m, Object[] parameter, String format) throws Exception {
@@ -175,8 +185,10 @@
    * 
    * @param c  die Klasse, in deren Typ umgewandelt werden soll
    * @param parameter  der Wert, der umgewandelt werden soll
   * @param format
    * @return der Parameter umgewandelt in den gewuenschten Typ oder null, falls 
    * die Umwandlung nicht gelang
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
   protected Object toType(Class c, String parameter, String format) throws Exception {
@@ -237,15 +249,17 @@
    * Eine Methode heraussuchen
    * 
    * Diese Methode sieht vor, dass ein Methodenname nur einmal in einer 
    * Klasse vorkommt. In Faellen, wo mehrere Methoden einer Klasse den
    * selben Namen haben, wird die erste Methode dieses Namens geliefert.
    * Klasse vorkommt.In Faellen, wo mehrere Methoden einer Klasse den
 selben Namen haben, wird die erste Methode dieses Namens geliefert.
    * 
    * @param klassenName  Name der Klasse
    * @param methodenName Name der gesuchten Mthode
    * @return  die Methode oder null, wenn keine Methode mit diesem Namen
    * in der angegebenen Klasse gefunden wurde
   * @throws java.lang.Exception
    */
   @SuppressWarnings("rawtypes")
  @Override
   public Method methodeFinden(String klassenName, String methodenName) throws Exception {
      Method m = null;
      Class klasse = Class.forName(klassenName);
@@ -260,6 +274,7 @@
   * 
   * @param wandler  der Wandler, der entfernt werden soll
   */
  @Override
   public void wandlerEntfernen(Wandler wandler) {
      this.wandler.remove(wandler.getFormat());
   }
@@ -269,6 +284,7 @@
   * 
   * @param wandler  der Wandler, der hinzugefuegt werden soll
   */
  @Override
   public void wandlerHinzufuegen(Wandler wandler) {
      this.wandler.put(wandler.getFormat(), wandler);
   }
@@ -276,6 +292,7 @@
  /**
   * Diese Instanz aufloesen, also alle Ressourcen frei geben 
   */
  @Override
  public void aufloesen() {
    Set keySet = wandler.keySet();
    Iterator i = keySet.iterator();