com.github.fge.jsonschema.core.processing
Interface Processor<IN extends MessageProvider,OUT extends MessageProvider>

Type Parameters:
IN - input type for that processor
OUT - output type for that processor
All Known Implementing Classes:
CachingProcessor, RawProcessor, RefResolver, SyntaxProcessor

public interface Processor<IN extends MessageProvider,OUT extends MessageProvider>

Main processing interface

Note that it is required that both inputs and outputs implement MessageProvider: this allows a processor to grab a context-dependent message to include into the report should the need arise. A ProcessingReport is passed as an argument so that the processor can add debug/info/warning/error messages.

Ideally, processors should not throw unchecked exceptions.


Method Summary
 OUT process(ProcessingReport report, IN input)
          Process the input
 

Method Detail

process

OUT process(ProcessingReport report,
            IN input)
                                    throws ProcessingException
Process the input

Parameters:
report - the report to use while processing
input - the input for this processor
Returns:
the output
Throws:
ProcessingException - processing failed