Package com.io7m.coffeepick.runtime.parser.api

# Class CoffeePickParsers

java.lang.Object
com.io7m.coffeepick.runtime.parser.api.CoffeePickParsers

All Implemented Interfaces:
  `CoffeePickParsersType`

    public final class CoffeePickParsers
    extends java.lang.Object
    implements CoffeePickParsersType

The default implementation of the `CoffeePickParsersType` interface.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static CoffeePickParsersType` | `createFrom​(java.util.List<SPIParserProviderType> in_providers)` | Create a new parser provider, using parsers from the given list of providers.
  `static CoffeePickParsersType` | `createFromServiceLoader()` | Create a new parser provider, loading parsers via `ServiceLoader`.
  `CoffeePickParserType` | `createParser​(CoffeePickParseRequest request)` | Create a parser for the given request, probing the input stream for format information and using this to pick an appropriate parser implementation.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### createFromServiceLoader

    public static CoffeePickParsersType createFromServiceLoader()
    Create a new parser provider, loading parsers via `ServiceLoader`.
    Returns:
      A new parser provider

  - ### createFrom

    public static CoffeePickParsersType createFrom​(java.util.List<SPIParserProviderType> in_providers)
    Create a new parser provider, using parsers from the given list of providers.
    Parameters:
      `in_providers` - The list of providers
    Returns:
      A new parser provider

  - ### createParser

    public CoffeePickParserType createParser​(CoffeePickParseRequest request) throws java.io.IOException, ParserFailureException
    Description copied from interface: `CoffeePickParsersType`
    Create a parser for the given request, probing the input stream for format information and using this to pick an appropriate parser implementation.
    Specified by:
      `createParser` in interface `CoffeePickParsersType`
    Parameters:
      `request` - The parse request
    Returns:
      A parser
    Throws:
      `java.io.IOException` - On I/O errors
      `ParserFailureException` - On parser configuration problems, such as there not being an available provider for the detected format