Annotations
qqq annotation reference
Overview
qqq uses annotations to define metadata for tables, processes, and other components.
Table Annotations
@QTableMetaData
Defines a table producer class.
Java
@QTableMetaData(name = "order", label = "Orders")
public class OrderTable implements TableMetaDataProducer { }Attributes:
name - Table identifier (required)label - Display nameicon - Icon identifier@QField
Defines a field on a record entity.
Java
@QField(label = "Order Date", isRequired = true)
private LocalDate orderDate;Attributes:
label - Display nameisRequired - Required fieldisEditable - Can be editedmaxLength - Max string lengthdefaultValue - Default value expressionProcess Annotations
@QProcessMetaData
Defines a process producer class.
Java
@QProcessMetaData(name = "approveOrder", tableName = "order")
public class ApproveOrderProcess implements ProcessMetaDataProducer { }Attributes:
name - Process identifier (required)tableName - Associated tablelabel - Display nameApp Annotations
@QAppMetaData
Defines an application.
Java
@QAppMetaData(name = "warehouse", label = "Warehouse")
public class WarehouseApp implements AppMetaDataProducer { }Entity Annotations
@QRecordEntity
Marks a class as a record entity.
Java
@QRecordEntity(tableName = "order")
public class Order extends QRecord { }Validation Annotations
@QFieldValidator
Custom field validation.
Java
@QFieldValidator(validator = EmailValidator.class)
private String email;