Uploaded image for project: 'Commons JEXL'
  1. Commons JEXL
  2. JEXL-250

Safe navigation operator

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.1
    • 3.2
    • None

    Description

      It would be more convenient for a script writer to have a kind of safe navigation operator, in the form of, for example, (object?.property), for null pointer dereferences. I think its quite a common feature of many scripting (and compiled languages) now. The safe operator should work like basic navigation operator for non null values and should short-circuit the entire expression evaluation after encountering null value.

      I see the difference of new operator from the existing lenient mode evaluation in ability to explicitly define places in an expression where null deference is allowed, for example the expression

      Order.Customer?.Name

      defines that each Order should have a Customer and only the Name of the Customer is optional.

      The difference of new operator from the existing null coalescing ?? operator is in its ability to short-circuit evaluation.

      So, safe navigation operator would be a helpful syntaxic sugar which in my opinion does not overlap with an existing functionality.

      Attachments

        Issue Links

          Activity

            People

              henrib Henri Biestro
              dmitri_blinov Dmitri Blinov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: