All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Default abstract OAuth2 AccessAuthorizeManager for OAuth2 managers.
 
Base class for PiecewiseConstant implementations whose value is constant over contiguous time segments.
 
 
 
Abstract superclass of all SymbolFactories.
 
 
 
 
 
 
An atom representing another atom with an accent symbol above it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Signals that an error occured while registering an alphabet
 
 
Anchor of a graphical element.
Class AnimatedGifEncoder - Encodes a GIF file consisting of one or more frames.
 
 
This indicates that an element will be stable over PlantUML version.
 
 
A RasterPath.Visitor for canvases that only know cubic Bézier curves: it turns the arcs into cubics (at most a quarter of a turn each), and keeps track of the current point, which SVG arcs start from.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An abstract superclass for all logical mathematical constructions that can be a part of a TeXFormula.
An immutable, sorted, duplicate-free collection of StyleAtom, backed by a plain array instead of a TreeSet -- a candidate replacement for the SortedSet<StyleAtom> that StyleQuery currently keeps as atoms (not yet wired in there: this class stands on its own, validated by its own unit tests, before any caller is switched over).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A Hint which wraps a GraphicAttributes instance.
 
 
 
Helper class with various parameters defining an axis.
 
 
Signals an attempt to create an Element that hasn't got the right form.
Signals that a bad PDF format has been used to construct a PdfObject.
 
 
Enumerates barcode formats known to this package.
A factory of bars.
 
 
A Base64 encoder/decoder.
 
Base class for the several font types supported
Applies from SecurityAuthentication data a BasicAuth authentication access header.
The BasicAuthAuthorizeManager creates the authentication on the fly from the credentials without any access to other services.
 
 
 
Abstract superclass of all basic GraphicalElements.
The basic attributes of any BasicGraphicalElement.
 
 
An atom representing a big delimiter (for left and right commands).
 
An atom representing a "big operator" (or an atom that acts as one) together with its limits.
A simple, fast array of bits, represented compactly by an array of ints internally.
 
A stream of bits that can be read.
 
Represents a 2D matrix of bits.
This provides an easy abstraction to read bits at a time from a sequence of bytes, where the number of bits read is not often a multiple of 8.
 
Generalized Blake2b digest.
 
 
 
 
Message Authentication Code (MAC) digest.
Blake2b configuration parameters block per spec
 
 
Note that Tree is just a convenience class; incremental hash (tree) can be done directly with the Digest class.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing a bold atom.
 
 
 
 
 
 
An abstract graphical representation of a formula, that can be painted.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An empty atom just to add a mark.
InputStream decorator that decompresses brotli data.
 
 
 
 
A stream of bits that can be read.
Acts like a StringBuffer but works with byte arrays.
A class which wraps a 2D array of bytes.
 
 
 
 
 
 
A Cartesian coordinate system.
Two-dimensional Cartesian transformation.
 
An atom with a cedilla.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents a character together with its font, font ID and metric information.
Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1 of ISO 18004.
An atom representing exactly one alphanumeric character and the text style in which it should be drawn.
A box representing a single character.
 
 
 
Represents a specific character in a specific font (identified by its font ID).
 
 
 
 
 
An common superclass for atoms that represent one single character and access the font information.
Represents an annotation on a chart at a specific point.
 
 
 
 
 
 
 
 
 
 
 
 
 
Thrown when a barcode was successfully detected and decoded, but was not returned because its checksum feature failed.
 
 
 
 
 
 
 
 
 
 
A factory of circle symbols.
 
 
 
 
 
 
 
 
 
 
Annotation used to document CLI flags in CliFlag.
 
 
 
 
 
 
Immutable class of a rectangular clipping area.
Defining a clipping shape applied to all GraphicalElements of a GraphicalComposite.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing the foreground and background color of an other atom.
Color with hue, saturation and brightness.
 
 
 
 
 
 
 
 
 
 
 
 
Utilities to combine multiple PiecewiseConstant functions.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Command to parse annotation syntax: annotation "text" at (xPos, yPos) annotation "text" at (xPos, yPos) <<arrow>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Parses and applies the colwidth=<N> directive for packetdiag diagrams.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Parses and applies the node_height=<N> directive for packetdiag diagrams.
 
 
 
 
 
 
Parses packet field declarations expressed as a bit number, a bit range, or a * list of bit.
 
 
 
 
Parses the end of a packetdiag diagram block.
Parses the start of a packetdiag diagram block.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Parses and applies the same_height=<true|false> directive for packetdiag diagrams.
 
Parses and applies the scale_direction=<ltr|rtl> directive for packetdiag diagrams.
Parses and applies the scale_interval=<N> directive for packetdiag diagrams.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
 
 
Interface for hierarchically managed key-value pairs.
Read-only class for hierarchically organized key-value pairs.
An implementation of ConfigData based on two instances of ConfigParameters.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Interface for all generators of coordinate systems.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents an RGB555 color cube.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing a reflected Atom.
 
A curve is defined by a sequence of points in device-independent coordinates.
Interface of a curve factory.
 
 
 
 
Abstract superclass of all data containers.
A curve is a DataContainer of DataPoints.
Interface for all kinds of data elements.
Event to be sent to a DataListener.
Type of a DataEvent.
An interface all observers of DataEvents have to implement.
A plot is a DataContainer of DataCurves.
Immutable two-dimensional point in data coordinates.
 
 
 
