Verified Owner
Top Description Fields Constructors Methods
org.jabref.logic.search.query

public Class SearchToLuceneVisitor

extends SearchBaseVisitor<String>
Class Inheritance
Imports
java.util.EnumSet, .List, .Locale, org.jabref.model.search.LinkedFilesConstants, .SearchFlags, org.jabref.model.search.query.SearchQuery, org.jabref.search.SearchBaseVisitor, .SearchParser, org.apache.lucene.queryparser.classic.QueryParser

Tests are located in org.jabref.logic.search.query.SearchQueryLuceneConversionTest.

Field Summary

Modifier and TypeField and Description
private final EnumSet<SearchFlags>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private String
buildFieldExpression(String field, String term, int operator, boolean isQuoted)

private static String
private static String
private static boolean
isNegationOperator(int operator)

private static boolean
isRegexOperator(int operator)

private boolean
isValidField(String field)

A valid field is a field that is supported by the Lucene index.

public String
public String
public String
public String
public String
public String
Inherited from org.jabref.search.SearchBaseVisitor:
visitComparisonExpressionvisitOperatorvisitSearchValue

Field Detail

searchFlagsback to summary
private final EnumSet<SearchFlags> searchFlags

Constructor Detail

SearchToLuceneVisitorback to summary
public SearchToLuceneVisitor(EnumSet<SearchFlags> searchFlags)

Method Detail

buildFieldExpressionback to summary
private String buildFieldExpression(String field, String term, int operator, boolean isQuoted)
escapeForLuceneback to summary
private static String escapeForLucene(String term)
escapeQuotesback to summary
private static String escapeQuotes(String term)
isNegationOperatorback to summary
private static boolean isNegationOperator(int operator)
isRegexOperatorback to summary
private static boolean isRegexOperator(int operator)
isValidFieldback to summary
private boolean isValidField(String field)

A valid field is a field that is supported by the Lucene index. Currently, Lucene is used for files only. Metadata of the files is stored in the BibEntry. Thus, it does not make sense to search for "author" as field name as this is not stored in the Lucene index.

visitBinaryExpressionback to summary
public String visitBinaryExpression(SearchParser.BinaryExpressionContext ctx)

Overrides org.jabref.search.SearchBaseVisitor.visitBinaryExpression.

Implements org.jabref.search.SearchVisitor.visitBinaryExpression.

Doc from org.jabref.search.SearchBaseVisitor.visitBinaryExpression.

Visit a parse tree produced by the binaryExpression labeled alternative in SearchParser#expression.

The default implementation returns the result of calling visitChildren on ctx.

Annotations
@Override
visitComparisonback to summary
public String visitComparison(SearchParser.ComparisonContext ctx)

Overrides org.jabref.search.SearchBaseVisitor.visitComparison.

Implements org.jabref.search.SearchVisitor.visitComparison.

Doc from org.jabref.search.SearchBaseVisitor.visitComparison.

Visit a parse tree produced by SearchParser#comparison.

The default implementation returns the result of calling visitChildren on ctx.

Annotations
@Override
visitImplicitAndExpressionback to summary
public String visitImplicitAndExpression(SearchParser.ImplicitAndExpressionContext ctx)

Overrides org.jabref.search.SearchBaseVisitor.visitImplicitAndExpression.

Implements org.jabref.search.SearchVisitor.visitImplicitAndExpression.

Doc from org.jabref.search.SearchBaseVisitor.visitImplicitAndExpression.

Visit a parse tree produced by the implicitAndExpression labeled alternative in SearchParser#andExpression.

The default implementation returns the result of calling visitChildren on ctx.

Annotations
@Override
visitNegatedExpressionback to summary
public String visitNegatedExpression(SearchParser.NegatedExpressionContext ctx)

Overrides org.jabref.search.SearchBaseVisitor.visitNegatedExpression.

Implements org.jabref.search.SearchVisitor.visitNegatedExpression.

Doc from org.jabref.search.SearchBaseVisitor.visitNegatedExpression.

Visit a parse tree produced by the negatedExpression labeled alternative in SearchParser#expression.

The default implementation returns the result of calling visitChildren on ctx.

Annotations
@Override
visitParenExpressionback to summary
public String visitParenExpression(SearchParser.ParenExpressionContext ctx)

Overrides org.jabref.search.SearchBaseVisitor.visitParenExpression.

Implements org.jabref.search.SearchVisitor.visitParenExpression.

Doc from org.jabref.search.SearchBaseVisitor.visitParenExpression.

Visit a parse tree produced by the parenExpression labeled alternative in SearchParser#expression.

The default implementation returns the result of calling visitChildren on ctx.

Annotations
@Override
visitStartback to summary
public String visitStart(SearchParser.StartContext ctx)

Overrides org.jabref.search.SearchBaseVisitor.visitStart.

Implements org.jabref.search.SearchVisitor.visitStart.

Doc from org.jabref.search.SearchBaseVisitor.visitStart.

Visit a parse tree produced by SearchParser#start.

The default implementation returns the result of calling visitChildren on ctx.

Annotations
@Override