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

Requirements are structured, machine-readable compliance obligations extracted from articles. They are classified by type and stakeholder role. Use client.requirements() to list and iterate them.

Methods

list()

Returns the first page of requirements across all frameworks.
Page<Requirement> page = client.requirements().list();

for (Requirement r : page.data()) {
    System.out.printf("[%s] %s — %s%n",
        r.frameworkSlug(), r.requirementType(), r.description());
}
Returns Page<Requirement>

list(String frameworkSlug)

Returns the first page of requirements scoped to a specific framework.
Page<Requirement> page = client.requirements().list("cra");
Returns Page<Requirement>

list(String frameworkSlug, int page, int perPage)

Fetch a specific page with custom page size.
Page<Requirement> page = client.requirements().list("nis2", 1, 50);
Parameters
ParameterTypeDefaultDescription
frameworkSlugStringnullScope to one framework (optional)
pageint1Page number (1-indexed)
perPageint20Items per page (max 100)
Returns Page<Requirement>

iter()

Lazily iterate all requirements across all frameworks.
for (Requirement r : client.requirements().iter()) {
    System.out.println(r.description());
}
Returns Iterable<Requirement>

iter(String frameworkSlug)

Lazily iterate all requirements for a specific framework.
for (Requirement r : client.requirements().iter("dora")) {
    System.out.printf("  [%s] %s%n", r.requirementType(), r.description());
}
Returns Iterable<Requirement>

Model

Requirement

FieldTypeDescription
id()intInternal numeric ID
frameworkSlug()StringParent framework slug
articleNumber()StringSource article number
requirementType()Stringe.g. "MUST", "SHOULD", "MAY"
description()StringHuman-readable requirement description
stakeholderRole()StringTarget role, e.g. "manufacturer", "controller"
legalReference()StringArticle and paragraph reference

Examples

List MUST requirements for CRA manufacturers

for (Requirement r : client.requirements().iter("cra")) {
    if ("MUST".equals(r.requirementType()) &&
        "manufacturer".equals(r.stakeholderRole())) {
        System.out.println("Art. " + r.articleNumber() + ": " + r.description());
    }
}

Count requirements by framework

var counts = new java.util.LinkedHashMap<String, Integer>();
for (Requirement r : client.requirements().iter()) {
    counts.merge(r.frameworkSlug(), 1, Integer::sum);
}
counts.forEach((fw, n) -> System.out.printf("%-12s %d requirements%n", fw, n));

Build a compliance checklist

var checklist = new java.util.ArrayList<String>();
for (Requirement r : client.requirements().iter("gdpr")) {
    if ("controller".equals(r.stakeholderRole())) {
        checklist.add("[ ] " + r.description());
    }
}
checklist.forEach(System.out::println);