Value object containing day calendar information: open/closed days, day colors, and day names.
 
 
 
 
An atom representing ddots.
 
 
 
 
 
Encapsulates a type of hint that a caller may pass to a barcode reader to help it more quickly or accurately decode it.
Encapsulates the result of decoding a matrix of bits.
 
Decompresses raw DEFLATE data (without zlib or gzip container) into bytes.
 
 
 
 
 
 
The default implementation of the TeXFont-interface.
Parses the font information from an XML-file.
 
 
 
 
Responsible for creating a box containing a delimiter symbol that exists in different sizes.
 
 
 
Encapsulates the result of detecting a barcode in an image.
 
 
Factory that decorates a raw diagram TextBlock with its chrome elements: warnings banner, mainframe, legend, title, caption, header and footer.
 
 
 
 
 
 
Renders a single PlantUML diagram to a deterministic SVG, in a headless, DOM-free and AWT-free way suitable for the TeaVM/Node build.
Provides an interface to retrieve the results of a diagram processing operation.
 
 
 
 
 
Collection of static dictionary words.
 
 
 
 
 
 
Deprecated.
 
 
Value object containing display configuration options.
 
 
 
 
 
 
A class that implements DocListener will perform some actions when some actions are performed on a Document.
A generic Document class.
Signals that an error has occurred in a Document.
An abstract Writer class for documents.
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing a boxed base atom.
 
 
 
 
Driver for rendering UCenteredCharacter in TeaVM/SVG.
Draws the character of a circled character (the "C" of a class) as text, with the font of the PDF, centered on (x, y) by the bounding box of its glyph (AFM metrics).
As DriverCenteredCharacterG2d, without UnusedSpace (which needs AWT to rasterize the glyph): the glyph is centered on the box of its ink, given by the canvas.
 
 
 
 
 
 
 
Driver for rendering DotPath (Bezier curves from Graphviz) in TeaVM/SVG.
 
As DriverDotPathG2d.
 
 
 
 
 
 
 
As DriverEllipseG2d, without shadow nor pattern for now.
 
 
 
 
TeaVM driver for rendering images in SVG.
 
 
As DriverImageG2d: the image is drawn at the resolution of the output, on the device grid.
TeaVM driver for rendering embedded SVG images.
 
 
 
 
 
 
 
 
 
As DriverLineG2d, without shadow for now.
 
 
 
 
 
 
 
As DriverPathG2d, without shadow for now.
 
 
 
 
As DriverPixelG2d.
 
 
 
 
 
 
As DriverPolygonG2d, without shadow nor pattern for now.
 
 
 
 
 
 
 
 
 
As DriverRectangleG2d, without shadow nor pattern for now.
 
 
 
 
 
 
 
 
 
 
 
As DriverTextG2d.
 
 
 
 
 
 
 
 
 
 
 
 
 
Used by RowAtom.
Indicates that the annotated class, method, constructor, or field is a duplication of another part of the code.
This kind of atom is used to have a dynamic content which comes from an other soft such as ggb.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations" 5.3 of ISO 18004.
Minimal Ed25519 in pure Java.
 
 
 
 
Interface for a text element.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A class that implements ElementListener will perform some actions when an Element is added.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Files embedded in the executable of the C build: the themes today, the standard library later.
Metrics of one face of a font embedded in PlantUML, decoded from the compact tables generated by tools/font-metrics/GenerateFontMetrics.java (see LiberationSansMetrics).
 
Generates EmbeddedResources.java by reading the skins of the main resources directory (see EmbeddedResourcesGenerator.SKIN_NAMES) and encoding them as Base64 string literals.
 
 
An empty atom.
 
 
 
 
 
 
 
 
These are a set of hints that you may pass to Writers to specify their behavior.
 
How a driver tells the UGraphic it draws into that a point belongs to what was just drawn, so that the clickable area of whatever Url is currently open grows to cover it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
What the preprocessor knows about where the diagram comes from: the version, the name and the directory of the file, its date...
 
 
 
 
Symbol factory for creating symbols with error bars.
See ISO 18004:2006, 6.5.1.
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
 
 
 
 
 
 
 
The ExceptionConverter changes a checked exception into an unchecked exception.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The ExtendedGeneralPath class represents a geometric path constructed from straight lines, quadratic and cubic (Bezier) curves and elliptical arc.
The ExtendedPathIterator class represents a geometric path constructed from straight lines, quadratic and cubic (Bezier) curves and elliptical arcs.
Represents an extension character that is defined by Char-objects of it's 4 possible parts (null means part not present).
 
 
Classes implementing this interface can create custom encodings or replace existing ones.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
General purpose factory method based on ConfigParameters and Java's Reflection API.
Exception thrown in the case of an error during creation of a new object by Factory.create(java.lang.String).
 
 
 
 
 
 
Marks a calculateDimension() implementation as known to be fast, meaning it does not need memoization via TextBlockMemoized.
 
An atom representing a boxed base atom.
 
