Skip to content

Conversation

@rousso
Copy link
Contributor

@rousso rousso commented Feb 2, 2026

This PR enhances the eforms-core-java SDK entity model with hierarchy awareness and structural metadata to support tighter type checking and validation.

Key Changes:

  1. Hierarchy Traversal (TEDEFO-4821)

    • Adds parent references to SdkNode with ancestry caching
    • Implements repeatable property on SdkField
    • Introduces two-pass loading for context-aware dependency injection
    • Enables navigation of the SDK entity tree
  2. XPath Information (TEDEFO-4822)

    • Adds getXpathInfo() method to SdkField
    • Provides lazy-initialized XPath structure parsing
    • Supports path-based field analysis
  3. Module Reorganization (TEDEFO-2129)

    • Relocates versioned SDK entity classes from EXT to ECL
    • Improves module structure and dependencies

Benefits:

  • Enables context-aware type checking based on field hierarchy
  • Supports repeatability analysis for validation rules
  • Provides foundation for more sophisticated EFX expression validation

Impact:
Foundation layer changes that enable downstream projects (efx-toolkit-java) to perform stricter type validation.

- SdkNode: Add parent reference and getAncestry() with caching
- SdkField: Add repeatable property and parentNode reference
- SdkNodeRepository: Two-pass loading to wire parent relationships
- SdkFieldRepository: Optional parentNode wiring via SdkNodeRepository
- MapFromJson: Context-aware constructor for dependency injection
Lazy-initialized XPathInfo provides parsed XPath structure.
@bertrand-lorentz bertrand-lorentz merged commit 53fc630 into develop Feb 3, 2026
5 checks passed
@bertrand-lorentz bertrand-lorentz deleted the TEDEFO-4806-tighter-type-checking branch February 3, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants