Skip to content

Expression language capability #18

Description

@pvlasov

Currently SpEL is the hardcoded expression language for reflective wiring annotations (https://docs.nasdanika.org/core/graph/index.html#wiring).

With the introduction of the capability framework it makes sense to add support of multiple expression languages:

  • Add expressionLanguage attribute to annotations which evaluate expressions. Set default to spel
  • Create ExpressionLanguageRequirement record taking language name
  • Add SpEL capability factory in the capability module
  • Add Groovy capability factory in the groovy module (create)
  • For annotations in common (Reflector) - create a subclass in Capability (CapabilityReflector) overriding methods which evaluate expressions, keep SpEL as default in common, throw UnsupportedOperationException for languages other than SpEL
  • Update Javadoc in annotations which use SpEL
  • Also update AbstractDrawioFactory and documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions