Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.law4devs.eu/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Annexes contain supplementary material referenced by articles — including technical specifications, classification tables, and approved lists. Use client.annexes() to access them.

Methods

list(String frameworkSlug)

Returns the first page of annexes for a framework.
Page<AnnexSummary> page = client.annexes().list("cra");

for (AnnexSummary a : page.data()) {
    System.out.println("Annex " + a.number() + ": " + a.title());
}
Returns Page<AnnexSummary>

list(String frameworkSlug, int page, int perPage)

Fetch a specific page with custom page size.
Page<AnnexSummary> page = client.annexes().list("cra", 1, 10);
Parameters
ParameterTypeDefaultDescription
frameworkSlugStringrequiredFramework slug, e.g. "cra"
pageint1Page number (1-indexed)
perPageint20Items per page (max 100)
Returns Page<AnnexSummary>

get()

Fetch full detail for a single annex including all sections.
Annex annex = client.annexes().get("cra", "I");

System.out.println(annex.title()); // Essential cybersecurity requirements
for (var section : annex.sections()) {
    System.out.println(section.reference() + ": " + section.text());
}
Parameters
ParameterTypeDescription
frameworkSlugStringFramework slug
annexNumberStringAnnex identifier, e.g. "I", "II"
Returns Annex

iter()

Lazily iterate all annexes for a framework.
for (AnnexSummary a : client.annexes().iter("cra")) {
    System.out.println("Annex " + a.number() + ": " + a.title());
}
Returns Iterable<AnnexSummary>

Models

AnnexSummary

Returned by list() and iter().
FieldTypeDescription
id()intInternal numeric ID
number()StringAnnex identifier, e.g. "I"
title()StringAnnex title
frameworkSlug()StringParent framework slug
sectionCount()intNumber of sections

Annex

Returned by get(). Includes all AnnexSummary fields plus:
FieldTypeDescription
sections()List<AnnexSection>All sections of this annex

AnnexSection

FieldTypeDescription
reference()StringSection reference, e.g. "1", "1(a)"
text()StringFull section text

Examples

List all CRA annexes

for (AnnexSummary a : client.annexes().iter("cra")) {
    System.out.printf("Annex %-4s %s (%d sections)%n",
        a.number(), a.title(), a.sectionCount());
}

Extract all security requirements from CRA Annex I

Annex annexI = client.annexes().get("cra", "I");
System.out.println("# " + annexI.title() + "\n");
for (var section : annexI.sections()) {
    System.out.println(section.reference() + ". " + section.text());
}