-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpackage-info.java
More file actions
34 lines (34 loc) · 1.52 KB
/
Copy pathpackage-info.java
File metadata and controls
34 lines (34 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
* Public authoring session API for semantic GraphCompose documents.
*
* <p>Classes in this package own the mutable authoring lifecycle: configuration,
* root registration, layout compilation, snapshot extraction, and backend
* rendering/export entrypoints.</p>
*
* <h2>Thread safety</h2>
*
* <p>{@link com.demcha.compose.document.api.DocumentSession} is mutable and
* <strong>not thread-safe</strong>: a single session must be authored from
* one thread at a time. This is the only mutable type in the public API.</p>
*
* <p>Backends ({@code PdfFixedLayoutBackend}, {@code DocxSemanticBackend},
* {@code PptxSemanticBackend}) are immutable after construction and may be
* shared across threads — each {@code render(...)} or {@code export(...)}
* call constructs its own per-pass state.</p>
*
* <p>{@link com.demcha.compose.font.FontLibrary} and the static
* image/font caches are backed by concurrent collections and are safe to
* share across sessions and threads.</p>
*
* <h2>Stability contract</h2>
*
* <p>Types in this package and in {@link com.demcha.compose.document.dsl},
* {@link com.demcha.compose.document.node},
* {@link com.demcha.compose.document.style}, and
* {@link com.demcha.compose.document.templates.api} are public API and follow
* deprecation discipline. Types annotated with
* {@link com.demcha.compose.document.api.Internal @Internal}
* (notably the {@code document.layout} package) are implementation detail
* and may change without notice.</p>
*/
package com.demcha.compose.document.api;