You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by "mdproctor (via GitHub)" <gi...@apache.org> on 2026/04/10 02:52:10 UTC

[I] Apply Permuplate inline templates to BaseTuple and RuleOOPathBuilder [incubator-kie-drools]

mdproctor opened a new issue, #6658:
URL: https://github.com/apache/incubator-kie-drools/issues/6658

   Part of #6638 (DSL sub-epic) and #6657 (JoinN builder templates).
   
   ## What
   
   Apply `@Permute(inline=true, keepTemplate=true)` to `BaseTuple` and `RuleOOPathBuilder` so Tuple and Path variants are generated rather than hand-written.
   
   **BaseTuple:** `Tuple1`..`Tuple6` are static inner classes of `BaseTuple`. `Tuple1` becomes the template generating `Tuple2`..`TupleN`. Methods: `getA()`, `getB()`, etc. and mutable `set(int, T)`.
   
   **RuleOOPathBuilder:** `Path2`..`Path6` are static inner classes. `Path2` becomes the template generating `Path3`..`PathN`. Method chaining via `.path(fn, flt)` returning the next path builder.
   
   ## Why
   
   These classes follow the exact same arity-growth pattern as Consumer/Predicate/Function (which are already generated). Hand-writing them limits the max arity and creates maintenance burden.
   
   ## Acceptance criteria
   
   - [ ] `BaseTuple.java` moved to `src/main/permuplate/` with `Tuple1` as `@Permute(inline=true)` template
   - [ ] `RuleOOPathBuilder.java` moved to `src/main/permuplate/` with `Path2` as template
   - [ ] All 65 droolsvol2 tests pass
   - [ ] Max arity matches the project's configured bound (currently 10 for joins, TBD for tuples/paths)
   
   ## Depends on
   
   - mdproctor/permuplate#15 (@PermuteImport) — for type-safe imports of generated Tuple/Path types per arity
   - mdproctor/permuplate#16 (expression-based from/to) — desirable but not strictly blocking


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org