diff --git a/README.md b/README.md
index fb004b8..8e6714b 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ A java modelisation of HAL (Hypertext Application Language)
```xml
com.cosium.hal_model
- hal-model
+ hal-model2
${hal-model.version}
```
diff --git a/pom.xml b/pom.xml
index 14a112e..3619a59 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,8 +13,8 @@
https://github.com/Cosium/hal-model
com.cosium.hal_model
- hal-model
- 1.1-SNAPSHOT
+ hal-model2
+ 2.0-SNAPSHOT
jar
diff --git a/src/main/java/com/cosium/hal_model/InlineElementRepresentation.java b/src/main/java/com/cosium/hal_model/InlineElementRepresentation.java
deleted file mode 100644
index 1cbea5c..0000000
--- a/src/main/java/com/cosium/hal_model/InlineElementRepresentation.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.cosium.hal_model;
-
-/**
- * @author Réda Housni Alaoui
- */
-public sealed interface InlineElementRepresentation
- permits MapInlineElementRepresentation, StringInlineElementRepresentation {}
diff --git a/src/main/java/com/cosium/hal_model/Link.java b/src/main/java/com/cosium/hal_model/Link.java
deleted file mode 100644
index d583478..0000000
--- a/src/main/java/com/cosium/hal_model/Link.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.cosium.hal_model;
-
-import static java.util.Objects.requireNonNull;
-
-import com.damnhandy.uri.template.UriTemplate;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-/**
- * @author Réda Housni Alaoui
- */
-public class Link {
-
- private final String href;
-
- public Link(@JsonProperty("href") String href) {
- this.href = requireNonNull(href);
- }
-
- public UriTemplate href() {
- return UriTemplate.fromTemplate(href);
- }
-}
diff --git a/src/main/java/com/cosium/hal_model/MapInlineElementRepresentation.java b/src/main/java/com/cosium/hal_model/MapInlineElementRepresentation.java
deleted file mode 100644
index e80061a..0000000
--- a/src/main/java/com/cosium/hal_model/MapInlineElementRepresentation.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.cosium.hal_model;
-
-import java.util.Map;
-import java.util.Optional;
-import org.jspecify.annotations.Nullable;
-
-/**
- * @author Réda Housni Alaoui
- */
-public record MapInlineElementRepresentation(Map map)
- implements InlineElementRepresentation {
-
- public MapInlineElementRepresentation(@Nullable Map map) {
- this.map = Optional.ofNullable(map).map(Map::copyOf).orElseGet(Map::of);
- }
-}
diff --git a/src/main/java/com/cosium/hal_model/StringInlineElementRepresentation.java b/src/main/java/com/cosium/hal_model/StringInlineElementRepresentation.java
deleted file mode 100644
index 2a24946..0000000
--- a/src/main/java/com/cosium/hal_model/StringInlineElementRepresentation.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.cosium.hal_model;
-
-import static java.util.Objects.requireNonNull;
-
-/**
- * @author Réda Housni Alaoui
- */
-public record StringInlineElementRepresentation(String value)
- implements InlineElementRepresentation {
-
- public StringInlineElementRepresentation {
- requireNonNull(value);
- }
-}
diff --git a/src/main/java/com/cosium/hal_model/EmbeddedContainer.java b/src/main/java/com/cosium/hal_model2/EmbeddedContainer.java
similarity index 91%
rename from src/main/java/com/cosium/hal_model/EmbeddedContainer.java
rename to src/main/java/com/cosium/hal_model2/EmbeddedContainer.java
index 6699c30..ba7a377 100644
--- a/src/main/java/com/cosium/hal_model/EmbeddedContainer.java
+++ b/src/main/java/com/cosium/hal_model2/EmbeddedContainer.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static java.util.Objects.requireNonNull;
diff --git a/src/main/java/com/cosium/hal_model/HalFormsBody.java b/src/main/java/com/cosium/hal_model2/HalFormsBody.java
similarity index 80%
rename from src/main/java/com/cosium/hal_model/HalFormsBody.java
rename to src/main/java/com/cosium/hal_model2/HalFormsBody.java
index 9a67621..59f9ac1 100644
--- a/src/main/java/com/cosium/hal_model/HalFormsBody.java
+++ b/src/main/java/com/cosium/hal_model2/HalFormsBody.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import com.damnhandy.uri.template.UriTemplate;
import java.util.Map;
@@ -12,12 +12,12 @@ public class HalFormsBody {
private final T representation;
private final Map linkByName;
private final @Nullable String selfUri;
- private final Map templateByKey;
+ private final Map templateByKey;
public HalFormsBody(
T representation,
@Nullable Map linkByName,
- @Nullable Map templateByKey) {
+ @Nullable Map templateByKey) {
this.representation = representation;
this.linkByName = Optional.ofNullable(linkByName).map(Map::copyOf).orElseGet(Map::of);
selfUri =
@@ -54,15 +54,15 @@ public Link requireLink(String name) {
return findLink(name).orElseThrow();
}
- public Map templateByKey() {
+ public Map templateByKey() {
return templateByKey;
}
- public Optional findTemplate(String key) {
+ public Optional findTemplate(String key) {
return Optional.ofNullable(templateByKey.get(key));
}
- public TemplateRepresentation requireTemplate(String key) {
+ public Template requireTemplate(String key) {
return findTemplate(key).orElseThrow();
}
}
diff --git a/src/main/java/com/cosium/hal_model/HalFormsBodyDeserializer.java b/src/main/java/com/cosium/hal_model2/HalFormsBodyDeserializer.java
similarity index 96%
rename from src/main/java/com/cosium/hal_model/HalFormsBodyDeserializer.java
rename to src/main/java/com/cosium/hal_model2/HalFormsBodyDeserializer.java
index 21bcecc..aa5fe59 100644
--- a/src/main/java/com/cosium/hal_model/HalFormsBodyDeserializer.java
+++ b/src/main/java/com/cosium/hal_model2/HalFormsBodyDeserializer.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static java.util.Objects.requireNonNull;
@@ -68,14 +68,14 @@ public HalFormsBody> deserialize(
}
JsonNode templates = objectNode.get("_templates");
- Map templateByKey;
+ Map templateByKey;
if (templates == null) {
templateByKey = Map.of();
} else {
MapType mapType =
deserializationContext
.getTypeFactory()
- .constructMapType(Map.class, String.class, TemplateRepresentation.class);
+ .constructMapType(Map.class, String.class, Template.class);
templateByKey =
deserializationContext.readValue(
createJsonParser(deserializationContext, templates), mapType);
diff --git a/src/main/java/com/cosium/hal_model/HalModelJacksonModule.java b/src/main/java/com/cosium/hal_model2/HalModelJacksonModule.java
similarity index 79%
rename from src/main/java/com/cosium/hal_model/HalModelJacksonModule.java
rename to src/main/java/com/cosium/hal_model2/HalModelJacksonModule.java
index 8cad1a2..12524f6 100644
--- a/src/main/java/com/cosium/hal_model/HalModelJacksonModule.java
+++ b/src/main/java/com/cosium/hal_model2/HalModelJacksonModule.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import tools.jackson.core.Version;
import tools.jackson.databind.JacksonModule;
@@ -24,7 +24,6 @@ public void setupModule(SetupContext context) {
context.addDeserializers(
new SimpleDeserializers()
.addDeserializer(HalFormsBody.class, new HalFormsBodyDeserializer())
- .addDeserializer(
- InlineElementRepresentation.class, new InlineElementRepresentationDeserializer()));
+ .addDeserializer(InlineElement.class, new InlineElementDeserializer()));
}
}
diff --git a/src/main/java/com/cosium/hal_model2/InlineElement.java b/src/main/java/com/cosium/hal_model2/InlineElement.java
new file mode 100644
index 0000000..b04c8f5
--- /dev/null
+++ b/src/main/java/com/cosium/hal_model2/InlineElement.java
@@ -0,0 +1,6 @@
+package com.cosium.hal_model2;
+
+/**
+ * @author Réda Housni Alaoui
+ */
+public sealed interface InlineElement permits MapInlineElement, StringInlineElement {}
diff --git a/src/main/java/com/cosium/hal_model/InlineElementRepresentationDeserializer.java b/src/main/java/com/cosium/hal_model2/InlineElementDeserializer.java
similarity index 72%
rename from src/main/java/com/cosium/hal_model/InlineElementRepresentationDeserializer.java
rename to src/main/java/com/cosium/hal_model2/InlineElementDeserializer.java
index 5a84195..30ac0d6 100644
--- a/src/main/java/com/cosium/hal_model/InlineElementRepresentationDeserializer.java
+++ b/src/main/java/com/cosium/hal_model2/InlineElementDeserializer.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import java.util.Map;
import org.jspecify.annotations.Nullable;
@@ -11,12 +11,10 @@
/**
* @author Réda Housni Alaoui
*/
-class InlineElementRepresentationDeserializer
- extends ValueDeserializer {
+class InlineElementDeserializer extends ValueDeserializer {
@Override
- public @Nullable InlineElementRepresentation deserialize(
- JsonParser p, DeserializationContext ctxt) {
+ public @Nullable InlineElement deserialize(JsonParser p, DeserializationContext ctxt) {
JsonToken currentToken = p.currentToken();
if (currentToken == JsonToken.START_OBJECT) {
@@ -26,19 +24,19 @@ class InlineElementRepresentationDeserializer
if (map == null) {
return null;
}
- return new MapInlineElementRepresentation(map);
+ return new MapInlineElement(map);
}
if (currentToken == JsonToken.VALUE_STRING) {
String value = ctxt.readValue(p, String.class);
if (value == null) {
return null;
}
- return new StringInlineElementRepresentation(value);
+ return new StringInlineElement(value);
}
throw MismatchedInputException.from(
p,
- InlineElementRepresentation.class,
+ InlineElement.class,
"%s should have been either %s or %s. But it is not."
.formatted(currentToken, JsonToken.START_OBJECT, JsonToken.VALUE_STRING));
}
diff --git a/src/main/java/com/cosium/hal_model/OptionsLinkRepresentation.java b/src/main/java/com/cosium/hal_model2/Link.java
similarity index 81%
rename from src/main/java/com/cosium/hal_model/OptionsLinkRepresentation.java
rename to src/main/java/com/cosium/hal_model2/Link.java
index 25ff859..115de56 100644
--- a/src/main/java/com/cosium/hal_model/OptionsLinkRepresentation.java
+++ b/src/main/java/com/cosium/hal_model2/Link.java
@@ -1,7 +1,8 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static java.util.Objects.requireNonNull;
+import com.damnhandy.uri.template.UriTemplate;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Optional;
@@ -10,14 +11,14 @@
/**
* @author Réda Housni Alaoui
*/
-public class OptionsLinkRepresentation {
+public class Link {
private final String href;
private final @Nullable String type;
private final boolean templated;
@JsonCreator
- public OptionsLinkRepresentation(
+ public Link(
@JsonProperty("href") String href,
@JsonProperty("type") @Nullable String type,
@JsonProperty("templated") @Nullable Boolean templated) {
@@ -26,8 +27,8 @@ public OptionsLinkRepresentation(
this.templated = Optional.ofNullable(templated).orElse(false);
}
- public String href() {
- return href;
+ public UriTemplate href() {
+ return UriTemplate.fromTemplate(href);
}
public Optional type() {
diff --git a/src/main/java/com/cosium/hal_model2/MapInlineElement.java b/src/main/java/com/cosium/hal_model2/MapInlineElement.java
new file mode 100644
index 0000000..5b9d16b
--- /dev/null
+++ b/src/main/java/com/cosium/hal_model2/MapInlineElement.java
@@ -0,0 +1,15 @@
+package com.cosium.hal_model2;
+
+import java.util.Map;
+import java.util.Optional;
+import org.jspecify.annotations.Nullable;
+
+/**
+ * @author Réda Housni Alaoui
+ */
+public record MapInlineElement(Map map) implements InlineElement {
+
+ public MapInlineElement(@Nullable Map map) {
+ this.map = Optional.ofNullable(map).map(Map::copyOf).orElseGet(Map::of);
+ }
+}
diff --git a/src/main/java/com/cosium/hal_model/OptionsRepresentation.java b/src/main/java/com/cosium/hal_model2/Options.java
similarity index 76%
rename from src/main/java/com/cosium/hal_model/OptionsRepresentation.java
rename to src/main/java/com/cosium/hal_model2/Options.java
index 4075c89..f983c8a 100644
--- a/src/main/java/com/cosium/hal_model/OptionsRepresentation.java
+++ b/src/main/java/com/cosium/hal_model2/Options.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -9,10 +9,10 @@
/**
* @author Réda Housni Alaoui
*/
-public class OptionsRepresentation {
+public class Options {
- private final @Nullable List inline;
- private final @Nullable OptionsLinkRepresentation link;
+ private final @Nullable List inline;
+ private final @Nullable Link link;
private final @Nullable Long maxItems;
private final long minItems;
private final @Nullable String promptField;
@@ -20,9 +20,9 @@ public class OptionsRepresentation {
private final @Nullable String valueField;
@JsonCreator
- public OptionsRepresentation(
- @JsonProperty("inline") @Nullable List inline,
- @JsonProperty("link") @Nullable OptionsLinkRepresentation link,
+ public Options(
+ @JsonProperty("inline") @Nullable List inline,
+ @JsonProperty("link") @Nullable Link link,
@JsonProperty("maxItems") @Nullable Long maxItems,
@JsonProperty("minItems") @Nullable Long minItems,
@JsonProperty("promptField") @Nullable String promptField,
@@ -37,11 +37,11 @@ public OptionsRepresentation(
this.valueField = valueField;
}
- public Optional> inline() {
+ public Optional> inline() {
return Optional.ofNullable(inline);
}
- public Optional link() {
+ public Optional link() {
return Optional.ofNullable(link);
}
diff --git a/src/main/java/com/cosium/hal_model2/StringInlineElement.java b/src/main/java/com/cosium/hal_model2/StringInlineElement.java
new file mode 100644
index 0000000..827c00a
--- /dev/null
+++ b/src/main/java/com/cosium/hal_model2/StringInlineElement.java
@@ -0,0 +1,13 @@
+package com.cosium.hal_model2;
+
+import static java.util.Objects.requireNonNull;
+
+/**
+ * @author Réda Housni Alaoui
+ */
+public record StringInlineElement(String value) implements InlineElement {
+
+ public StringInlineElement {
+ requireNonNull(value);
+ }
+}
diff --git a/src/main/java/com/cosium/hal_model/TemplateRepresentation.java b/src/main/java/com/cosium/hal_model2/Template.java
similarity index 78%
rename from src/main/java/com/cosium/hal_model/TemplateRepresentation.java
rename to src/main/java/com/cosium/hal_model2/Template.java
index bf1af3e..be9ad12 100644
--- a/src/main/java/com/cosium/hal_model/TemplateRepresentation.java
+++ b/src/main/java/com/cosium/hal_model2/Template.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static java.util.Objects.requireNonNull;
@@ -16,29 +16,29 @@
/**
* @author Réda Housni Alaoui
*/
-public class TemplateRepresentation {
+public class Template {
private final @Nullable String title;
private final String method;
private final String contentType;
- private final Map propertyByName;
+ private final Map propertyByName;
private final @Nullable String target;
@JsonCreator
- TemplateRepresentation(
+ Template(
@JsonProperty("title") @Nullable String title,
@JsonProperty("method") String method,
@JsonProperty("contentType") @Nullable String contentType,
- @JsonProperty("properties") @Nullable List properties,
+ @JsonProperty("properties") @Nullable List properties,
@JsonProperty("target") @Nullable String target) {
this.title = title;
this.method = requireNonNull(method, "Attribute 'method' is missing");
this.contentType = Optional.ofNullable(contentType).orElse("application/json");
- Map mutablePropertyByName =
+ Map mutablePropertyByName =
Optional.ofNullable(properties).orElseGet(List::of).stream()
.collect(
Collectors.toMap(
- TemplatePropertyRepresentation::name,
+ TemplateProperty::name,
Function.identity(),
(e1, e2) -> {
throw new IllegalStateException(
@@ -61,15 +61,15 @@ public String contentType() {
return contentType;
}
- public Map propertyByName() {
+ public Map propertyByName() {
return propertyByName;
}
- public Optional findProperty(String name) {
+ public Optional findProperty(String name) {
return Optional.ofNullable(propertyByName.get(name));
}
- public TemplatePropertyRepresentation requireProperty(String name) {
+ public TemplateProperty requireProperty(String name) {
return findProperty(name).orElseThrow();
}
diff --git a/src/main/java/com/cosium/hal_model/TemplatePropertyRepresentation.java b/src/main/java/com/cosium/hal_model2/TemplateProperty.java
similarity index 91%
rename from src/main/java/com/cosium/hal_model/TemplatePropertyRepresentation.java
rename to src/main/java/com/cosium/hal_model2/TemplateProperty.java
index 1063563..8afb417 100644
--- a/src/main/java/com/cosium/hal_model/TemplatePropertyRepresentation.java
+++ b/src/main/java/com/cosium/hal_model2/TemplateProperty.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static java.util.Objects.requireNonNull;
@@ -10,14 +10,14 @@
/**
* @author Réda Housni Alaoui
*/
-public class TemplatePropertyRepresentation {
+public class TemplateProperty {
private final String name;
private final boolean required;
private final @Nullable Object value;
private final String prompt;
private final @Nullable String regex;
private final boolean templated;
- private final @Nullable OptionsRepresentation options;
+ private final @Nullable Options options;
private final boolean readOnly;
private final String type;
private final @Nullable Double max;
@@ -27,14 +27,14 @@ public class TemplatePropertyRepresentation {
private final @Nullable Double step;
@JsonCreator
- TemplatePropertyRepresentation(
+ TemplateProperty(
@JsonProperty("name") String name,
@JsonProperty("required") @Nullable Boolean required,
@JsonProperty("value") @Nullable Object value,
@JsonProperty("prompt") @Nullable String prompt,
@JsonProperty("regex") @Nullable String regex,
@JsonProperty("templated") @Nullable Boolean templated,
- @JsonProperty("options") @Nullable OptionsRepresentation options,
+ @JsonProperty("options") @Nullable Options options,
@JsonProperty("readOnly") @Nullable Boolean readOnly,
@JsonProperty("type") @Nullable String type,
@JsonProperty("max") @Nullable Double max,
@@ -110,7 +110,7 @@ public boolean templated() {
return templated;
}
- public Optional options() {
+ public Optional options() {
return Optional.ofNullable(options);
}
}
diff --git a/src/main/java/com/cosium/hal_model/package-info.java b/src/main/java/com/cosium/hal_model2/package-info.java
similarity index 75%
rename from src/main/java/com/cosium/hal_model/package-info.java
rename to src/main/java/com/cosium/hal_model2/package-info.java
index a87cc26..02b5bd4 100644
--- a/src/main/java/com/cosium/hal_model/package-info.java
+++ b/src/main/java/com/cosium/hal_model2/package-info.java
@@ -2,6 +2,6 @@
* @author Réda Housni Alaoui
*/
@NullMarked
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import org.jspecify.annotations.NullMarked;
diff --git a/src/test/java/com/cosium/hal_model/HalFormsBodyTest.java b/src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java
similarity index 91%
rename from src/test/java/com/cosium/hal_model/HalFormsBodyTest.java
rename to src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java
index 4e3148f..b1b276b 100644
--- a/src/test/java/com/cosium/hal_model/HalFormsBodyTest.java
+++ b/src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static org.assertj.core.api.Assertions.assertThat;
@@ -54,11 +54,11 @@ void test1() {
assertThat(halFormsBody.templateByKey()).containsOnlyKeys("default");
- TemplateRepresentation template = halFormsBody.requireTemplate("default");
+ Template template = halFormsBody.requireTemplate("default");
assertThat(template.method()).isEqualTo("PUT");
assertThat(template.propertyByName()).containsOnlyKeys("foo");
- TemplatePropertyRepresentation property = template.propertyByName().get("foo");
+ TemplateProperty property = template.propertyByName().get("foo");
assertThat(property.type()).isEqualTo("text");
}
@@ -103,11 +103,11 @@ void test2() {
assertThat(halFormsBody.templateByKey()).containsOnlyKeys("default");
- TemplateRepresentation template = halFormsBody.requireTemplate("default");
+ Template template = halFormsBody.requireTemplate("default");
assertThat(template.method()).isEqualTo("PUT");
assertThat(template.propertyByName()).containsOnlyKeys("foo");
- TemplatePropertyRepresentation property = template.propertyByName().get("foo");
+ TemplateProperty property = template.propertyByName().get("foo");
assertThat(property.type()).isEqualTo("text");
}
diff --git a/src/test/java/com/cosium/hal_model/OptionsTest.java b/src/test/java/com/cosium/hal_model2/OptionsTest.java
similarity index 90%
rename from src/test/java/com/cosium/hal_model/OptionsTest.java
rename to src/test/java/com/cosium/hal_model2/OptionsTest.java
index ce894a3..125a67d 100644
--- a/src/test/java/com/cosium/hal_model/OptionsTest.java
+++ b/src/test/java/com/cosium/hal_model2/OptionsTest.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static org.assertj.core.api.Assertions.assertThat;
@@ -51,7 +51,7 @@ void inlineOfStringArray() {
.end()
.finish();
- OptionsRepresentation options =
+ Options options =
JSON_MAPPER
.>readValue(json, new TypeReference<>() {})
.requireTemplate("default")
@@ -68,9 +68,9 @@ void inlineOfStringArray() {
assertThat(options.selectedValues()).containsExactly("FedEx");
assertThat(options.inline().orElseThrow())
- .allMatch(StringInlineElementRepresentation.class::isInstance)
- .map(StringInlineElementRepresentation.class::cast)
- .map(StringInlineElementRepresentation::value)
+ .allMatch(StringInlineElement.class::isInstance)
+ .map(StringInlineElement.class::cast)
+ .map(StringInlineElement::value)
.containsExactly("FedEx", "UPS", "DHL");
}
@@ -120,7 +120,7 @@ void referenceProperties() {
.end()
.finish();
- OptionsRepresentation options =
+ Options options =
JSON_MAPPER
.>readValue(json, new TypeReference<>() {})
.requireTemplate("default")
@@ -137,9 +137,9 @@ void referenceProperties() {
assertThat(options.selectedValues()).containsExactly("FedEx");
assertThat(options.inline().orElseThrow())
- .allMatch(MapInlineElementRepresentation.class::isInstance)
- .map(MapInlineElementRepresentation.class::cast)
- .map(MapInlineElementRepresentation::map)
+ .allMatch(MapInlineElement.class::isInstance)
+ .map(MapInlineElement.class::cast)
+ .map(MapInlineElement::map)
.contains(
Map.of("shipName", "Federal Express", "shipCode", "FedEx"),
Map.of("shipName", "United Parcel Service", "shipCode", "UPS"),
@@ -193,7 +193,7 @@ void multipleReturnValues() {
.end()
.finish();
- OptionsRepresentation options =
+ Options options =
JSON_MAPPER
.>readValue(json, new TypeReference<>() {})
.requireTemplate("default")
@@ -210,9 +210,9 @@ void multipleReturnValues() {
assertThat(options.selectedValues()).containsExactly("FedEx");
assertThat(options.inline().orElseThrow())
- .allMatch(MapInlineElementRepresentation.class::isInstance)
- .map(MapInlineElementRepresentation.class::cast)
- .map(MapInlineElementRepresentation::map)
+ .allMatch(MapInlineElement.class::isInstance)
+ .map(MapInlineElement.class::cast)
+ .map(MapInlineElement::map)
.contains(
Map.of("shipName", "Federal Express", "shipCode", "FedEx"),
Map.of("shipName", "United Parcel Service", "shipCode", "UPS"),
@@ -254,7 +254,7 @@ void externalArrayOfValues() {
.end()
.finish();
- OptionsRepresentation options =
+ Options options =
JSON_MAPPER
.>readValue(json, new TypeReference<>() {})
.requireTemplate("default")
@@ -269,8 +269,8 @@ void externalArrayOfValues() {
assertThat(options.valueField()).isEmpty();
assertThat(options.selectedValues()).containsExactly("FedEx");
- OptionsLinkRepresentation link = options.link().orElseThrow();
- assertThat(link.href()).isEqualTo("http://api.examples.org/shipping-options");
+ Link link = options.link().orElseThrow();
+ assertThat(link.href().expand()).isEqualTo("http://api.examples.org/shipping-options");
assertThat(link.templated()).isFalse();
assertThat(link.type()).contains("application/json");
}
diff --git a/src/test/java/com/cosium/hal_model/TemplateTest.java b/src/test/java/com/cosium/hal_model2/TemplateTest.java
similarity index 94%
rename from src/test/java/com/cosium/hal_model/TemplateTest.java
rename to src/test/java/com/cosium/hal_model2/TemplateTest.java
index d4fab35..300a97e 100644
--- a/src/test/java/com/cosium/hal_model/TemplateTest.java
+++ b/src/test/java/com/cosium/hal_model2/TemplateTest.java
@@ -1,4 +1,4 @@
-package com.cosium.hal_model;
+package com.cosium.hal_model2;
import static org.assertj.core.api.Assertions.assertThat;
@@ -43,7 +43,7 @@ void test1() {
assertThat(formsBody.requireLink("self").href().expand())
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.title()).contains("Create");
}
@@ -82,7 +82,7 @@ void test2() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -123,7 +123,7 @@ void test3() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -164,7 +164,7 @@ void test4() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -205,7 +205,7 @@ void test5() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -246,7 +246,7 @@ void test6() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -287,7 +287,7 @@ void test7() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -328,7 +328,7 @@ void test8() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -369,7 +369,7 @@ void test10() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -410,7 +410,7 @@ void test11() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -451,7 +451,7 @@ void test12() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -492,7 +492,7 @@ void test13() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -533,7 +533,7 @@ void test14() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -574,7 +574,7 @@ void test15() {
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.propertyByName()).containsOnlyKeys("foo");
@@ -608,7 +608,7 @@ void test16() {
assertThat(formsBody.requireLink("self").href().expand())
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.contentType()).contains("text/plain");
}
@@ -640,7 +640,7 @@ void test17() {
assertThat(formsBody.requireLink("self").href().expand())
.isEqualTo("http://localhost/template-assertion-test:put");
assertThat(formsBody.templateByKey()).containsOnlyKeys("create");
- TemplateRepresentation create = formsBody.requireTemplate("create");
+ Template create = formsBody.requireTemplate("create");
assertThat(create.method()).isEqualTo("PUT");
assertThat(create.target()).contains("http://localhost/template-assertion-test:put2");
}