Filter Expressions

The following grammar describes the syntax of a JDOQL filter:

            Expression:
        ConditionalOrExpression

            ConditionalOrExpression:
        ConditionalAndExpression
            ConditionalOrExpression || ConditionalAndExpression

            ConditionalAndExpression:
        InclusiveOrExpression
            ConditionalAndExpression && InclusiveOrExpression

            InclusiveOrExpression:
        AndExpression
            InclusiveOrExpression | AndExpression

            AndExpression:
        EqualityExpression
            AndExpression & EqualityExpression

            EqualityExpression:
        RelationalExpression
            EqualityExpression == RelationalExpression
            EqualityExpression != RelationalExpression

            RelationalExpression:
        AdditiveExpression
            RelationalExpression <  AdditiveExpression
            RelationalExpression >  AdditiveExpression
            RelationalExpression <= AdditiveExpression
            RelationalExpression >= AdditiveExpression

            AdditiveExpression:
        MultiplicativeExpression
            AdditiveExpression + MultiplicativeExpression
            AdditiveExpression - MultiplicativeExpression

            MultiplicativeExpression:
        UnaryExpression
            MultiplicativeExpression * UnaryExpression
            MultiplicativeExpression / UnaryExpression

            UnaryExpression:
        + UnaryExpression
        - UnaryExpression
            UnaryExpressionNotPlusMinus

            UnaryExpressionNotPlusMinus:
        PostfixExpression
        ~ UnaryExpression
        ! UnaryExpression
            CastExpression

            PostfixExpression:
        Primary
            Name


            CastExpression:
        ( Type ) UnaryExpression

            Primary:
        Literal
            this
        ( Expression )
        FieldAccess
            MethodInvocation

            FieldAccess:
        Primary . Identifier

            MethodInvocation:
        Primary . Identifier ( )
        Primary . Identifier ( ArgumentList )

ArgumentList ...

Get Java Data Objects now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.