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.