public JobRowFilter(@NotNull String filterQuery) throws BadFilterException {
  LOG.trace("filterQuery: {}",filterQuery);
  Matcher tokenizedQuery=QUERY_PATTERN.matcher(filterQuery);
  if (!tokenizedQuery.matches()) {
    LOG.debug(FILTER_INVALID.logFormat(filterQuery));
    throw new BadFilterException(FILTER_INVALID.format(filterQuery));
  }
  jobField=extractJobField(tokenizedQuery);
  operation=extractOperation(tokenizedQuery);
  values=extractValues(tokenizedQuery,filterQuery);
}

public JobRowFilter ( @ NotNull String filterQuery ) throws BadFilterException { LOG . trace ( "filterQuery: {}" , filterQuery ) ; Matcher tokenizedQuery = QUERY_PATTERN . matcher ( filterQuery ) ; if ( ! tokenizedQuery . matches ( ) ) { LOG . debug ( FILTER_INVALID . logFormat ( filterQuery ) ) ; throw new BadFilterException ( FILTER_INVALID . format ( filterQuery ) ) ; } jobField = extractJobField ( tokenizedQuery ) ; operation = extractOperation ( tokenizedQuery ) ; values = extractValues ( tokenizedQuery , filterQuery ) ; }
parses the url apijobstore filter query and generates the jobrowfilter object .
