From 98f329e8641b792a07a4a0df62637565db0f738f Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 10 Mar 2024 12:28:39 +0100 Subject: [PATCH] Start splitting Content in more abstract interfaces --- org.argeo.api.acr/src/org/argeo/api/acr/Content.java | 5 +++-- .../src/org/argeo/api/acr/QualifiedData.java | 8 ++++++++ .../src/org/argeo/api/acr/StructuredData.java | 8 ++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 org.argeo.api.acr/src/org/argeo/api/acr/QualifiedData.java create mode 100644 org.argeo.api.acr/src/org/argeo/api/acr/StructuredData.java 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 { + +} -- 2.30.2