1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package io.wcm.caravan.hal.docs.impl.augmenter;
21
22 import org.apache.commons.lang3.StringUtils;
23
24 import io.wcm.caravan.hal.resource.HalResource;
25 import io.wcm.caravan.hal.resource.Link;
26
27
28
29
30
31 class LinkRelationTitleAugmenter {
32
33 private final DocsMetadata metadata;
34
35 LinkRelationTitleAugmenter(DocsMetadata metadata) {
36 this.metadata = metadata;
37 }
38
39 public void augment(HalResource resource) {
40 resource.getLinks().entries().stream()
41 .forEach(entry -> augmentLink(entry.getKey(), entry.getValue()));
42 }
43
44 public void augmentLink(String rel, Link link) {
45 if (StringUtils.isBlank(link.getTitle())) {
46 link.setTitle(metadata.getLinkRelationTitle(rel));
47 }
48 }
49
50 }