The A.I. Super-Database

Java-integrated. (Allows custom classes!) Orthogonally persistent with a few rules. Super-flexible. Super-fast. Concurrent. Inter-process accessible.

BTW: The core consists of a little more than 400 lines of JavaX ^^

Example server. Example client. Core.

Judge for yourself: Isn’t that a cute database client?

!752 // Standard JavaX language level

!include #1004681 // Database core
!include #1004848 // AIJob custom class (optional!)

p { // PROGRAM
loadConceptsFrom("#1004845");

for (AIJob job : listConcepts(AIJob.class)) {
S type = job.done ? "DONE Job"
: job.hot ? "HOT JOB" : "Non-hot Job";
print(type + " >> " + job.description);
}
}

Here, we load the other program’s database from disk, which is one simple way of accessing it.

You can also make a live client that communicates with a running program so there are no inter-access problems. And you can add your own inter-process methods to make communication between custom servers and custom clients really fast. Everything is a custom program in JavaX, really. You just make your own DB server instead of using a standard one.

Custom classes are very easy to use too. They’re integrated automatically. Even the typical problem case in this area (you read a database object, but don’t have its custom class) is not a problem at all. You just get a dynamic version of the object (a direct instance of the “Concept” class). The fields of this object can then be accessed (and even changed) using the methods “cget” and “cset”.

And here’s how you declare a custom class, instances of which are automatically persisted:

static class AIJob extends Concept {
String description;
boolean hot;
boolean done;
}

Yes, that’s all you need to write. We don’t want any boilerplate, you know. We can just do without it.™