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

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`

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