dpmcore.services.dpm_xl
Unified facade over the DPM-XL services. validate_syntax and
validate_semantic wrap SyntaxService
and SemanticService behind a single
entry point.
DpmXlService
- class dpmcore.services.dpm_xl.DpmXlService(session=None)[source]
Bases:
objectOne-stop facade for all DPM-XL operations.
Composes the individual services and provides convenient shortcuts for common workflows.
- Parameters:
session (
Optional[Session]) – An open SQLAlchemy session (optional for syntax-only operations).
- __init__(session=None)[source]
Build the facade, optionally bound to a SQLAlchemy
session.- Parameters:
session (Session | None)
- Return type:
None
- validate_syntax(expression)[source]
Validate syntax only (no DB required).
- Return type:
SyntaxValidationResult- Parameters:
expression (str)
- validate_semantic(expression, release_id=None, release_code=None, *, precondition_expression=None)[source]
Full semantic validation, optionally gated (requires DB).
precondition_expressionis keyword-only and appended after the pre-existing arguments, sovalidate_semantic(expr, 5)still meansrelease_id=5.
- get_parameters(expression, release_id=None, release_code=None)[source]
Return the parameters referenced by expression (requires DB).
Surfaces the runtime-binding contract: each referenced parameter with its declared type, set-ness and default. Returns an empty tuple when the expression references no parameters or fails validation.