From 1177762340ebc0e7bee444ae2d7c119f697cbdbb Mon Sep 17 00:00:00 2001
From: ulrich@undisclosed
Date: Sat, 02 May 2020 15:54:14 +0000
Subject: [PATCH] Kleinere Anpassungen

---
 src/de/uhilger/transit/JavaServer.java |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/src/de/uhilger/transit/JavaServer.java b/src/de/uhilger/transit/JavaServer.java
index 5b993dd..43a0f5f 100644
--- a/src/de/uhilger/transit/JavaServer.java
+++ b/src/de/uhilger/transit/JavaServer.java
@@ -106,7 +106,7 @@
 		if(o != null) {
 			Class c = o.getClass();
 			Method m = findeMethode(c.getDeclaredMethods(), methodenName);
-			resultat = methodeAusfuehren(o, m, format, parameter);
+      resultat = methodeAusfuehren(o, m, format, parameter);
 		}
 		return resultat;
 	}
@@ -124,23 +124,28 @@
 	public Object methodeAusfuehren(Object o, Method methode, String format, Object... parameter) throws Exception {
 		Object resultat = null;
 		if(methode != null) {
-			resultat = methode.invoke(o, parameterKonvertieren(methode, parameter, format));
-			Class returnType = methode.getReturnType();
-			/*
-			 * Wenn der Rueckgabewert der Methode nicht vom Typ String ist, 
-			 * wird das Objekt in das Format verwandelt, das der Standardwandler 
-			 * liefert, z.B. JSON
-			 */
-			if(!returnType.getName().equals("java.lang.String")) {
-        //resultat = new JsonWandler().vonJava(resultat, returnType);
-        Wandler w = wandler.get(format);
-        if(w != null) {
-    			resultat = w.vonJava(resultat, returnType);
+      Access access = methode.getAnnotation(Access.class);
+      if(access == null || access.type().equals(Access.Type.ALLOW)) {
+        resultat = methode.invoke(o, parameterKonvertieren(methode, parameter, format));
+        Class returnType = methode.getReturnType();
+        /*
+         * Wenn der Rueckgabewert der Methode nicht vom Typ String ist, 
+         * wird das Objekt in das Format verwandelt, das der Standardwandler 
+         * liefert, z.B. JSON
+         */
+        if(!returnType.getName().equals("java.lang.String")) {
+          //resultat = new JsonWandler().vonJava(resultat, returnType);
+          Wandler w = wandler.get(format);
+          if(w != null) {
+            resultat = w.vonJava(resultat, returnType);
+          }
+          /*if(format == Wandler.JSON) {
+            resultat = new JsonWandler().vonJava(resultat, returnType);
+          }*/
         }
-        /*if(format == Wandler.JSON) {
-  			  resultat = new JsonWandler().vonJava(resultat, returnType);
-        }*/
-			}
+      } else {
+        // nicht zum Zugriff vorgesehen
+      }
 		}
 		return resultat;
 	}

--
Gitblit v1.9.3