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

[isis] 01/02: Revert "ISIS-1841: minor internal API polishing"

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

danhaywood pushed a commit to branch maint-2.0.0-M1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 80fdfae05d78ed95e17ef412f949ad2ead9b5f6e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Aug 12 16:39:58 2018 +0100

    Revert "ISIS-1841: minor internal API polishing"
    
    This reverts commit 35ca99b8c3428d2e181396ae9ec2e4b1b227be06.
---
 .../apache/isis/commons/internal/base/_Bytes.java  |  2 +-
 .../apache/isis/commons/internal/base/_Lazy.java   |  3 -
 .../isis/commons/internal/base/_Reduction.java     |  5 +-
 .../isis/commons/internal/base/_Strings.java       |  9 +--
 .../apache/isis/commons/internal/base/_With.java   | 71 ++++------------------
 .../isis/commons/internal/collections/_Arrays.java | 13 ++--
 .../commons/internal/collections/_Collections.java |  5 +-
 .../collections/_Collections_Collector.java        |  7 +--
 .../isis/commons/internal/collections/_Lists.java  |  9 ++-
 .../isis/commons/internal/collections/_Maps.java   |  5 +-
 .../commons/internal/collections/_Multimaps.java   | 15 +++--
 .../isis/commons/internal/collections/_Sets.java   |  7 +--
 .../isis/commons/internal/context/_Context.java    |  3 +-
 .../isis/commons/internal/context/_Plugin.java     | 10 ++-
 .../commons/internal/exceptions/_Exceptions.java   |  6 +-
 .../internal/memento/_Mementos_MementoDefault.java | 15 +++--
 .../isis/commons/internal/resources/_Resource.java | 15 -----
 .../plugins/classdiscovery/ClassDiscovery.java     | 15 +----
 18 files changed, 64 insertions(+), 151 deletions(-)

diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes.java b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes.java
index 09ee3ca..13ab5e8 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes.java
@@ -223,7 +223,7 @@ public final class _Bytes {
 
     // -- SPECIAL COMPOSITES
 
-    // using naming convention asX .. encode / ofX .. decode
+    // using naming convention asX../ofX..
 
     public final static BytesOperator asUrlBase64 = operator()
             .andThen(bytes->encodeToBase64(Base64.getUrlEncoder(), bytes));
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Lazy.java b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Lazy.java
index f3ba221..af4eb96 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Lazy.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Lazy.java
@@ -49,9 +49,6 @@ public final class _Lazy<T> implements Supplier<T> {
         this.supplier = requires(supplier, "supplier");
     }
 
-    /**
-     * @return whether this lazy got initialized and holds a memoized value
-     */
     public boolean isMemoized() {
         return memoized;
     }
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Reduction.java b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Reduction.java
index 0d9ce88..caa6396 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Reduction.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Reduction.java
@@ -16,8 +16,7 @@
  */
 package org.apache.isis.commons.internal.base;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
+import java.util.Objects;
 import java.util.Optional;
 import java.util.function.BinaryOperator;
 import java.util.function.Consumer;
@@ -69,7 +68,7 @@ public final class _Reduction<T> implements Consumer<T> {
     }
 
     private _Reduction(@Nullable T identity, BinaryOperator<T> accumulator, boolean initialized) {
-        requires(accumulator, "accumulator");
+        Objects.requireNonNull(accumulator);
         this.initialized = initialized;
         this.result = identity;
         this.accumulator = accumulator;
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
index 273d44a..eace548 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
@@ -266,15 +266,12 @@ public final class _Strings {
      * @throws {@link IllegalArgumentException} if {@code separator} is empty
      */
     public static Stream<String> splitThenStream(@Nullable final String input, final String separator) {
-        if(isEmpty(separator)) {
+        if(isEmpty(separator))
             throw new IllegalArgumentException("a non empty separator is required");
-        }
-        if(isEmpty(input)) {
+        if(isEmpty(input))
             return Stream.of();
-        }
-        if(!input.contains(separator)) {
+        if(!input.contains(separator))
             return Stream.of(input);
-        }
 
         return StreamSupport.stream(
                 Spliterators.spliteratorUnknownSize(splitIterator(input, separator), Spliterator.ORDERED),
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_With.java b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_With.java
index 726e15b..bdecef2 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/base/_With.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/base/_With.java
@@ -205,13 +205,6 @@ public final class _With<T> {
 
     // -- PARAMETER NON-NULL CHECK
 
-    /**
-     * Allows for convenient named parameter non-null-check.
-     * @param obj target for the non-null-check
-     * @param paramName to use for the exception message, when the non-null-check fails 
-     * @return {@code obj!=null ? obj : throw NullPointerException}
-     * @throws NullPointerException if {@code obj} is {@code null}
-     */
     public static <T> T requires(@Nullable T obj, String paramName) {
         if (obj == null) {
             throw new NullPointerException(String.format("Parameter '%s' is required to be non-null.", paramName));
@@ -221,68 +214,28 @@ public final class _With<T> {
 
     // -- CONVENIENT CONSTRUCTORS
 
-    /**
-     * Allows for single line instantiation and initialization of an Object.
-     * @param factory
-     * @param initializer
-     * @return a new Object as provided by {@code factory} after calling the {@code initializer} on it
-     */
-    public static <T> T create(Supplier<T> factory, Consumer<T> initializer) {
-        return accept(factory.get(), initializer);
-    }
-    
-    /**
-     * Allows for single line instantiation and initialization of an ArrayList.
-     * @param initializer
-     * @return a new ArrayList after calling the {@code initializer} on it
-     */
-    public static <X> ArrayList<X> arrayList(Consumer<ArrayList<X>> initializer) {
-        return create(ArrayList::new, initializer);
+    public static <X> ArrayList<X> arrayList(Consumer<ArrayList<X>> consumer) {
+        return accept(new ArrayList<>(), consumer);
     }
 
-    /**
-     * Allows for single line instantiation and initialization of a HashSet.
-     * @param initializer
-     * @return a new HashSet after calling the {@code initializer} on it
-     */
-    public static <X> HashSet<X> hashSet(Consumer<HashSet<X>> initializer) {
-        return create(HashSet::new, initializer);
+    public static <X> HashSet<X> hashSet(Consumer<HashSet<X>> consumer) {
+        return accept(new HashSet<>(), consumer);
     }
 
-    /**
-     * Allows for single line instantiation and initialization of a TreeSet.
-     * @param initializer
-     * @return a new TreeSet after calling the {@code initializer} on it
-     */
-    public static <X> TreeSet<X> treeSet(Consumer<TreeSet<X>> initializer) {
-        return create(TreeSet::new, initializer);
+    public static <X> TreeSet<X> treeSet(Consumer<TreeSet<X>> consumer) {
+        return accept(new TreeSet<>(), consumer);
     }
 
-    /**
-     * Allows for single line instantiation and initialization of a HashMap.
-     * @param initializer
-     * @return a new HashMap after calling the {@code initializer} on it
-     */
-    public static <K, V> HashMap<K, V> hashMap(Consumer<HashMap<K, V>> initializer) {
-        return accept(new HashMap<K, V>(), initializer);
+    public static <K, V> HashMap<K, V> hashMap(Consumer<HashMap<K, V>> consumer) {
+        return accept(new HashMap<K, V>(), consumer);
     }
 
-    /**
-     * Allows for single line instantiation and initialization of a TreeMap.
-     * @param initializer
-     * @return a new TreeMap after calling the {@code initializer} on it
-     */
-    public static <K, V> TreeMap<K, V> treeMap(Consumer<TreeMap<K, V>> initializer) {
-        return accept(new TreeMap<K, V>(), initializer);
+    public static <K, V> TreeMap<K, V> treeMap(Consumer<TreeMap<K, V>> consumer) {
+        return accept(new TreeMap<K, V>(), consumer);
     }
 
-    /**
-     * Allows for single line instantiation and initialization of a StringBuilder.
-     * @param initializer
-     * @return a new StringBuilder after calling the {@code initializer} on it
-     */
-    public static StringBuilder stringBuilder(Consumer<StringBuilder> initializer) {
-        return create(StringBuilder::new, initializer);
+    public static StringBuilder stringBuilder(Consumer<StringBuilder> consumer) {
+        return accept(new StringBuilder(), consumer);
     }
 
 
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays.java
index 0e508ef..2f1bfc2 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays.java
@@ -19,10 +19,9 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.lang.reflect.Array;
 import java.util.Collection;
+import java.util.Objects;
 import java.util.stream.Collector;
 
 import javax.annotation.Nullable;
@@ -76,7 +75,7 @@ public final class _Arrays {
      * @return
      */
     public static <T> Collector<T,?,T[]> toArray(final Class<T> componentType, final int length){
-        requires(componentType, "componentType");
+        Objects.requireNonNull(componentType);
         return new _Arrays_Collector<T>(componentType, length);
     }
 
@@ -86,7 +85,7 @@ public final class _Arrays {
      * @return
      */
     public static <T> Collector<T,?,T[]> toArray(final Class<T> componentType){
-        requires(componentType, "componentType");
+        Objects.requireNonNull(componentType);
         return new _Arrays_CollectorUnknownSize<T>(componentType);
     }
 
@@ -100,7 +99,7 @@ public final class _Arrays {
      */
     @SafeVarargs
     public static <T> T[] combine(T first, @Nullable  T... rest) {
-        requires(first, "first");
+        Objects.requireNonNull(first);
         final int restLength = _NullSafe.size(rest);
         final T[] all = _Casts.uncheckedCast(Array.newInstance(first.getClass(), restLength+1));
         all[0] = first;
@@ -141,7 +140,7 @@ public final class _Arrays {
      *     have been copied (non-null)
      */
     public static <T> T[] toArray(@Nullable final Collection<? extends T> collection, final Class<T> componentType) {
-        requires(componentType, "componentType");
+        Objects.requireNonNull(componentType);
         return _NullSafe.stream(collection)
                 .collect(toArray(componentType, collection!=null ? collection.size() : 0));
     }
@@ -155,7 +154,7 @@ public final class _Arrays {
      *     have been copied (non-null)
      */
     public static <T> T[] toArray(@Nullable final Iterable<? extends T> iterable, final Class<T> componentType) {
-        requires(componentType, "componentType");
+        Objects.requireNonNull(componentType);
         if(iterable!=null && (iterable instanceof Collection)) {
             return toArray((Collection<? extends T>) iterable, componentType);
         }
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections.java
index ea42a3e..1324d11 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.lang.reflect.Field;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
@@ -31,6 +29,7 @@ import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
@@ -204,7 +203,7 @@ public final class _Collections {
      */
     public static <T> Collector<T, ?, ? extends Collection<T>> toUnmodifiableOfType(Class<?> typeOfCollection) {
 
-        requires(typeOfCollection, "typeOfCollection");
+        Objects.requireNonNull(typeOfCollection);
 
         if(SortedSet.class.equals(typeOfCollection)) {
             return toUnmodifiableSortedSet();
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections_Collector.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections_Collector.java
index 9eaf4cf..7c81d65 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections_Collector.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections_Collector.java
@@ -19,10 +19,9 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Objects;
 import java.util.Set;
 import java.util.function.BiConsumer;
 import java.util.function.BinaryOperator;
@@ -43,8 +42,8 @@ class _Collections_Collector<T, C extends Collection<T>> implements Collector<T,
     private final Function<C, C> finisher;
 
     _Collections_Collector(Supplier<C> supplier, Function<C, C> finisher) {
-        this.supplier = requires(supplier, "supplier");
-        this.finisher = requires(finisher, "finisher");
+        this.supplier = Objects.requireNonNull(supplier);
+        this.finisher = Objects.requireNonNull(finisher);
     }
 
     @Override
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
index 5b163ae..ac50103 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
@@ -19,14 +19,13 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Objects;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -67,7 +66,7 @@ public final class _Lists {
      * @return non null
      */
     public static <T> List<T> singleton(T element) {
-        requires(element, "element"); // don't accept null element
+        Objects.requireNonNull(element); // don't accept null element
         return Collections.singletonList(element);
     }
 
@@ -88,7 +87,7 @@ public final class _Lists {
      */
     @SafeVarargs
     public static <T> List<T> of(T ... elements) {
-        requires(elements, "elements"); // don't accept null as argument
+        Objects.requireNonNull(elements); // don't accept null as argument
         if(elements.length==0) {
             return Collections.emptyList();
         }
@@ -151,7 +150,7 @@ public final class _Lists {
         if(input==null) {
             return Collections.emptyList();
         }
-        requires(mapper, "mapper");
+        Objects.requireNonNull(mapper);
         return input.stream()
                 .map(mapper)
                 .collect(Collectors.toList());
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Maps.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Maps.java
index 32b409c..da4ef63 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Maps.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Maps.java
@@ -19,13 +19,12 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.util.AbstractMap;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Stream;
 
@@ -79,7 +78,7 @@ public final class _Maps {
 
     @SafeVarargs
     public static <K, V> Map<K, V> unmodifiableEntries(Map.Entry<? extends K,? extends V>... entries) {
-        requires(entries, "entries"); // don't accept null elements
+        Objects.requireNonNull(entries); // don't accept null elements
         if(entries.length==0) {
             return Collections.emptyMap();
         }
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Multimaps.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Multimaps.java
index 7d4f291..de966bf 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Multimaps.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Multimaps.java
@@ -19,14 +19,13 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.function.Supplier;
 
@@ -103,8 +102,8 @@ public class _Multimaps {
     public static <K, V> ListMultimap<K, V> newListMultimap(
             final Supplier<Map<K, List<V>>> mapFactory,
             final Supplier<List<V>> elementCollectionFactory){
-        requires(mapFactory, "mapFactory");
-        requires(elementCollectionFactory, "elementCollectionFactory");
+        Objects.requireNonNull(mapFactory);
+        Objects.requireNonNull(elementCollectionFactory);
 
         return new ListMultimap<K, V>() {
 
@@ -135,8 +134,8 @@ public class _Multimaps {
     public static <K, V> SetMultimap<K, V> newSetMultimap(
             final Supplier<Map<K, Set<V>>> mapFactory,
             final Supplier<Set<V>> elementCollectionFactory){
-        requires(mapFactory, "mapFactory");
-        requires(elementCollectionFactory, "elementCollectionFactory");
+        Objects.requireNonNull(mapFactory);
+        Objects.requireNonNull(elementCollectionFactory);
 
         return new SetMultimap<K, V>() {
 
@@ -167,8 +166,8 @@ public class _Multimaps {
     public static <K1, K2, V> MapMultimap<K1, K2, V> newMapMultimap(
             final Supplier<Map<K1, Map<K2, V>>> mapFactory,
             final Supplier<Map<K2, V>> elementMapFactory){
-        requires(mapFactory, "mapFactory");
-        requires(elementMapFactory, "elementMapFactory");
+        Objects.requireNonNull(mapFactory);
+        Objects.requireNonNull(elementMapFactory);
 
         return new MapMultimap<K1, K2, V>() {
 
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Sets.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Sets.java
index 9d1d08e..90f1f42 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Sets.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Sets.java
@@ -19,13 +19,12 @@
 
 package org.apache.isis.commons.internal.collections;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
+import java.util.Objects;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
@@ -61,7 +60,7 @@ public final class _Sets {
      * @return non null
      */
     public static <T> Set<T> singleton(T element) {
-        requires(element, "element"); // don't accept null element
+        Objects.requireNonNull(element); // don't accept null element
         return Collections.singleton(element);
     }
 
@@ -82,7 +81,7 @@ public final class _Sets {
      */
     @SafeVarargs
     public static <T> Set<T> of(T ... elements) {
-        requires(elements, "elements");// don't accept null as argument
+        Objects.requireNonNull(elements); // don't accept null as argument
         if(elements.length==0) {
             return Collections.emptySet();
         }
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java b/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java
index 62244fb..4699d6e 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java
@@ -26,6 +26,7 @@ import static org.apache.isis.commons.internal.base._With.requires;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.function.Function;
 import java.util.function.Supplier;
 
@@ -208,7 +209,7 @@ public final class _Context {
         if(!alreadyRegistered || override) {
             // let writes to the map be atomic
             synchronized (singletonMap) {
-                singletonMap.put(toKey(ClassLoader.class), requires(classLoader, "classLoader"));
+                singletonMap.put(toKey(ClassLoader.class), Objects.requireNonNull(classLoader, "classLoader required"));
             }
         }
     }
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Plugin.java b/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Plugin.java
index 278b7b4..afe9fa4 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Plugin.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/context/_Plugin.java
@@ -19,24 +19,22 @@
 
 package org.apache.isis.commons.internal.context;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.io.File;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.util.Objects;
 import java.util.ServiceLoader;
 import java.util.Set;
 import java.util.function.Function;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.core.plugins.PluginResolveException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * <h1>- internal use only -</h1>
@@ -70,7 +68,7 @@ public final class _Plugin {
      * @return non null
      */
     public static <S> Set<S> loadAll(Class<S> service){
-        requires(service, "service");
+        Objects.requireNonNull(service);
 
         ServiceLoader<S> loader = ServiceLoader.load(service, _Context.getDefaultClassLoader());
 
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java b/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
index 6f7cca2..1e5dd08 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
@@ -23,6 +23,7 @@ import static org.apache.isis.commons.internal.base._With.requires;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.function.Consumer;
 import java.util.function.Function;
@@ -69,7 +70,7 @@ public final class _Exceptions {
      * @return
      */
     public static final IllegalArgumentException unmatchedCase(String format, @Nullable Object _case) {
-        requires(format, "format");
+        Objects.requireNonNull(format);
         return new IllegalArgumentException(String.format(format, _case));
     }
 
@@ -96,8 +97,9 @@ public final class _Exceptions {
      *    return 0;
      *}</pre>
      *
+     * @return
      */
-    public static void throwNotImplemented() {
+    public static IllegalStateException throwNotImplemented() {
         throw notImplemented();
     }
 
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/memento/_Mementos_MementoDefault.java b/core/commons/src/main/java/org/apache/isis/commons/internal/memento/_Mementos_MementoDefault.java
index 7857743..60e5734 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/memento/_Mementos_MementoDefault.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/memento/_Mementos_MementoDefault.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.commons.internal.memento;
 
-import static org.apache.isis.commons.internal.base._With.requires;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -29,6 +27,7 @@ import java.io.ObjectOutputStream;
 import java.io.ObjectStreamClass;
 import java.io.Serializable;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 import javax.annotation.Nullable;
@@ -65,9 +64,9 @@ class _Mementos_MementoDefault implements _Mementos.Memento {
             SerializingAdapter serializer,
             Map<String, Serializable> valuesByKey) {
 
-        this.codec = requires(codec, "codec");
-        this.serializer = requires(serializer, "serializer");
-        this.valuesByKey = requires(valuesByKey, "valuesByKey");
+        this.codec = Objects.requireNonNull(codec);
+        this.serializer = Objects.requireNonNull(serializer);
+        this.valuesByKey = Objects.requireNonNull(valuesByKey);
     }
 
     @Override
@@ -75,7 +74,7 @@ class _Mementos_MementoDefault implements _Mementos.Memento {
         if(value==null) {
             return this; //no-op, there is no point in storing null values
         }
-        requires(name, "name");
+        Objects.requireNonNull(name);
         valuesByKey.put(name, serializer.write(value));
         return this;
     }
@@ -108,12 +107,12 @@ class _Mementos_MementoDefault implements _Mementos.Memento {
     // -- PARSER
 
     static Memento parse(EncoderDecoder codec, SerializingAdapter serializer, @Nullable String str) {
-        requires(codec, "codec");
+        Objects.requireNonNull(codec);
         if(_NullSafe.isEmpty(str)) {
             return null;
         }
         try(ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(codec.decode(str))) {
-            //override ObjectInputStream's class-loading
+            //override ObjectInputStream's classloading
             @Override
             protected Class<?> resolveClass(ObjectStreamClass desc)
                     throws IOException, ClassNotFoundException
diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource.java b/core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource.java
index 32be534..e941ba7 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource.java
@@ -44,12 +44,6 @@ public final class _Resource {
 
     // -- CLASS PATH RESOURCE LOADING
 
-    /**
-     * Returns the resource with path {@code resourceName} relative to {@code contextClass} as an InputStream.
-     * @param contextClass
-     * @param resourceName
-     * @return An input stream for reading the resource, or null if the resource could not be found.
-     */
     public static InputStream load(Class<?> contextClass, String resourceName) {
 
         requires(contextClass, "contextClass");
@@ -61,15 +55,6 @@ public final class _Resource {
                 .getResourceAsStream(absoluteResourceName);
     }
 
-    /**
-     * Returns the resource with path {@code resourceName} relative to {@code contextClass} as a String
-     * conforming to the given {@code charset}.
-     * @param contextClass
-     * @param resourceName
-     * @param charset
-     * @return The resource as a String, or null if the resource could not be found.
-     * @throws IOException
-     */
     public static String loadAsString(Class<?> contextClass, String resourceName, Charset charset) throws IOException {
         final InputStream is = load(contextClass, resourceName);
         return _Strings.ofBytes(_Bytes.of(is), charset);
diff --git a/core/commons/src/main/java/org/apache/isis/core/plugins/classdiscovery/ClassDiscovery.java b/core/commons/src/main/java/org/apache/isis/core/plugins/classdiscovery/ClassDiscovery.java
index b42ae0d..92c128d 100644
--- a/core/commons/src/main/java/org/apache/isis/core/plugins/classdiscovery/ClassDiscovery.java
+++ b/core/commons/src/main/java/org/apache/isis/core/plugins/classdiscovery/ClassDiscovery.java
@@ -30,23 +30,12 @@ import java.util.Set;
  */
 public interface ClassDiscovery {
 
-    /**
-     * Searches this application's class path for any classes that are annotated with {@code annotation}.
-     * @param annotation
-     * @return non-null set of discovered classes
-     */
+    //TODO missing java-doc
     public Set<Class<?>> getTypesAnnotatedWith(Class<? extends Annotation> annotation);
 
-    /**
-     * Searches this application's class path for any classes that are subclass to {@code type}.
-     * @param type
-     * @return non-null set of discovered classes
-     */
+    //TODO missing java-doc
     public <T> Set<Class<? extends T>> getSubTypesOf(Class<T> type);
 
-    /**
-     * @return an instance of {@code ClassDiscovery} that always returns empty search result
-     */
     public static ClassDiscovery empty() {
 
         return new ClassDiscovery() {