This is an automated email from the ASF dual-hosted git repository.

jdoornenbal pushed a commit to branch AtPathEvaluaterExperiment
in repository https://gitbox.apache.org/repos/asf/causeway-app-simpleapp.git

commit fe13549145d95af6381191e0d490026fd05864a0
Author: Johan Doornenbal <[email protected]>
AuthorDate: Mon Jun 24 14:23:46 2024 +0200

    Adds implementation of atPathEvaluater
---
 .../application/services/AtPathEvaluaterImpl.java  | 27 ++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git 
a/webapp/src/main/java/domainapp/webapp/application/services/AtPathEvaluaterImpl.java
 
b/webapp/src/main/java/domainapp/webapp/application/services/AtPathEvaluaterImpl.java
new file mode 100644
index 0000000..467a7f2
--- /dev/null
+++ 
b/webapp/src/main/java/domainapp/webapp/application/services/AtPathEvaluaterImpl.java
@@ -0,0 +1,27 @@
+package domainapp.webapp.application.services;
+
+import domainapp.modules.simple.dom.so.SimpleObject;
+
+import 
org.apache.causeway.extensions.secman.applib.tenancy.spi.ApplicationTenancyEvaluator;
+import org.apache.causeway.extensions.secman.applib.user.dom.ApplicationUser;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public class AtPathEvaluaterImpl implements ApplicationTenancyEvaluator {
+
+    public boolean handles(Class<?> cls) {
+        return cls == SimpleObject.class;
+    }
+
+    @Override
+    public String hides(Object domainObject, ApplicationUser applicationUser) {
+        SimpleObject object = (SimpleObject) domainObject;
+        return object.getName().startsWith("F") ? "hidden" : null;
+    }
+
+    @Override
+    public String disables(Object domainObject, ApplicationUser 
applicationUser) {
+        return "";
+    }
+}

Reply via email to