Class DiagramResponse

java.lang.Object
net.sourceforge.plantuml.servlet.DiagramResponse

public class DiagramResponse extends Object
Delegates the diagram generation from the UML source and the filling of the HTTP response with the diagram in the right format. Its own responsibility is to produce the right HTTP headers.
  • Constructor Summary

    Constructors
    Constructor
    Description
    DiagramResponse(jakarta.servlet.http.HttpServletResponse res, net.sourceforge.plantuml.FileFormat fmt, jakarta.servlet.http.HttpServletRequest req)
    Create new diagram response instance.
    DiagramResponse(jakarta.servlet.http.HttpServletResponse res, net.sourceforge.plantuml.FileFormat fmt, jakarta.servlet.http.HttpServletRequest req, net.sourceforge.plantuml.klimt.color.ColorMapper cm)
    Create new diagram response instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    static net.sourceforge.plantuml.klimt.color.ColorMapper
    getColorMapper(jakarta.servlet.http.HttpServletRequest req)
    Retrieves the color mapper based on the HTTP request.
    static void
    Initialize PlantUML configurations and properties as well as loading the PlantUML config file.
    void
    Check the syntax of the diagram and send a report in TEXT format.
    void
    sendDiagram(String uml, int idx)
    Render and send a specific uml diagram.
    void
    sendMap(String uml, int idx)
    Produce and send the image map of the uml diagram in HTML format.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DiagramResponse

      public DiagramResponse(jakarta.servlet.http.HttpServletResponse res, net.sourceforge.plantuml.FileFormat fmt, jakarta.servlet.http.HttpServletRequest req)
      Create new diagram response instance.
      Parameters:
      res - http response
      fmt - target file format
      req - http request
    • DiagramResponse

      public DiagramResponse(jakarta.servlet.http.HttpServletResponse res, net.sourceforge.plantuml.FileFormat fmt, jakarta.servlet.http.HttpServletRequest req, net.sourceforge.plantuml.klimt.color.ColorMapper cm)
      Create new diagram response instance.
      Parameters:
      res - http response
      fmt - target file format
      req - http request
      cm - color mapper
  • Method Details

    • init

      public static void init()
      Initialize PlantUML configurations and properties as well as loading the PlantUML config file.
    • getColorMapper

      public static net.sourceforge.plantuml.klimt.color.ColorMapper getColorMapper(jakarta.servlet.http.HttpServletRequest req)
      Retrieves the color mapper based on the HTTP request.

      The color mapper can be specified in two ways:

      1. Via the HTTP header X-Preferred-Color-Mapper, or
      2. Via the URL by prefixing the diagram type with d for dark mode, e.g., /dpng/....
      If both are specified, the HTTP header X-Preferred-Color-Mapper takes precedence.
      Parameters:
      req - the HTTP request containing headers and URL information
      Returns:
      the color mapper based on the request, with fallback to ColorMapper.IDENTITY
    • sendDiagram

      public void sendDiagram(String uml, int idx) throws IOException
      Render and send a specific uml diagram.
      Parameters:
      uml - textual UML diagram(s) source
      idx - diagram index of uml to send
      Throws:
      IOException - if an input or output exception occurred
    • sendMap

      public void sendMap(String uml, int idx) throws IOException
      Produce and send the image map of the uml diagram in HTML format.
      Parameters:
      uml - textual UML diagram source
      idx - diagram index of uml to send
      Throws:
      IOException - if an input or output exception occurred
    • sendCheck

      public void sendCheck(String uml) throws IOException
      Check the syntax of the diagram and send a report in TEXT format.
      Parameters:
      uml - textual UML diagram source
      Throws:
      IOException - if an input or output exception occurred