From 5ec07da90b3ca20dda92366bd11fae2126984cf7 Mon Sep 17 00:00:00 2001 From: Collin Date: Fri, 15 Mar 2024 17:08:02 +0000 Subject: [PATCH] Add Java Client --- guide/clients.md | 1 + guide/java.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 guide/java.md diff --git a/guide/clients.md b/guide/clients.md index e59a2c8..6384513 100644 --- a/guide/clients.md +++ b/guide/clients.md @@ -3,6 +3,7 @@ To use LonaDB for your own project, you need to use one of the clients. [PHP](https://docs.lona-development.org/guide/php.html)
[JavaScript](https://docs.lona-development.org/guide/javascript.html)
+[Java](https://docs.lona-development.org/guide/java.html) [Python](https://docs.lona-development.org/guide/python.html) We are interested in making LonaDB available in more languages but we are a small team of 4 developers.
diff --git a/guide/java.md b/guide/java.md new file mode 100644 index 0000000..56ce0f8 --- /dev/null +++ b/guide/java.md @@ -0,0 +1,82 @@ +## Installation + +You can use the LonaDB Java Client by adding it as a dependency in your Maven project. Follow these steps to include LonaDB in your project: + +1. Add the GitHub Packages repository to your `pom.xml` file: + +```xml + + + github + GitHub Packages + https://maven.pkg.github.com/LonaDB/Clients + + +``` + +2. Add the LonaDB dependency to your `pom.xml` file: + +```xml + + + org.lona-development.java-client + lonadb + 2.1.3 + + +``` + +## Usage + +To use the `LonaDB` Java Client, follow these steps: + +1. Import the `LonaDB` class in your Java file: + +```java +import org.lona_development.java_client.lonadb; +``` + +2. Create an instance of the `lonadb` class by providing the required connection details: + +```java +lonadb client = new lonadb(host, port, name, password); +``` + +Replace `host`, `port`, `name`, and `password` with the appropriate values for your LonaDB Server. + +3. Use the provided methods to interact with the server: + +```java +// Example: Get a list of tables +String tables = client.getTables("username"); + +// Display the list of tables +System.out.println(tables); +``` + +## Available Methods + +The following methods are available in the `LonaDB` Java Client: + +- `getTables(username)`: Retrieves a list of tables available in the database. +- `getTableData(table)`: Retrieves data from a specified table. +- `deleteTable(name)`: Deletes a table by its name. +- `createTable(name)`: Creates a new table with the given name. +- `set(table, name, value)`: Sets a variable within a table to the specified value. +- `delete(table, name)`: Deletes a variable from a table. +- `get(table, name)`: Retrieves the value of a variable from a table. +- `getUsers()`: Retrieves a list of users in the database. +- `createUser(name, password)`: Creates a new user with the given name and password. +- `deleteUser(name)`: Deletes a user by their name. +- `checkPassword(name, password)`: Checks if the provided password is correct for a given user. +- `checkPermission(user, permission)`: Checks if a user has a specific permission. +- `removePermission(user, permission)`: Removes a permission from a user. +- `getPermissionsRaw(name)`: Retrieves the raw permission data for a user. +- `addPermission(user, permission)`: Adds a permission to a user. +- `createFunction(name, content)`: Create a function which can be executed whenever you want. Just like eval. Content = string of Java code. +- `executeFunction(name)`: Executes the function. +- `eval(function)`: Runs the function (must be a string of Java code). + +## License + +This project is licensed under the GNU Affero General Public License version 3 (GNU AGPL-3.0). \ No newline at end of file