Editions Mappers Use Cases Documentation Community Download Get Started →
Format Engines

Three formats, one NodeCursor

TwinMapper supports YAML, JSON, and BPMN XML as both definition formats and runtime binding targets. The NodeCursor abstraction unifies them all — generated binders have zero direct dependency on any parser library.

Core Abstraction

NodeCursor — format-neutral traversal

NodeCursor is the core runtime abstraction that decouples format parsing from binding logic. Each format module provides its own NodeCursor implementation backed by its native parser (SnakeYAML, Jackson, JDK StAX). Generated binders depend only on NodeCursor.

NodeCursor provides: field existence checks with alias support, required and optional scalar reads with type safety, nested object access, list and map child access, source location tracking, field path tracking for diagnostics, and depth limiting for DoS prevention.

Read the NodeCursor spec →
Binding Pipeline

One interface. Every format.

The complete binding pipeline: Format Parser → NodeCursor → Generated Binder → Generated DTO → BindingResult<T>. The result carries the populated DTO or accumulated errors — never throws on binding failure.

Explore the Document Binding Spec

Detailed documentation on the NodeCursor contract, BindingContext, BindingResult, error accumulation, and format-specific behaviors.

Read the spec →