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

## org.modeshape.jcr.query.parse
Class QueryParsers

    java.lang.Object
      org.modeshape.jcr.query.parse.QueryParsers

    @ThreadSafe
    public class QueryParsers

extends Object

A thread-safe collection of `QueryParser` implementations that can be used to parse queries by language.

Constructor Summary
`QueryParsers(Iterable<QueryParser> parsers)` Create a new collection of the supplied `QueryParser` objects.
`QueryParsers(QueryParser... parsers)` Create a new collection of the supplied `QueryParser` objects.

Method Summary
`void` | `addLanguage(QueryParser languageParser)` Add a language to this engine by supplying its parser.
`void` | `addLanguages(Iterable<QueryParser> languages)` Add one or more languages to this engine by supplying the corresponding parsers.
`void` | `addLanguages(QueryParser firstLanguage, QueryParser... additionalLanguages)` Add one or more languages to this engine by supplying the corresponding parsers.
`boolean` | `equals(Object obj)`
`Set<String>` | `getLanguages()` Get the set of languages that this engine is capable of parsing.
`QueryParser` | `getParserFor(String language)` Get the parser for the supplied language.
`int` | `hashCode()`
`QueryCommand` | `parse(TypeSystem typeSystem, String language, String query)` Execute the supplied query by planning, optimizing, and then processing it.
`QueryParser` | `removeLanguage(String language)` Remove from this engine the language with the given name.
`Collection<QueryParser>` | `removeLanguages(String firstLanguage, String... additionalLanguages)` Remove from this engine the language with the given name.
`String` | `toString()`

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

Constructor Detail

### QueryParsers

    public QueryParsers(QueryParser... parsers)

  Create a new collection of the supplied `QueryParser` objects.

  Parameters:
    `parsers` - the parsers

### QueryParsers

    public QueryParsers(Iterable<QueryParser> parsers)

  Create a new collection of the supplied `QueryParser` objects.

  Parameters:
    `parsers` - the parsers

Method Detail

### addLanguage

    public void addLanguage(QueryParser languageParser)

  Add a language to this engine by supplying its parser.

  Parameters:
    `languageParser` - the query parser for the language
  Throws:
    `IllegalArgumentException` - if the language parser is null

### addLanguages

    public void addLanguages(QueryParser firstLanguage,
                             QueryParser... additionalLanguages)

  Add one or more languages to this engine by supplying the corresponding parsers.

  Parameters:
    `firstLanguage` - the query parser for the first language
    `additionalLanguages` - the query parsers for the additional languages
  Throws:
    `IllegalArgumentException` - if the language parser is null

### addLanguages

    public void addLanguages(Iterable<QueryParser> languages)

  Add one or more languages to this engine by supplying the corresponding parsers.

  Parameters:
    `languages` - the query parsers for the languages that are to be added
  Throws:
    `IllegalArgumentException` - if the iterable reference is null

### removeLanguage

    public QueryParser removeLanguage(String language)

  Remove from this engine the language with the given name.

  Parameters:
    `language` - the name of the language, which is to match the `language` of the parser
  Returns:
    the parser for the language, or null if the engine had no support for the named language
  Throws:
    `IllegalArgumentException` - if the language is null

### removeLanguages

    public Collection<QueryParser> removeLanguages(String firstLanguage,
                                                   String... additionalLanguages)

  Remove from this engine the language with the given name.

  Parameters:
    `firstLanguage` - the name of the first language to remove, which must match the `language` of the parser
    `additionalLanguages` - the names of the additional languages to remove, which must match the `language` of the parser
  Returns:
    the parser for the language, or null if the engine had no support for the named language
  Throws:
    `IllegalArgumentException` - if the language is null

### getLanguages

    public Set<String> getLanguages()

  Get the set of languages that this engine is capable of parsing.

  Returns:
    the unmodifiable copy of the set of languages; never null but possibly empty

### getParserFor

    public QueryParser getParserFor(String language)

  Get the parser for the supplied language.

  Parameters:
    `language` - the language in which the query is expressed; must case-insensitively match one of the supported `languages`
  Returns:
    the query parser, or null if the supplied language is not supported
  Throws:
    `IllegalArgumentException` - if the language is null

### parse

    public QueryCommand parse(TypeSystem typeSystem,
                              String language,
                              String query)

  Execute the supplied query by planning, optimizing, and then processing it.

  Parameters:
    `typeSystem` - the type system that should be used
    `language` - the language in which the query is expressed; must case-insensitively match one of the supported `languages`
    `query` - the query that is to be executed
  Returns:
    the parsed query command; never null
  Throws:
    `IllegalArgumentException` - if the language, context or query references are null, or if the language is not known
    `ParsingException` - if there is an error parsing the supplied query
    `InvalidQueryException` - if the supplied query can be parsed but is invalid

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

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

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