From: Mathieu Baudier Date: Sun, 10 Mar 2024 11:28:39 +0000 (+0100) Subject: Start splitting Content in more abstract interfaces X-Git-Tag: v2.3.28~12 X-Git-Url: http://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=98f329e8641b792a07a4a0df62637565db0f738f Start splitting Content in more abstract interfaces --- diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/Content.java b/org.argeo.api.acr/src/org/argeo/api/acr/Content.java index 7ec295947..d6af2fe3d 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/Content.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/Content.java @@ -13,9 +13,10 @@ import java.util.concurrent.CompletableFuture; import javax.xml.namespace.QName; /** - * A semi-structured content, with attributes, within a hierarchical structure. + * A semi-structured content, with attributes, within a hierarchical structure + * whose nodes are named. */ -public interface Content extends Iterable, Map { +public interface Content extends QualifiedData { /** The base of a repository path. */ String ROOT_PATH = "/"; diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/QualifiedData.java b/org.argeo.api.acr/src/org/argeo/api/acr/QualifiedData.java new file mode 100644 index 000000000..89ab665df --- /dev/null +++ b/org.argeo.api.acr/src/org/argeo/api/acr/QualifiedData.java @@ -0,0 +1,8 @@ +package org.argeo.api.acr; + +import javax.xml.namespace.QName; + +/** A {@link StructuredData} whose attributes have qualified keys. */ +public interface QualifiedData> extends StructuredData { + +} diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/StructuredData.java b/org.argeo.api.acr/src/org/argeo/api/acr/StructuredData.java new file mode 100644 index 000000000..4e38cf62d --- /dev/null +++ b/org.argeo.api.acr/src/org/argeo/api/acr/StructuredData.java @@ -0,0 +1,8 @@ +package org.argeo.api.acr; + +import java.util.Map; + +/** A hierarchical structure of unnamed mappings. */ +public interface StructuredData extends Map, Iterable { + +}