Add method to embed collections

This commit is contained in:
Rene Pfeuffer
2019-07-24 13:55:53 +02:00
parent ad772c778d
commit 9e0bee7883
2 changed files with 15 additions and 0 deletions

View File

@@ -2,6 +2,8 @@ package sonia.scm.api.v2.resources;
import de.otto.edison.hal.HalRepresentation;
import java.util.List;
/**
* The {@link HalAppender} can be used within an {@link HalEnricher} to append hateoas links to a json response.
*
@@ -34,6 +36,14 @@ public interface HalAppender {
*/
void appendEmbedded(String rel, HalRepresentation embeddedItem);
/**
* Appends a list of embedded objects to the json response.
*
* @param rel name of relation
* @param embeddedItems embedded objects
*/
void appendEmbedded(String rel, List<HalRepresentation> embeddedItems);
/**
* Builder for link arrays.
*/

View File

@@ -33,6 +33,11 @@ class EdisonHalAppender implements HalAppender {
embeddedBuilder.with(rel, embedded);
}
@Override
public void appendEmbedded(String rel, List<HalRepresentation> embedded) {
embeddedBuilder.with(rel, embedded);
}
private static class EdisonLinkArrayBuilder implements LinkArrayBuilder {
private final Links.Builder builder;