186. Streaming custom code to map
Let’s assume that we have the following legacy class:
public class Post {
private final int id;
private final String title;
private final String tags;
public Post(int id, String title, String tags) {
this.id = id;
this.title = title;
this.tags = tags;
}
...
public static List<String> allTags(Post post) {
return Arrays.asList(post.getTags().split("#"));
}
}
So we have a class that shapes some blog posts. Each post has several properties, including its tags. The tags of each post are actually represented as a string of tags separated by hashtag (#
). Whenever we need the list of tags for a given post, we can call the allTags()
helper. For instance, here is a list of posts and their tags:
List<Post> posts = List.of(
new Post(1, "Running jOOQ", "#database #sql #rdbms"),
new Post(2, "I/O files in Java", "#io #storage #rdbms"...