Difference between revisions of "Java Examples"

From BaseX Documentation
Jump to navigation Jump to search
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
This page is part of the [[Developer Section]].
 
This page is part of the [[Developer Section]].
The following Java code snippets demonstrate how easy it is to run database commands, create collections, perform queries, etc. by integrating the BaseX code. Most examples are taken from our [https://github.com/BaseXdb/basex-examples/tree/master/src/main/java/org/basex/examples basex-examples] repository, in which you will find some more use cases.
+
The following Java code snippets demonstrate how easy it is to run database commands, create collections, perform queries, etc. by integrating the BaseX code. Most examples are taken from our [https://github.com/BaseXdb/basex/tree/master/basex-examples/src/main/java/org/basex/examples/ basex-examples] repository, in which you will find some more use cases.
  
 
<div style="float:left; width:48%;">
 
<div style="float:left; width:48%;">
Line 23: Line 23:
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/ServerConcurrency.java ServerConcurrency.java]<br/>runs concurrent queries.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/ServerConcurrency.java ServerConcurrency.java]<br/>runs concurrent queries.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/ServerQueries.java ServerQueries.java]<br/>shows how iterative queries can be performed.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/ServerQueries.java ServerQueries.java]<br/>shows how iterative queries can be performed.
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/ServerEventsGUI.java ServerEventsGUI.java]<br/>is a little GUI example for demonstrating database events.
 
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/UserExample.java UserExample.java]<br/>manages database users.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/server/UserExample.java UserExample.java]<br/>manages database users.
  
Line 37: Line 36:
 
</div><div style="float:left; width:4%;">&nbsp;
 
</div><div style="float:left; width:4%;">&nbsp;
 
</div><div style="float:left; width:48%;">
 
</div><div style="float:left; width:48%;">
 
==XQJ API==
 
 
The implementation of the [http://xqj.net/basex/ BaseX XQJ API] (closed-source) has been written by Charles Foster. It uses the client/server architecture.
 
The basex-examples repository contains [https://github.com/BaseXdb/basex-examples/tree/master/src/main/java/org/basex/examples/xqj various examples] on how to use XQJ.
 
  
 
==[[Clients|Client API]]==
 
==[[Clients|Client API]]==
Line 51: Line 45:
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/CreateExample.java CreateExample.java]<br/>shows how new databases can be created.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/CreateExample.java CreateExample.java]<br/>shows how new databases can be created.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/AddExample.java AddExample.java]<br/>shows how documents can be added to databases, and how existing documents can be replaced.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/AddExample.java AddExample.java]<br/>shows how documents can be added to databases, and how existing documents can be replaced.
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/EventExample.java EventExample.java]<br/>demonstrates how to trigger and receive database events.
 
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/BinaryExample.java BinaryExample.java]<br/>shows how binary resource can be added to and retrieved from the database.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/api/BinaryExample.java BinaryExample.java]<br/>shows how binary resource can be added to and retrieved from the database.
  
Line 68: Line 61:
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/xmldb/XMLDBQuery.java XMLDBQuery.java]<br/>runs a query using XML:DB.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/xmldb/XMLDBQuery.java XMLDBQuery.java]<br/>runs a query using XML:DB.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/xmldb/XMLDBInsert.java XMLDBInsert.java]<br/>inserts a document into a database using XML:DB.
 
* [https://github.com/BaseXdb/basex/blob/master/basex-examples/src/main/java/org/basex/examples/xmldb/XMLDBInsert.java XMLDBInsert.java]<br/>inserts a document into a database using XML:DB.
 +
 +
==XQJ API (closed source)==
 +
 +
The implementation of the [http://xqj.net/basex/ BaseX XQJ API] has been written by Charles Foster. The basex-examples repository contains [https://github.com/BaseXdb/basex/tree/master/basex-examples/src/main/java/org/basex/examples/xqj various examples] on how to use XQJ.
 
</div>
 
</div>
 
[[Category:Developer]]
 
 
__NOTOC__
 
__NOTOC__

Latest revision as of 09:42, 6 September 2020

This page is part of the Developer Section. The following Java code snippets demonstrate how easy it is to run database commands, create collections, perform queries, etc. by integrating the BaseX code. Most examples are taken from our basex-examples repository, in which you will find some more use cases.

Local Examples[edit]

The following code snippets work in embedded mode; they do not rely on an additional server instance:

Server Examples[edit]

The examples below take advantage of the client/server architecture:

XQuery Module Examples[edit]

BaseX provides Java Bindings for accessing external Java code via XQuery functions. The following examples show how this feature can be utilized:

  • FruitsExample.java
    demonstrates how Java classes can be imported as XQuery modules.
  • FruitsModule.java
    is a simple demo module called by FruitsExample.
  • ModuleDemo.java
    is a simple XQuery demo module that demonstrates how XQuery items can be processed from Java. It is derived from the QueryModule class.
  • QueryModule.java
    is located in the BaseX core. Java query modules can extend this class to get access to the current query context and enrich functions with properties ().
 

Client API[edit]

REST API[edit]

XML:DB API (deprecated)[edit]

Note that the XML:DB API does not talk to the server and can thus only be used in embedded mode.

XQJ API (closed source)[edit]

The implementation of the BaseX XQJ API has been written by Charles Foster. The basex-examples repository contains various examples on how to use XQJ.