An atom representing a base atom surrounded with delimiters that change their size according to the height of the base.
 
 
 
 
Format for output files generated by PlantUML.
A FileFormat with some parameters.
 
 
Reads the file of a local !include, !include_once, !include_many or !includesub, or of a !theme ...
 
 
 
 
 
 
 
 
 
 
 
Interface for fill attributes.
 
 
 
 
 
Reads, from a command pattern alone, the first tokens a line must start with for that pattern to have any chance of matching it -- so that the regex stays the only place a command says what it accepts, instead of repeating it in a hand-written declaration that nothing keeps in sync.
 
An atom representing a fixed character (not depending on a text style).
 
 
 
 
 
 
An implementation of ConfigData based on a flat representation of the hierachically organized key-value pairs.
 
 
 
 
 
 
Contains all the font information for 1 font.
 
 
 
A class to facilitate the loading of resources
 
Font style constants.
 
 
 
Text that has no TeX glyph.
The box of a ForeignTextAtom: its text, drawn by the canvas.
 
A helper class for formatting numbers according to a printf-like format string.
 
Thrown when a barcode was successfully detected, but some aspect of the content did not conform to the barcode's format rules.
A diagram that is one formula (@startmath, @startlatex).
Signals that unknown predefined TeXFormula name was used.
 
Immutable rational number represented as a reduced numerator/denominator pair.
An atom representing a fraction.
A box representing a rotated box.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The functions known by a diagram.
 
 
 
 
 
 
 
 
 
 
 
Value object containing the core domain data of a Gantt diagram: tasks, resources, and constraints.
 
Draws, on the left side of a Gantt diagram, a textual table giving for each task its code, its start date, its end date and its duration (in days).
Describes a single column of the textual task table drawn on the left side of a Gantt diagram.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
 
 
 
This class contains utility methods for performing mathematical operations over the Galois Field GF(256).
 
 
 
 
 
 
 
 
Represents glue by its 3 components.
A box representing glue.
Parses the glue settings (different types and rules) from an XML-file.
 
 
The outlines of the glyphs of the TeX fonts, read from a glyphs.bin file made by tools/jlatexmath-glyphs/GenerateGlyphOutlines.java (the format is described there).
The glyphs of one font (one TTF file).
Receives the outline of a glyph.
 
 
 
 
 
Container for GraphicalElements.
Interface of all Renderers who render a GraphicalComposite.
Interface all graphical elements have to implement.
 
Marker interface for all types of graphic attributes of a BasicGraphicalElement.
 
Renderer who draws the GraphicalElements into a java.awt.Graphics2D context.
 
Class which handles plotting into a Graphics context based on the {link jcckit.renderer.GraphicsRenderer}.
 
 
 
Immutable class of a two-dimensional point in the device-independent coordinate system.
 
 
Renders DOT graphs to SVG with Viz.js, synchronously.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This is a TextGrid (usually 3x3) that contains the equivalent of a 2D reqular expression (which uses custom syntax to make things more visual, but standard syntax is also possible).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents an SVG-like linear gradient with multiple stops, offsets, and optional stop opacity.
Defines how the gradient behaves outside its vector range.
A single gradient stop with offset, color, and opacity.
 
 
 
 
 
An atom used in array mode to write on several columns.
 
 
Smallest possible entry point for the experimental TeaVM C backend.
 
 
 
 
 
 
 
 
 
 
 
 
 
Marker interface of all types of hints.
 
An atom representing a hline in array environment
 
 
A box composed of a horizontal row of child boxes.
A box representing a horizontal line.
 
Taken from http://www.camick.com/java/source/HSLColor.java The HSLColor class provides methods to manipulate HSL (Hue, Saturation Luminance) values to create a corresponding Color object using the RGB ColorSpace.
 
 
 
 
 
 
 
Reads an http(s) URL in the C build, for !include, !includesub and the other directives that read a file.
Taken from https://github.com/hsluv/hsluv-java/blob/master/src/main/java/org/hsluv/HUSLColorConverter.java Some other pointer: https://twitter.com/kuon_orochi/ https://www.hsluv.org/ https://www.kuon.ch/post/2020-03-08-hsluv/
 
 
Generates I18nTimeData.java by extracting short localized names for DayOfWeek and Month from the running JVM.
 
 
 
An atom representing iddots.
 
 
 
 
An atom with representing an IJ.
Typed exception used when creating PDF syntax that isn't valid.
An Image is the representation of a graphic element (JPEG, PNG or GIF) that has to be inserted into the document Security consideration: This method accepts input and processes it without built-in validation, filtering, or access restrictions.
Information about a generated image for a diagram.
 
 
 
 
A collection of methods to help with processing images.
 
 
 
Support for JBIG2 images.
Raw Image data that has to be inserted into the document
 
 
 
 
 
 
 
 
 
 
 
 
A file whose content is already in memory, such as what the C build downloaded from a URL.
A file read with java.io only, see NFolderIo.
 
 
Represents an entry inside a ZIP archive as an InputFile.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A hash map that uses primitive ints for the key rather than objects.
 
 
 
