001package io.avaje.http.generator.core.javadoc;
002
003
004import java.util.Collections;
005import java.util.Map;
006
007/**
008 * Parsed javadoc.
009 */
010public class Javadoc {
011
012  static final Javadoc EMPTY = new Javadoc();
013
014  private final String summary;
015
016  private final String description;
017
018  private final Map<String, String> params;
019
020  private final String returnDescription;
021
022  private final boolean deprecated;
023
024  /**
025   * Parse and return the Javadoc.
026   */
027  public static Javadoc parse(String content) {
028    return new JavadocParser().parse(content);
029  }
030
031  Javadoc(String summary, String description, Map<String, String> params, String returnDescription, boolean deprecated) {
032    this.summary = summary;
033    this.description = description;
034    this.params = params;
035    this.returnDescription = returnDescription;
036    this.deprecated = deprecated;
037  }
038
039  private Javadoc() {
040    this.summary = "";
041    this.description = "";
042    this.returnDescription = "";
043    this.params = Collections.emptyMap();
044    this.deprecated = false;
045  }
046
047  public String getSummary() {
048    return summary;
049  }
050
051  public String getDescription() {
052    return description;
053  }
054
055  public Map<String, String> getParams() {
056    return params;
057  }
058
059  public String getReturnDescription() {
060    return returnDescription;
061  }
062
063  public boolean isDeprecated() {
064    return deprecated;
065  }
066}