001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.metaschema.databind.io;
007
008import edu.umd.cs.findbugs.annotations.NonNull;
009
010/**
011 * Provides objects used for parsing data associated with a specific format.
012 *
013 * @param <READER>
014 *          the format specific data reader
015 * @param <PROBLEM_HANDLER>
016 *          the format specific problem handler
017 */
018public interface IParsingContext<READER, PROBLEM_HANDLER extends IProblemHandler> {
019  /**
020   * The parser used for reading data associated with the supported format.
021   *
022   * @return the parser
023   */
024  @NonNull
025  READER getReader();
026
027  /**
028   * A handler that provides callbacks used to resolve parsing issues.
029   *
030   * @return the configured handler
031   */
032  @NonNull
033  PROBLEM_HANDLER getProblemHandler();
034}