This glossary defines the core technical terms, domain concepts, and implementation-specific jargon used within the APIJSON codebase. It is intended to help onboarding engineers navigate the architectural layers and the JSON-to-SQL transformation pipeline.
The central engine responsible for orchestrating the parsing of a JSON request. It manages the lifecycle of the request, handles global configuration (like MAX_QUERY_DEPTH), and coordinates with Verifier and SQLExecutor.
apijson.orm.AbstractParser APIJSONORM/src/main/java/apijson/orm/AbstractParser.java39-40parse APIJSONORM/src/main/java/apijson/orm/AbstractParser.java279-280 setMethod APIJSONORM/src/main/java/apijson/orm/AbstractParser.java246-250A configuration object that stores the metadata required to build a SQL statement. It handles dialect-specific logic (e.g., MySQL vs. PostgreSQL) and maps JSON keys to database columns.
apijson.orm.AbstractSQLConfig APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java27-28gainSQL APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java171 getDatabase APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java1444-1447The component that interacts with the JDBC layer. It executes the SQL generated by SQLConfig and converts ResultSet data back into JSON-compatible Maps.
apijson.orm.AbstractSQLExecutor APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java28-29execute APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java169 executeQuery APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java145-148Custom logic defined on the server that can be invoked via the JSON request using the key() syntax. These functions can be written in Java or via a script engine (e.g., JavaScript/LUA).
apijson.orm.AbstractFunctionParser APIJSONORM/src/main/java/apijson/orm/AbstractFunctionParser.java23-24ENABLE_REMOTE_FUNCTION APIJSONORM/src/main/java/apijson/orm/AbstractFunctionParser.java33The following diagram illustrates how a raw JSON Request is transformed into executable code entities within the APIJSON framework.
JSON to Code Entity Mapping
Sources: APIJSONORM/src/main/java/apijson/orm/AbstractParser.java39-40 APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java27-28 APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java32-33
| Term | Definition | Code Pointer |
|---|---|---|
| Access | Metadata table defining RBAC (Role-Based Access Control) permissions for tables. | apijson.orm.model.Access APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java35 |
| Dialect | Database-specific SQL syntax variations (e.g., LIMIT vs ROWNUM). | DATABASE_LIST APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java146-170 |
| Fake Delete | A soft-delete mechanism where records are marked as deleted rather than removed. | ACCESS_FAKE_DELETE_MAP APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java115 |
| Join | Configuration for multi-table association (LEFT, INNER, etc.). | apijson.orm.Join APIJSONORM/src/main/java/apijson/orm/Join.java17 |
| MethodAccess | An annotation used to define default permissions directly on model classes. | SYSTEM_ACCESS_MAP initialization APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java157-161 |
| Structure | Validation rules (MUST, REFUSE, etc.) stored in the Request table. | REQUEST_MAP APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java120 |
| Subquery | A query nested inside another query, often using key@ or from. | apijson.orm.Subquery APIJSONORM/src/main/java/apijson/orm/Subquery.java14 |
| Tag | A mandatory identifier for POST/PUT/DELETE requests used to locate validation structures. | setTag(String tag) APIJSONORM/src/main/java/apijson/orm/AbstractParser.java269-272 |
This diagram shows the relationship between the verification logic and the SQL generation logic.
Verification and Execution Flow
Sources: APIJSONORM/src/main/java/apijson/orm/AbstractParser.java279-300 APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java60-61 APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java171
These are structural validation operations defined in the Operation enum and enforced by the AbstractVerifier:
NUMBER, URL[]) APIJSONORM/src/main/java/apijson/orm/Operation.java24-43APIJSON utilizes a set of standard roles to manage data access permissions, mapped in ROLE_MAP:
userId > 0 APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java80 APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java133userId APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java92 APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java136verifyAdmin() remote function APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java94 APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java137Sources: APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java74-96 APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java131-138 APIJSONORM/src/main/java/apijson/orm/Operation.java11-165