package org.basex.examples.xqj.tutorial; import javax.xml.xquery.*; import net.xqj.basex.*; /** * XQJ Examples, derived from an * <a href="https://www.progress.com/products/data-integration-suite/data-integration-suite-developer-center/data-integration-suite-tutorials/learning-xquery/introduction-to-the-xquery-api-for-java-xqj-"> * XQJ online tutorial</a>. * * @author BaseX Team 2005-17, BSD License */ abstract class Main { /** * Initializes the query example. * @param info info */ static void init(final String info) { System.out.println("=== XQJ Tutorial/xquery.com ==="); System.out.println("Part " + info); } /** * Creates and returns a default connection. * @return connection instance */ static XQConnection connect() { return new BaseXXQDataSource().getConnection("admin", "admin"); } /** * Closes the specified connection. * @param xqc connection to be closed * @throws XQException connection exception */ static void close(final XQConnection xqc) throws XQException { xqc.close(); } /** * Shows some query info. * @param info info text */ static void info(final String info) { System.out.println("\n* " + info); } /** * Prints the entries of a sequence. * @param info query information * @param xqs sequence * @throws XQException query exception */ static void print(final String info, final XQSequence xqs) throws XQException { info(info); xqs.writeSequence(System.out, null); System.out.println(); } /** * Prints the result of an expression. * @param info query info * @param xqp prepared query expression */ static void print(final String info, final XQPreparedExpression xqp) { info(info); try { xqp.executeQuery().writeSequence(System.out, null); } catch(final XQException ex) { ex.printStackTrace(); } System.out.println(); } }