diff options
| author | lucashemi <lucasxberger@gmail.com> | 2023-01-10 17:05:09 -0300 |
|---|---|---|
| committer | lucashemi <lucasxberger@gmail.com> | 2023-01-10 17:05:09 -0300 |
| commit | 1ea17797ce21c6f5b442bc275211ba8037a5b96c (patch) | |
| tree | 6ef3ca6248b0ea860ab5cbe70e35c1a97f5f5ab5 /src/main/java/br/com/alura/DaysOfCodeSpring/HTMLGenerator.java | |
Diffstat (limited to 'src/main/java/br/com/alura/DaysOfCodeSpring/HTMLGenerator.java')
| -rw-r--r-- | src/main/java/br/com/alura/DaysOfCodeSpring/HTMLGenerator.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/br/com/alura/DaysOfCodeSpring/HTMLGenerator.java b/src/main/java/br/com/alura/DaysOfCodeSpring/HTMLGenerator.java new file mode 100644 index 0000000..9e3e42b --- /dev/null +++ b/src/main/java/br/com/alura/DaysOfCodeSpring/HTMLGenerator.java @@ -0,0 +1,55 @@ +package br.com.alura.DaysOfCodeSpring; + +import java.io.PrintWriter; +import java.util.List; + +public class HTMLGenerator { + private PrintWriter writer; + + public HTMLGenerator(PrintWriter writer) { + this.writer = writer; + } + + private String head = + """ + <html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous"s> + <link href="./main.css" rel="stylesheet"> + </head> + """; + + private String card = + """ + <div class="card text-white bg-dark mb-3" style="max-width: 12rem;"> + <h4 class="card-header">%s</h4> + <div class="card-body"> + <img class="card-img" src="%s" alt="%ss"> + <p class="card-text mt-2">Nota: %s - Ano: %s</p> + </div> + </div> + """; + + public void generate(List<ApiController.Filme> filmes) { + writer.println(head); + + writer.println(""" + <body> + <h1 class="title">IMDb</h1> + <div class="content"> + """); + + filmes.forEach(filme -> { + writer.println(String.format(card, filme.title(), filme.image(), filme.title(), filme.imDbRating(), filme.year())); + }); + + writer.println( + """ + </div> + </body> + </html> + """); + } +} |
