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 viaServiceLoader
.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.
-
Method Details
-
createFromServiceLoader
Create a new parser provider, loading parsers viaServiceLoader
.- Returns:
- A new parser provider
-
createFrom
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, ParserFailureExceptionDescription 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 interfaceCoffeePickParsersType
- Parameters:
request
- The parse request- Returns:
- A parser
- Throws:
java.io.IOException
- On I/O errorsParserFailureException
- On parser configuration problems, such as there not being an available provider for the detected format
-