package org.basex.examples.local; import org.basex.core.*; import org.basex.core.cmd.*; /** * This class shows the basic usage of the BaseX collection commands. * Collections provide access to several XML documents inside one database. * Collections may be created by importing a folder or adding single files. * For some XQuery examples in a collection context, * please see {@link QueryCollection} * * @author BaseX Team 2005-17, BSD License * @author BaseXTeam */ public final class CreateCollection { /** * Runs the example code. * @param args (ignored) command-line arguments * @throws BaseXException if a database command fails */ public static void main(final String... args) throws BaseXException { // Create database context Context context = new Context(); System.out.println("=== CreateCollection ==="); // You can modify the CREATEFILTER property to import XML // files with suffixes other than XML (for example KML): new Set("CREATEFILTER", "*.xml").execute(context); // Variant 1: // Create a collection and add all documents within the specified path System.out.println("\n* Create a collection."); new CreateDB("Collection", "src/main/resources/").execute(context); new DropDB("Collection").execute(context); // Variant 2: // Or: Create an empty collection, add documents in a second pass // and optimize the database to refresh the index structures System.out.println("\n* Create an empty collection and add documents."); new CreateDB("Collection").execute(context); new Add("", "src/main/resources/").execute(context); new Optimize().execute(context); // Remove a single document from the collection System.out.println("\n* Remove a single document."); new Delete("test.xml").execute(context); // Show information on the currently opened database System.out.println("\n* Show database information:"); System.out.println(new InfoDB().execute(context)); // Drop the database System.out.println("\n* Drop the collection."); new DropDB("Collection").execute(context); // Close the database context context.close(); } }