Signals that an unknown symbol type constant or a symbol of the wrong type was used.
Signals that an invalid TeXFormula was used.
Signals that an unknown unit constant was used.
 
 
 
 
 
 
 
 
Contract for SVG sprite parsers used by PlantUML to render sprite content into a UGraphic.
An atom representing a italic atom.
 
 
 
 
 
 
Generates src/main/teavm/generated/jlatexmath.js, the companion script that gives the resources of JLaTeXMath (the XML files and the glyph outlines, the same files as the C build embeds) to the browser build, which has no class loader.
Where JLaTeXMath finds its resources (the XML files of the font metrics, the symbols and the macros, and the glyph outlines of glyphs.bin) in the C build, which has no class loader: in the files embedded in the executable, under "jlatexmath/" (copied by Gradle from src/main/resources/org/scilab/forge/jlatexmath, see copyNativeSources).
Where JLaTeXMath finds its resources (the XML files and the glyph outlines) in the browser build, which has no class loader: in the global PLANTUML_JLATEXMATH, a map from the path of the resource (under org/scilab/forge/jlatexmath/) to its content in Base64.
Superclass of all the possible (public) exceptions that can be thrown in this package.
 
This class serves as the entry point to the minimal-json API.
 
 
Represents a JSON array, an ordered collection of JSON values.
 
 
 
A handler for parser events.
Small TeaVM helper to build JSON results from Java without hand-rolling the escaping.
 
 
Represents a JSON object, a set of name/value pairs, where the names are strings and the values are JSON values.
Represents a member of a JSON object, a pair of a name and a value.
A streaming parser for JSON text.
 
 
 
Represents a JSON value.
 
 
 
 
 
 
 
 
 
 
 
