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.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.
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.
Enumerates barcode formats known to this package.
A factory of bars.
A Base64 encoder/decoder.
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.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.
InputStream decorator that decompresses brotli data.A stream of bits that can be read.
A class which wraps a 2D array of bytes.
A Cartesian coordinate system.
Two-dimensional Cartesian transformation.
Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1
of ISO 18004.
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.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.
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.
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.
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.
Driver for rendering UCenteredCharacter in TeaVM/SVG.
Driver for rendering DotPath (Bezier curves from Graphviz) in TeaVM/SVG.
TeaVM driver for rendering embedded SVG images.
TeaVM driver for rendering images in SVG.
Indicates that the annotated class, method, constructor, or field is a duplication
of another part of the code.
Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations"
5.3 of ISO 18004.
Minimal Ed25519 in pure Java.
Generates
EmbeddedResources.java by reading
skin/plantuml.skin from the main resources directory and encoding it
as a Base64 string literal.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.Symbol factory for creating symbols with error bars.
See ISO 18004:2006, 6.5.1.
Deprecated.
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.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.
Format for output files generated by PlantUML.
A FileFormat with some parameters.
Interface for fill attributes.
An implementation of ConfigData based on a flat
representation of the hierachically organized key-value pairs.
Font style constants.
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.
Immutable rational number represented as a reduced numerator/denominator
pair.
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).
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.
TeaVM engine for rendering DOT graphs to SVG using Viz.js.
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.
Marker interface of all types of hints.
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.
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/
Information about a generated image for a diagram.
A collection of methods to help with processing images.
Represents an entry inside a ZIP archive as an
InputFile.Contract for SVG sprite parsers used by PlantUML to render sprite content
into a
UGraphic.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.
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.
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.
Writes a
BitMatrix to BufferedImage,
file or stream.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.See ISO 18004:2006, 6.4.1, Tables 2 and 3.
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.
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 oval (i.e. an ellipse).
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.
PDF backend that mirrors the public API of
net.sourceforge.plantuml.klimt.drawing.svg.SvgGraphics.Configuration options for
PdfGraphics.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.
Immutable class of a two-dimensional point with floating point
coordinates.
A polygon or polyline.
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.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.
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.
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.
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.
Marker interface.
POJO of the json sent to "POST /render"
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).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.
Basic attributes for shapes.
An
AttributesHint which wraps ShapeAttributes.A simple curve is the basic implementation of the
Curve interface.Factory for
SimpleCurves."Pseudo size" of a C structure.
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.
Common string-related functions.
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).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.Interface of a symbol factory.
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.
Small TeaVM helper to build JSON results from Java without hand-rolling the
escaping.
A single line of text.
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.
Generates
ThemeList.java from the bundled theme names returned by
ThemeUtils.getAllThemeNames().Generates
src/main/resources/teavm/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.
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.
Represents the textual source of some diagram.
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.
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.
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.
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.A minimal, dependency-free DOM element, replicating just the subset of
org.w3c.dom.Element that the SVG generation code relies on.A minimal, dependency-free streaming XML/SVG writer.