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
Articles are the numbered provisions within each regulation. Use client.articles() to list, fetch, and iterate articles for any framework.
Methods
list(String frameworkSlug)
Returns the first page of articles for a framework.
Page<ArticleSummary> page = client.articles().list("gdpr");
for (ArticleSummary a : page.data()) {
System.out.println("Art. " + a.number() + " — " + a.title());
}
Returns Page<ArticleSummary>
list(String frameworkSlug, int page, int perPage)
Fetch a specific page with custom page size.
Page<ArticleSummary> page = client.articles().list("cra", 1, 10);
Parameters
| Parameter | Type | Default | Description |
|---|
frameworkSlug | String | required | Framework slug, e.g. "gdpr" |
page | int | 1 | Page number (1-indexed) |
perPage | int | 20 | Items per page (max 100) |
Returns Page<ArticleSummary>
get()
Fetch full detail for a single article including all paragraphs.
Article article = client.articles().get("gdpr", "17");
System.out.println(article.title()); // Right to erasure
System.out.println(article.number()); // 17
for (var p : article.paragraphs()) {
System.out.println(p.reference() + ": " + p.text());
}
Parameters
| Parameter | Type | Description |
|---|
frameworkSlug | String | Framework slug |
articleNumber | String | Article number, e.g. "17" or "17a" |
Returns Article
Fetch articles related to a given article (cross-references).
Page<ArticleSummary> related = client.articles().related("gdpr", "17");
for (ArticleSummary a : related.data()) {
System.out.println("Related: Art. " + a.number() + " — " + a.title());
}
Returns Page<ArticleSummary>
iter()
Lazily iterate all articles for a framework.
for (ArticleSummary a : client.articles().iter("gdpr")) {
System.out.println(a.number() + " " + a.title());
}
Returns Iterable<ArticleSummary>
Models
ArticleSummary
Returned by list(), related(), and iter().
| Field | Type | Description |
|---|
id() | int | Internal numeric ID |
number() | String | Article number, e.g. "17" |
title() | String | Article title |
frameworkSlug() | String | Parent framework slug |
paragraphCount() | int | Number of paragraphs |
Article
Returned by get(). Includes all ArticleSummary fields plus:
| Field | Type | Description |
|---|
paragraphs() | List<ArticleParagraph> | All paragraphs of the article |
tags() | List<String> | Associated compliance tags |
ArticleParagraph
| Field | Type | Description |
|---|
reference() | String | Paragraph reference, e.g. "1", "1(a)" |
text() | String | Full paragraph text |
Examples
Print all NIS2 articles
for (ArticleSummary a : client.articles().iter("nis2")) {
System.out.printf("Art. %-4s %s%n", a.number(), a.title());
}
Find articles containing specific obligations
Article art = client.articles().get("gdpr", "33");
System.out.println(art.title()); // Notification of a personal data breach
for (var p : art.paragraphs()) {
if (p.text().contains("72 hours")) {
System.out.println("72-hour rule in: " + p.reference());
}
}
Collect all DORA articles into a list
var all = new java.util.ArrayList<ArticleSummary>();
for (ArticleSummary a : client.articles().iter("dora")) {
all.add(a);
}
System.out.println("Total DORA articles: " + all.size());