package org.basex.build; import static org.basex.util.Token.*; import java.io.*; import org.basex.core.*; import org.basex.io.*; /** * This class defines an abstract parser for single resources. * * @author BaseX Team 2005-17, BSD License * @author Christian Gruen */ public abstract class SingleParser extends Parser { /** Builder reference. */ protected Builder builder; /** * Constructor. * @param source input source * @param opts database options */ protected SingleParser(final IO source, final MainOptions opts) { super(source, opts); } @Override public final void parse(final Builder build) throws IOException { builder = build; builder.openDoc(token(target + source.name())); parse(); builder.closeDoc(); } /** * Parses the current input. * @throws IOException I/O exception */ protected abstract void parse() throws IOException; }