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 name
  • icon - Icon identifier
  • @QField

    Defines a field on a record entity.

    Java
    @QField(label = "Order Date", isRequired = true)
    private LocalDate orderDate;

    Attributes:

  • label - Display name
  • isRequired - Required field
  • isEditable - Can be edited
  • maxLength - Max string length
  • defaultValue - Default value expression
  • Process 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 table
  • label - Display name
  • App 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;
    Powered by qqq