You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/03/05 08:29:23 UTC

[isis] branch master updated: ISIS-1897 applib: bring in ToStringEvaluator from -legacy

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 44a0e7d  ISIS-1897 applib: bring in ToStringEvaluator from -legacy
44a0e7d is described below

commit 44a0e7d5722e1f9d0c146dc881dd4c92fb4a3a21
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Mar 5 09:29:19 2018 +0100

    ISIS-1897 applib: bring in ToStringEvaluator from -legacy
---
 .../java/org/apache/isis/applib/util/ObjectContracts.java   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java b/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
index 67a892a..2f95aa0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
@@ -65,7 +65,9 @@ import org.apache.isis.applib.internal.exceptions._Exceptions;
  * @since 2.0.0 (re-invented)
  *
  */
-public class ObjectContracts {
+public final class ObjectContracts {
+	
+	private ObjectContracts() {}
 	
 	public static <T> ToString<T> toString(String name, Function<T, ?> getter) {
 		return ToString.toString(name, getter);
@@ -79,6 +81,11 @@ public class ObjectContracts {
 		return Hashing.hashing(getter);
 	}
 	
+    public interface ToStringEvaluator {
+        boolean canEvaluate(Object o);
+        String evaluate(Object o);
+    }
+	
 	public static interface ObjectContract<T> {
 
 		public int compare(T obj, T other);
@@ -89,6 +96,10 @@ public class ObjectContracts {
 
 		public String toString(T obj);
 		
+	    // -- TO STRING EVALUATION
+
+		public ObjectContract<T> withToStringEvaluators(ToStringEvaluator ... evaluators);
+		
 	}
 	
 	public static <T> ObjectContract<T> parse(Class<T> target, String propertyNames) {

-- 
To stop receiving notification emails like this one, please contact
ahuber@apache.org.