From: Mathieu Baudier Date: Sun, 26 Dec 2021 06:25:33 +0000 (+0100) Subject: Introduce open closeable method X-Git-Tag: argeo-commons-2.3.5~123 X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=ff7bbd1653479139bbca09ceb5d80718be027a33;p=lgpl%2Fargeo-commons.git Introduce open closeable method --- diff --git a/org.argeo.api/src/org/argeo/api/gcr/Content.java b/org.argeo.api/src/org/argeo/api/gcr/Content.java index b032aa7b8..b2fc3c906 100644 --- a/org.argeo.api/src/org/argeo/api/gcr/Content.java +++ b/org.argeo.api/src/org/argeo/api/gcr/Content.java @@ -11,15 +11,19 @@ public interface Content extends Iterable, Map { // Iterable keys(); - A get(String key, Class clss); + A get(String key, Class clss) throws IllegalArgumentException; // ContentSession getSession(); /* * DEFAULT METHODS */ - default A adapt(Class clss) { - return null; + default A adapt(Class clss) throws IllegalArgumentException { + throw new IllegalArgumentException("Cannot adapt content " + this + " to " + clss.getName()); + } + + default C open(Class clss) throws Exception, IllegalArgumentException { + throw new IllegalArgumentException("Cannot open content " + this + " as " + clss.getName()); } /*