AQL Parser

Last modified by Raphaël Jakse on 2026/05/04 16:36

Explanation

AQL (Atlassian Query Language) is the family of query language to which CQL (Confluence Query Language) and JQL (Jira Query Language) belong.

Our AQL Parser module parses this syntax and lets you implement languages of this family. Our CQL Query module does this.

For a description of how this module was designed, please see design.

Basic usage

This module is intended to be used with the Query module. However, if you indeed want to deal with the Abstract Syntax Tree produced by the AQL parser, here's how to parse an AQL statement:

import java.io.IOException;

import javax.inject.Inject;
import javax.inject.Singleton;

import org.xwiki.component.annotation.Component;
import org.xwiki.contrib.cql.aqlparser.AQLParser;
import org.xwiki.contrib.cql.aqlparser.ast.AQLStatement;
import org.xwiki.contrib.cql.aqlparser.exceptions.ParserException;

@Component (roles = DefaultScratch.class)
@Singleton
class DefaultScratch
{
    public void example() throws ParserException, IOException
    {
        AQLStatement cql = AQLParser.parse( "title = 'Main'");
    }
}

See the list of nodes that can be produced by the parser.
 

More

To find more about the current topic, you can search or use the table below and filter the columns to narrow your choices.

Get Connected