001package com.credibledoc.substitution.doc.module.substitution.participant; 002 003import com.credibledoc.substitution.core.content.Content; 004import com.credibledoc.substitution.core.content.ContentGenerator; 005import com.credibledoc.substitution.core.placeholder.Placeholder; 006import lombok.NonNull; 007import lombok.RequiredArgsConstructor; 008import net.steppschuh.markdowngenerator.table.Table; 009import com.credibledoc.substitution.doc.module.substitution.markdown.table.TableService; 010import com.credibledoc.substitution.doc.plantuml.Participant; 011import org.springframework.stereotype.Service; 012 013import javax.inject.Inject; 014 015/** 016 * Generates a table of {@link Participant}s maintained in the substitution-doc module. 017 */ 018@Service 019@RequiredArgsConstructor(onConstructor = @__(@Inject)) 020public class ParticipantsTableMarkdownGenerator implements ContentGenerator { 021 022 @NonNull 023 private final TableService tableService; 024 025 @Override 026 public Content generate(Placeholder placeholder) { 027 Table.Builder tableBuilder = new Table.Builder() 028 .addRow("Participant name", "Description"); 029 030 String markdown = tableService.createMarkdownTableFromEnum(tableBuilder, Participant.class); 031 Content content = new Content(); 032 content.setMarkdownContent(markdown); 033 return content; 034 } 035 036}