Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.graph.query.parse
Class FullTextSearchParser

    java.lang.Object
      org.modeshape.graph.query.parse.FullTextSearchParser

    public class FullTextSearchParser

extends Object

A `QueryParser` implementation that parses a full-text search expression. This grammar is based on the full-text search grammar as defined by the JCR 2.0 specification.

### Grammar

The grammar for the full-text expression is taken from the JCR 2.0 specification, and is as follows:

     FulltextSearch ::= Disjunct {Space 'OR' Space Disjunct}
     Disjunct ::= Term {Space Term}
     Term ::= ['-'] SimpleTerm
     SimpleTerm ::= Word | '"' Word {Space Word} '"'
     Word ::= NonSpaceChar {NonSpaceChar}
     Space ::= SpaceChar {SpaceChar}
     NonSpaceChar ::= Char - SpaceChar /* Any Char except SpaceChar */
     SpaceChar ::= ' '
     Char ::= /* Any character */

Nested Class Summary
`static class` | `FullTextSearchParser.TermTokenizer` A basic `TokenStream.Tokenizer` implementation that ignores whitespace but includes tokens for individual symbols, the period ('.'), single-quoted strings, double-quoted strings, whitespace-delimited words, and optionally comments.

Constructor Summary
`FullTextSearchParser()`

Method Summary
`FullTextSearch.Term` | `parse(String fullTextSearchExpression)` Parse the full-text search criteria given in the supplied string.
`FullTextSearch.Term` | `parse(TokenStream tokens)` Parse the full-text search criteria from the supplied token stream.
`protected FullTextSearch.Term` | `parseDisjunctedTerms(TokenStream tokens)`
`protected FullTextSearch.Term` | `parseTerm(TokenStream tokens)`
`protected String` | `removeQuotes(String text)` Remove any leading and trailing single- or double-quotes from the supplied text.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FullTextSearchParser

    public FullTextSearchParser()

Method Detail

### parse

    public FullTextSearch.Term parse(String fullTextSearchExpression)

  Parse the full-text search criteria given in the supplied string.

  Parameters:
    `fullTextSearchExpression` - the full-text search expression; may not be null
  Returns:
    the term representation of the full-text search, or null if there are no terms
  Throws:
    `ParsingException` - if there is an error parsing the supplied string
    `IllegalArgumentException` - if the expression is null

### parse

    public FullTextSearch.Term parse(TokenStream tokens)

  Parse the full-text search criteria from the supplied token stream. This method is useful when the full-text search expression is included in other content.

  Parameters:
    `tokens` - the token stream containing the full-text search starting on the next token
  Returns:
    the term representation of the full-text search, or null if there are no terms
  Throws:
    `ParsingException` - if there is an error parsing the supplied string
    `IllegalArgumentException` - if the token stream is null

### parseDisjunctedTerms

    protected FullTextSearch.Term parseDisjunctedTerms(TokenStream tokens)

### parseTerm

    protected FullTextSearch.Term parseTerm(TokenStream tokens)

### removeQuotes

    protected String removeQuotes(String text)

  Remove any leading and trailing single- or double-quotes from the supplied text.

  Parameters:
    `text` - the input text; may not be null
  Returns:
    the text without leading and trailing quotes, or `text` if there were no quotes

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.