An atom representing a laped atom (i.e.
An atom representing whitespace.
 
 
 
An atom with representing an L with a caron.
 
 
Helper class for creating the legend of a Plot.
 
The depth(n) / * side of a style declaration or query, encoded as a long bitmask instead of the ad-hoc level/isStared pair the legacy net.sourceforge.plantuml.style.StyleKey carries -- levels are assumed to fit in 0..63, which every real mindmap/wbs diagram does.
 
 
 
 
 
 
 
 
 
 
 
 
 
Interface for line attributes.
 
 
Indicates the location of a line of code within a resource.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents the intrinsic amount of work required for a task, expressed internally as seconds of person-time.
 
Loads JSON data from file or URL source.
An immutable object that represents a location in the parsed text.
 
 
 
 
 
 
 
 
 
An atom representing a long division.
 
 
 
 
 
A command of the formulas: its number of arguments, and what it does.
What a command defined by a formula does.
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing a math atom.
An empty image of the size of a formula.
A formula that is ready to be drawn on a UGraphic: its size, and how to draw it.
 
A box representing a matrix.
Writes a BitMatrix to BufferedImage, file or stream.
 
 
Minimal pure-Java MD5 (RFC 1321), for targets where java.security.MessageDigest is not available (TeaVM C).
 
 
 
 
 
 
 
 
 
 
 
 
One node of the canonical, merged style tree: unlike RawStyleRule, there is at most one node per (selector name, *-or-not) pair at a given level, whatever comma lists or repeated declarations produced it in the source file.
 
 
 
 
 
 
Localizes error messages.
 
This is an Element that contains some meta information about the document.
 
 
 
Contains the metrics for 1 character: width, height, depth and italic correction.
An atom representing a middle atom which must be rounded by a left and right delimiter.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
See ISO 18004:2006, 6.4.1, Tables 2 and 3.
 
 
 
 
 
 
An atom representing a mono scale Atom.
 
 
 
 
An atom used in array mode to write on several columns.
 
 
An atom representing a vertical row of other atoms.
 
 
 
 
 
 
 
 
Binding to the exit function of the C library, for the exit code of the command line: System.exit does not exist in the classlib of the TeaVM C backend.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A folder read with java.io only, for the C build: TeaVM's C classlib has java.io.File but no file system provider behind java.nio.file.
 
 
A virtual folder representing a location inside a ZIP archive.
Represents the resource allocation applied to a task over time.
Represents an abstract scheduled task in the New Gantt Model (NGM).
Represents a fixed-duration task in the New Gantt Model (NGM).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Thrown when a barcode was not found in the image.
 
 
 
 
 
 
 
 
An atom representing an nth-root construction.
 
 
 
 
 
 
 
 
 
Applies from SecurityAuthentication data an OAuth2 Authorization access header.
Authorize the principal (from SecurityCredentials and creates a SecurityAuthentication object with a bearer token secret.
Authorize via principal a resource owner (from SecurityCredentials and creates a SecurityAuthentication object with a bearer token secret.
Some useful constants.
 
 
 
An atom with an ogonek.
 
 
 
 
Where OpenPDF finds its resources (AFM font metrics, glyph list, messages) in the C build, which has no class loader: in the files embedded in the executable, under "openpdf/" (copied from src/main/resources/org/openpdf by Gradle, see copyNativeSources).
 
 
 
 
 
 
 
 
 
 
 
An oval (i.e. an ellipse).
An atom representing a boxed base atom.
A box representing a rotated box.
Interface of all Renderers who render a Oval.
A box representing another box with a horizontal rule above it, with appropriate kerning.
An atom representing another atom with a horizontal line above it
A box representing another box with a delimiter box and a script box above or under it, with script and delimiter seperated by a kern.
A box representing another atom with a delimiter and a script above or under it, with script and delimiter seperated by a kern.
 
 
A single drawable field (block) in a packetdiag diagram.
PlantUML diagram implementation for the packetdiag syntax (bit/field-based packet layout).
Factory responsible for creating PacketDiagram instances and registering all commands supported by the packetdiag diagram type.
Renders the bit-position scale for packetdiag diagrams.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An unchecked exception to indicate that an input does not qualify as valid JSON.
Signals that an error occured while parsing a string to a formula.
Parse command options, e.g.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A PdfAction defines an action that can be triggered from a PDF file.
A PdfAnnotation is a note that is associated with a page.
PdfArray is the PDF Array object.
PdfBoolean is the boolean object represented by the keywords true or false.
PdfContentByte is an object containing the user positioned text and graphic contents of a page.
PdfDate is the PDF date object.
PdfDictionary is the Pdf dictionary object.
PdfDocument is the class that is used by PdfWriter to translate a Document into a PDF with different pages.
Meta information of the document.
Supports fast encodings for winansi and PDFDocEncoding.
Signals that an unspecified problem while constructing a PDF document.
PdfFormObject is a type of XObject containing a template-object.
PDF backend that mirrors the public API of net.sourceforge.plantuml.klimt.drawing.svg.SvgGraphics.
The graphic state dictionary.
PdfImage is a PdfStream containing an image-Dictionary and -stream.
PdfIndirectObject is the Pdf indirect object.
PdfIndirectReference contains a reference to a PdfIndirectObject.
a Literal
PdfName is an object that can be used as a name in a PDF-file.
PdfNull is the Null object represented by the keyword null.
PdfNumber provides two types of numbers, integer and real.
PdfObject is the abstract superclass of all PDF objects.
Configuration options for PdfGraphics.
PdfPage is the PDF Page-object.
PdfPages is the PDF Pages-object.
PdfRectangle is the PDF Rectangle object.
PdfResources is the PDF Resources-object.
 
PdfStream is the Pdf stream object.
A PdfString-class is the PDF-equivalent of a JAVA-String-object.
Implements the form XObject.
The PDF version is described in the PDF Reference 1.7 p92 (about the PDF Header) and page 139 (the version entry in the Catalog).
Stores the PDF version information, knows how to write a PDF Header, and how to add the version to the catalog (if necessary).
A DocWriter class for PDF.
This class generates the structure of a PDF document.
PdfCrossReference is an entry in the PDF Cross-Reference table.
 
 
 
The resources a rendering needs from the JavaScript side, which only arrive asynchronously: support scripts (emoji.js, themes.js, <lib>.min.js...), files of the host's PLANTUML_FILE_LOADER, and the Viz.js instance.
The answer of a loader.
 
 
 
 
 
 
An atom representing another atom that should be drawn invisibly.
 
 
 
 
A piecewise constant function defined on a LocalDateTime axis.
 
Immutable implementation of PiecewiseConstant that models a workload pattern defined by specific dates.
Immutable implementation of PiecewiseConstant that models a time window where work is enabled (value = 1) only within a specific period, and disabled (value = 0) before and after that period.
 
Immutable implementation of PiecewiseConstant that models a weekly workload pattern.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PlantUML rendering engine for browser environments, compiled to a JavaScript ES2015 module via TeaVM.
Single-string JS callback, used for both success (SVG) and error (message).
Headless TeaVM entry point for the PlantUML MCP server (Node/stdio).
Callback used to deliver the render result JSON back to JavaScript.
 
 
A namespace for Quark objects.
 
 
 
 
 
 
 
 
 
 
 
A plot is determined by a CoordinateSystem, Curves, an optional annotation layer and an optional Legend.
An abstract canvas containg a single Plot.
A plot event signales some changes of a Plot.
Types of PlotEvents.
Listener for changes of plots, diagrams, and charts.
 
 
The RasterCanvas of the TeaVM C build: drawn by plutovg (see NativeCanvas), text with the fonts embedded in the executable (Liberation Sans, whatever the family: the other families are not embedded yet), never the fonts of the machine.
Adds to a PNG the chunks PlantUML writes in its PNG images (see PngIOMetadata): the copyleft text, the source of the diagram (compressed iTXt "plantuml", read back by -metadata), and the resolution when it is not 96 dpi.
Entry point validating PNG output in the TeaVM C build, before any PlantUML code is involved: Java calls a C facade over plutovg through TeaVM's @Import, draws shapes and text with an embedded font, and gets the PNG back as a byte[].
 
Encodes a raster image (ARGB pixels) as a PNG in C, losslessly (no palette, no packing of the channels), as javax.imageio does for an image embedded in an SVG (src/teavm-c/native/plantuml_png.h), and decodes an image file into pixels.
 
 
 
 
 
 
Immutable class of a two-dimensional point with floating point coordinates.
 
 
 
 
A polygon or polyline.
Interface of all Renderers who render an instance of Polygon.
Portable image abstraction that works both in standard Java (using BufferedImage) and in TeaVM (using an in-memory pixel array with browser canvas for PNG export).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An immutable Hint capsulating two GraphPoints.
 
 
 
 
 
 
 
 
 
 
 
 
 
This class contains the most of basic commands of LaTeX, they're activated in byt the class PredefinedCommands.java.
 
 
 
 
Enables human readable JSON output by inserting whitespace between values.after commas and colons.
 
 
One property value, together with the priority it was assigned when merged in (see MergedStyleNode.mergeRule(net.sourceforge.plantuml.style.parser.RawStyleRule, net.sourceforge.plantuml.style.AutomaticCounter, boolean)) -- the direct counterpart of the legacy net.sourceforge.plantuml.style.DarkString, kept under the same name it had before this class grew a dark half.
 
 
 
 
Implementation of FlatConfigData based on java.util.Properties.
 
 
 
 
Builds a diagram from pre-processed PlantUML source.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This object renders a QR Code as a BitMatrix 2D array of greyscale values.
 
A simple color quantizer based on RGB555 cubes.
 
Replaces the least significant bit of each channel by its most significant one (see QuantUtils.compressPackedARGB(int)), for a smaller PNG.
Creates a dictionary with keys of colors, and values of count of the color
Wu quantization over OKLab (L, a, b) instead of RGB.
Utility functions for image handling in the quantization process.
A named node in the entity graph.
 
 
An atom representing a scaled Atom.
An implementation of a RandomAccessFile for input only that accepts a file or a byte array as data source.
 
 
 
A raster surface that UGraphicRaster draws on, and encodes as PNG.
Creates the canvas of a PNG image, transparent.
A shape to fill or stroke on a RasterCanvas: a sequence of segments, as a java.awt.geom.GeneralPath, where rectangles, ellipses and arcs stay whole (each canvas draws them the way it draws them best, Java2D with its own shapes).
The segments of a RasterPath, see its constants.
One alternative name inside a (possibly comma-separated) selector list, exactly as it was spelled in a .skin file, e.g.
 
Turns the raw text of a .skin file into a RawStyleSheet: a literal tree of selector { ... } blocks, with no attempt yet at merging duplicate selectors, expanding comma lists, or resolving @media into a cascade -- see RawStyleRule.
One selector { ... } block, exactly as written in a .skin file: its selector alternatives (or, for an @media block, the raw condition text), the properties declared directly inside it, and its nested blocks.
The literal result of parsing one .skin file: the CSS variables declared with --name: value; (keyed without the leading --), and the top-level selector { ... } / @media { ... } blocks, in the order they appear in the file.
 
 
The general exception class throw when something goes wrong during decoding of a barcode.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A rectangle.
A Rectangle is the representation of a geometric figure.
 
 
A RectangleReadOnly is the representation of a geometric figure.
Interface of all Renderers who render a Rectangle.
 
 
Implements Reed-Solomon enbcoding, as the name implies.
Thrown when an exception occurs during Reed-Solomon decoding, such as when there are too many errors to correct.
 
 
 
An atom representing a reflected Atom.
A box representing a rotated box.
 
 
 
 
 
 
 
 
 
 
 
 
 
Marker interface.
 
 
The render requests of the JavaScript engines, answered one at a time, in the order received, without any thread.
One request.
POJO of the json sent to "POST /render"
 
 
An atom representing a scaled Atom.
 
 
 
Signals that an error occurred while loading the necessary resources into memory.
Supplies the resources OpenPDF needs (AFM font metrics, glyph list, messages) when there is no class loader to find them, for instance in a native executable.
 
Encapsulates a point of interest in an image containing a barcode.
 
 
 
 
 
 
 
 
 
 
 
Role labels of an association (A "1"/"-owner" --> B), shared by all the layout engines (Graphviz, Smetana and ELK).
An atom representing a roman atom.
 
An atom representing a rotated Atom.
A box representing a rotated box.
 
 
 
 
 
 
A "composed atom": an atom that consists of child atoms that will be displayed next to each other horizontally with glue between them.
An atom representing a horizontal row of other atoms, to be seperated by glue.
 
An atom representing a rule.
 
 
 
 
 
 
An atom representing a scaled Atom.
A box representing a scaled box.
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing scripts to be attached to another atom.
 
 
 
The security access interceptor applies the authentication information to a HTTP connection.
The authentication to access an endpoint.
Creates from credentials a SecurityAuthentication object or authorize as principal to retrieve an authentication object.
Defines a configuration for credentials.
Indicates that the implementing object contains sensitive data, which can be erased using the eraseCredentials method.
This interceptor does nothing.
Creates a public access authentication data object.
There are 4 different security profile defined.
 
A constant workload segment over a time interval.
 
 
 
 
 
 
 
 
 
 
 
 
Secure replacement for java.io.File.
 
An atom representing a boxed base atom.
A box representing a rotated box.
 
 
 
 
Basic attributes for shapes.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A simple curve is the basic implementation of the Curve interface.
Factory for SimpleCurves.
 
 
 
 
 
 
 
 
"Pseudo size" of a C structure.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing a small capital atom.
 
An atom representing a smashed atom (i.e.
 
 
 
 
 
Same job as GraphvizSolverB, but with Smetana (the Java port of Graphviz) instead of the external dot program: it places the blocks and computes the paths between them.
 
 
 
 
 
 
 
 
 
 
An atom representing whitespace.
 
 
How specific a style declaration is, modeled the way real CSS specificity actually works: an ordered tuple, compared one component at a time from most to least significant -- never a single number that has to rely on one component's magnitude never reaching into (or being dominated by) another's.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A factory of square symbols.
An atom representing a sans serif atom.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The functions that every diagram knows, built once and shared by all the TContext: they hold no state, so they can be used concurrently.
 
 
 
 
 
 
 
 
 
 
 
 
 
The standard error of the C build, for the diagnostics of -pipe (line number and message of a syntax error, read by tools such as Kroki): the bytes are written as they are, in binary mode, straight to the file descriptor 2.
The standard input of the C build, for -pipe.
 
 
 
The standard output of the C build, for -pipe: the bytes are written as they are, in binary mode.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing a smashed atom (i.e.
 
 
 
 
Measures text with the metrics of the fonts embedded in PlantUML (Liberation Sans), without AWT, so that the TeaVM C build lays out exactly as the JVM does on Windows, and draws with the very same fonts.
 
 
 
 
Measures, with the StringBounder of the diagram, the text of a formula that no TeX font can draw (CJK, ...).
 
 
 
 
 
 
 
 
 
 
 
Common string-related functions.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A box representing whitespace.
 
 
One "tag" a style declaration or a query element can carry, put under a single total order so a StyleAtomTrie can index both families together instead of keeping a separate plain/legacy split: a SName (the common, fast path -- compared by ordinal) or a stereotype name (the rarer path -- compared lexicographically).
An atom representing a modification of style in a formula (e.g.
A set-trie: every declaration is stored under the sorted path of StyleAtom it requires, and StyleAtomTrie.findMatching(StyleQuery) walks it once to return every declaration whose required atom set is a subset of the query's -- the same test as the legacy element.snames.containsAll(declaration.snames) (plus stereotypes), but sharing common prefixes across declarations instead of re-testing each one in turn, and with no separate plain/legacy storage to keep in sync.
 
 
 
The fast, queryable counterpart of the old StyleStorage: every loaded Style is indexed by its query's tags in a StyleAtomTrie, so StyleIndex.findMatching(StyleQuery) only ever visits declarations that could possibly match a query, instead of the old linear scan over every style ever loaded checking StyleSignatureBasic#matchAll one by one -- the actual fix for the slow style resolution (StyleBuilder.getMergedStyle(net.sourceforge.plantuml.style.StyleQuery), StyleBuilder.getMergedStyleSpecial(net.sourceforge.plantuml.style.StyleQuery, int)) this whole parser2 engine was built for.
 
 
 
What a StyleAtomTrie is asked to resolve: the element's tags (its SName set plus any stereotypes, e.g.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Secure replacement for java.net.URL.
 
 
 
 
 
 
 
 
 
 
 
 
SVG Graphics implementation for TeaVM.
 
 
 
 
 
Zero-dependency SAX-based SVG parser using only Java SDK components.
Factory for selecting an SVG sprite parser implementation.
 
 
 
 
Immutable class holding the graphical represention of the symbol and two Hints.
 
A box representing a symbol (a non-alphanumeric character).
Interface of a symbol factory.
Signals a missing symbol mapping.
Signals that an unknown symbol was used.
 
 
 
Syntax checker for a single PlantUML diagram, intended to back an MCP check_syntax tool (and reusable from TeaVM/browser builds).
 
 
 
 
 
 
 
 
 
 
Value object containing the mapping from Task to TaskDraw.
 
 
 
 
 
 
An atom with representing an t with a caron.
 
 
 
 
 
 
 
A TeXResourceProvider that finds the resources in the class path: the files of src/main/resources/org/scilab/forge/jlatexmath in the jar.
An immutable sRGB color with an alpha, 8 bits each.
The collection of constants that can be used in the methods of the classes of this package.
Contains the used TeXFont-object, color settings and the current style in which a formula must be drawn.
An interface representing a "TeXFont", which is responsible for all the necessary fonts and font information.
Represents a logical mathematical formula that will be displayed (by creating a TeXIcon from it and painting it) using algorithms that are based on the TeX algorithms.
Parses predefined TeXFormula's from an XML-file.
The small drawing surface that the boxes need, in place of Graphics2D.
The icon of a TeXFormula: its size, and the way to paint it on a TeXGraphics.
 
The space around a TeXIcon, in pixels (what java.awt.Insets was).
This class implements a parser for LaTeX' formulas.
Supplies the resources of the library (the XML files of the font metrics, the symbols and the macros, and the glyph outlines) when there is no class loader to find them, for instance in a native executable.
Where the library reads its resources: the TeXResourceProvider that is installed with TeXResources.setProvider(TeXResourceProvider), and nothing else (as BaseFont.setResourceProvider of OpenPDF).
Parses TeX symbol definitions from an XML-file.
A single line of text.
Turns the raw content of the browser editor into the source lines given to the preprocessor, with the same tolerance as editor.plantuml.com (#2907).
Interface for text attributes.
 
 
 
 
 
 
 
 
Exports a fully-decorated TextBlock to an OutputStream in a given image format.
 
 
 
 
 
 
 
 
Abstract base class for TextBlock implementations where calculateDimension() is expensive.
 
 
 
 
 
 
 
An atom with representing an t with a caron.
 
Measures the text that no TeX font can draw (Chinese, Japanese, Korean, Arabic, ...
 
 
 
 
Interface of all Renderers who render an instance of Text.
Text rendering options, including the default language of the document and a flag to enable font glyph substitution (if FOP is available).
 
 
 
An atom representing a modification of style in a formula (e.g.
Signals a missing text style mapping.
 
The Unicode blocks that the library tells apart: Basic Latin, the two blocks of the Greek alphabet, Cyrillic, and all the others together.
 
 
 
 
 
 
 
Generates ThemeList.java from the bundled theme names returned by ThemeUtils.getAllThemeNames().
Generates src/main/teavm/generated/themes.js, the companion script that makes the bundled themes available to the TeaVM (browser) build.
 
 
Format interface for tic labels.
Map of number intervals onto a text label.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Value object containing the time bounds of a Gantt diagram.
 
 
 
 
Value object containing timeline styling information.
 
 
 
 
 
 
 
 
 
 
Value object containing the time scale configuration.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Applies from SecurityAuthentication data plain token authentication access headers.
The TokenAuthAuthorizeManager creates the authentication on the fly from the credentials without any access to other services.
 
 
 
 
 
 
 
 
 
 
Transformation between device-independent coordinates and standard Java coordinates.
Interface for transformations between data coordinates and device-independent coordinates.
 
 
Prefix tree used by the preprocessor to find variable and function names.
 
 
An atom with a stroked T
An atom representing a typewriter atom.
 
 
 
 
An atom representing another atom with an overrided lefttype and righttype.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable value object that combines a font style (normal/italic) and a font weight (CSS 100-900).
 
 
Immutable value object representing a CSS-compatible font weight (100-900).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A UGraphic interceptor that dispatches drawing operations to multiple swimlane-specific UGraphics in a single traversal of the Ftile tree.
 
 
 
 
 
 
 
 
PNG output without AWT: the drivers of UGraphicG2d, drawing on a RasterCanvas instead of a Graphics2D (the TeaVM C build has no AWT).
 
 
The canvas of JLaTeXMath (see PLAN.md, phase 2) drawn on a UGraphic: a formula is only paths, so that every output (SVG, PNG, PDF, EMF, the C build...) gets it the same way, with no font and no Batik.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents the textual source of some diagram.
 
 
An atom representing an other atom with an extensible arrow or doublearrow over or under it.
An atom representing another atom with an atom above it (if not null) seperated by a kern and in a smaller size depending on "overScriptSize" and/or an atom under it (if not null) seperated by a kern and in a smaller size depending on "underScriptSize"
An atom representing an underscore.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Decides which URL a diagram may read, working on the string of the URL only (no java.net, no DNS), for the C build.
 
 
 
 
The closed set of UShape kinds a UDriver can be registered for, and the reason an AbstractUGraphic can keep its drivers in a plain array rather than a map: the kind is a small dense index, so a lookup is drivers[kind.ordinal()].
 
 
 
 
 
 
 
 
 
Collection of static utility methods.
 
 
 
 
 
 
 
 
 
 
 
 
 
An atom representing another atom vertically centered with respect to the axis (determined by a general TeXFont parameter)
 
An atom representing vdots.
 
 
 
 
The Version object encapsulates attributes about a particular size Data Matrix Code.
See ISO 18004:2006 Annex D
Encapsualtes the parameters for one error-correction block in one symbol version.
Encapsulates a set of error-correction blocks in one symbol version.
 
 
 
 
 
 
 
 
 
 
An atom representing a hline in array environment
 
 
An atom representing a vertical row of other atoms.
 
 
 
 
 
 
 
 
Value object containing week-related configuration and locale.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The base class for all objects which encode/generate a barcode image.
Controls the formatting of the JSON output.
A base class which covers the range of exceptions which may occur when encoding a barcode using the Writer framework.
 
Affine transformation matrix implementation compatible with both standard JVM and TeaVM environments.
 
An atom representing an extensible left or right arrow to handle xleftarrow and xrightarrow commands in LaTeX.
 
 
 
 
 
Responsible for creating a box containing a delimiter symbol that exists in different sizes.
 
 
Custom interface for managing a XMI transformation of a class diagram.
 
 
 
Generic class for managing a custom XMI transformation, using services provided by external providers via dependency injection.
 
Custom interface for managing a XMI transformation of a description diagram.
 
 
 
 
 
 
Custom interface for managing a XMI transformation of a state diagram.
 
 
A minimal, dependency-free document, replicating just the subset of org.w3c.dom.Document that the SVG generation code relies on: a factory for XmlNode elements plus a single root.
An element of an XML file: its name, its attributes and its child elements.
 
A minimal, dependency-free DOM element, replicating just the subset of org.w3c.dom.Element that the SVG generation code relies on.
 
A reader for the XML files of the library (font metrics, symbols, macros, glue): elements, attributes, comments, processing instructions, and the references &#NNN;, &#xHHH;, &lt; &gt; &amp; &quot; &apos; in the values of the attributes.
 
A minimal, dependency-free streaming XML/SVG writer.