Top Inners Fields Constructors Methods
org.jabref.logic.search

public Class SearchQuery

extends Object
implements SearchMatcher
Class Inheritance
All Implemented Interfaces
org.jabref.model.search.SearchMatcher
Imports
java.util.Collections, .EnumSet, .List, .Objects, .Optional, java.util.regex.Pattern, java.util.stream.Collectors, .Stream, org.jabref.logic.l10n.Localization, org.jabref.model.entry.BibEntry, org.jabref.model.search.SearchMatcher, org.jabref.model.search.rules.ContainsBasedSearchRule, .GrammarBasedSearchRule, .SearchRule, .SearchRules, .SentenceAnalyzer

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static enum
SearchQuery.EscapeMode

The mode of escaping special characters in regular expressions

Field Summary

Modifier and TypeField and Description
private final String
private final SearchRule
private EnumSet<SearchRules.SearchFlags>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private String
public Optional<Pattern>
private String
private String
public Optional<Pattern>
public String
private String
public SearchRule
public EnumSet<SearchRules.SearchFlags>
public List<String>
getSearchWords()

Returns a list of words this query searches for.

public boolean
public boolean

Returns:

true if the query is an advanced search query
isGrammarBasedSearch
()

Tests if the query is an advanced search query described as described in the help

public boolean
public boolean
private Optional<Pattern>
joinWordsToPattern(SearchQuery.EscapeMode
the mode of escaping special characters in wi
escapeMode
)

Returns a regular expression pattern in the form (w1)|(w2)| ...

public String
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

queryback to summary
private final String query
ruleback to summary
private final SearchRule rule
searchFlagsback to summary
private EnumSet<SearchRules.SearchFlags> searchFlags

Constructor Detail

SearchQueryback to summary
public SearchQuery(String query, EnumSet<SearchRules.SearchFlags> searchFlags)

Method Detail

getCaseSensitiveDescriptionback to summary
private String getCaseSensitiveDescription()
getJavaScriptPatternForWordsback to summary
public Optional<Pattern> getJavaScriptPatternForWords()
getLocalizedCaseSensitiveDescriptionback to summary
private String getLocalizedCaseSensitiveDescription()
getLocalizedRegularExpressionDescriptionback to summary
private String getLocalizedRegularExpressionDescription()
getPatternForWordsback to summary
public Optional<Pattern> getPatternForWords()
getQueryback to summary
public String getQuery()
getRegularExpressionDescriptionback to summary
private String getRegularExpressionDescription()
getRuleback to summary
public SearchRule getRule()
getSearchFlagsback to summary
public EnumSet<SearchRules.SearchFlags> getSearchFlags()
getSearchWordsback to summary
public List<String> getSearchWords()

Returns a list of words this query searches for. The returned strings can be a regular expression.

isContainsBasedSearchback to summary
public boolean isContainsBasedSearch()
isGrammarBasedSearchback to summary
public boolean isGrammarBasedSearch()

Tests if the query is an advanced search query described as described in the help

Returns:boolean

true if the query is an advanced search query

isMatchback to summary
public boolean isMatch(BibEntry entry)

Implements org.jabref.model.search.SearchMatcher.isMatch.

Annotations
@Override
isValidback to summary
public boolean isValid()
joinWordsToPatternback to summary
private Optional<Pattern> joinWordsToPattern(SearchQuery.EscapeMode escapeMode)

Returns a regular expression pattern in the form (w1)|(w2)| ... wi are escaped if no regular expression search is enabled

Parameters
escapeMode:SearchQuery.EscapeMode

the mode of escaping special characters in wi

localizeback to summary
public String localize()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
org.jabref.logic.search back to summary

private sealed Enum SearchQuery.EscapeMode

extends Enum<SearchQuery.EscapeMode>
Class Inheritance

The mode of escaping special characters in regular expressions

Field Summary

Modifier and TypeField and Description
public static final SearchQuery.EscapeMode
JAVA

using \Q and \E marks

public static final SearchQuery.EscapeMode
JAVASCRIPT

escaping all javascript regex special characters separately

private static final Pattern
JAVASCRIPT_ESCAPED_CHARS_PATTERN

Regex pattern for escaping special characters in javascript regular expressions

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv abstract String

Returns:

a regex with all special characters escaped
format
(String
a string containing a regex expression
regex
)

Attempt to escape all regex special characters.

public static SearchQuery.EscapeMode
public static SearchQuery.EscapeMode[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

JAVAback to summary
public static final SearchQuery.EscapeMode JAVA

using \Q and \E marks

JAVASCRIPTback to summary
public static final SearchQuery.EscapeMode JAVASCRIPT

escaping all javascript regex special characters separately

JAVASCRIPT_ESCAPED_CHARS_PATTERNback to summary
private static final Pattern JAVASCRIPT_ESCAPED_CHARS_PATTERN

Regex pattern for escaping special characters in javascript regular expressions

Constructor Detail

EscapeModeback to summary
private EscapeMode()

Method Detail

formatback to summary
pack-priv abstract String format(String regex)

Attempt to escape all regex special characters.

Parameters
regex:String

a string containing a regex expression

Returns:String

a regex with all special characters escaped

valueOfback to summary
public static SearchQuery.EscapeMode valueOf(String name)
valuesback to summary
public static SearchQuery.EscapeMode[] values()