/** * Define a relationship for the given rel name to a URL. If supported, * the output rendering (serialization) will be an array (or list) instead * of a single object for this rel name. * * @param name the relationship name (rel name). * @param href the URL, possibly templated. * @return this relationship definition instance to facilitate method chaining. */ public RelationshipDefinition rels(String name, String href) { return rels(name, factory.newLinkBuilder(href)); }
/** * Define a relationship for the given rel name to a URL. * * @param rel the relationship name (rel name). * @param href the URL, possibly templated. * @return this relationship definition instance to facilitate method chaining. */ public RelationshipDefinition rel(String rel, String href) { return rel(rel, factory.newLinkBuilder(href)); }
/** * @param resource * @param field */ private void addAllLinks(SirenResource resource, Entry<String, JsonNode> field) { LinkBuilder lb = factory.newLinkBuilder(); lb.rel(field.getKey()); Iterator<JsonNode> values = field.getValue().elements(); while (values.hasNext()) { JsonNode value = values.next(); Iterator<JsonNode> elements = value.elements(); while (elements.hasNext()) { JsonNode element = elements.next(); lb.set(element.asText(), element.textValue()); } resource.addLink(lb.build()); lb.clearAttributes(); } }
/** * @param resource * @param field */ private void addLink(SirenResource resource, Entry<String, JsonNode> field) { LinkBuilder lb = factory.newLinkBuilder(); lb.rel(field.getKey()); Iterator<Entry<String, JsonNode>> elements = field.getValue().fields(); while (elements.hasNext()) { Entry<String, JsonNode> element = elements.next(); if ("href".equals(element.getKey())) { lb.urlPattern(element.getValue().asText()); } else { lb.set(element.getKey(), element.getValue().asText()); } } resource.addLink(lb.build()); }
/** * @param resource * @param field */ private void addLink(HalResource resource, Entry<String, JsonNode> field) { LinkBuilder lb = factory.newLinkBuilder(); lb.rel(field.getKey()); processLinkProperties(lb, field.getValue()); resource.addLink(lb.build()); }
/** * @param resource * @param field */ private void addAllLinks(HalResource resource, Entry<String, JsonNode> field) { LinkBuilder lb = factory.newLinkBuilder(); Iterator<JsonNode> values = field.getValue().elements(); while (values.hasNext()) { lb.rel(field.getKey()); JsonNode value = values.next(); processLinkProperties(lb, value); resource.addLink(lb.build()); lb.clearAttributes(); } }