Elide exposes data models using a set of annotations. To describe relational modeling, we rely on the well-adopted JPA annotations. For exposition and security, we rely on custom Elide annotations. A comprehensive list of supported Elide annotations is below.
Core Annotations
Subscription Annotations
Aggregation Annotations
Annotation Details
    @ApiVersion
    
  
    @Audit
    
  
    
      - 
         Description Enables audit logging for a particular package, class, method, or field whenever a specified action takes place via Elide. It takes advantage of Elide's  Audit logging capabilities. 
- 
        Application Level 
          
            
              - Class
- Field
- Method
- Package
 
 
- 
        Parameters 
          
            
              
                - 
                  action
                  
                    - 
                      Description: The set of performed action(s) upon which audit should be triggered.
                    
- 
                      Type: Action[]
                    
- 
                      Required: false
                    
- 
                      Default Value: {Action.CREATE, Action.UPDATE, Action.DELETE}
                    
 
- 
                  logExpressions
                  
                    - 
                      Description: Unified expression language expressions that will be evaluated and substituted into the logging template.
                    
- 
                      Type: String[]
                    
- 
                      Required: false
                    
- 
                      Default Value: ""
                    
 
- 
                  logStatement
                  
                    - 
                      Description: Logging string template passed to audit logger for fired audit event.
                    
- 
                      Type: String
                    
- 
                      Required: false
                    
- 
                      Default Value: ""
                    
 
- 
                  operation
                  
                    - 
                      Description: Operation code to pass to audit logger for fired audit event.
                    
- 
                      Type: Integer
                    
- 
                      Required: false
                    
- 
                      Default Value: -1
                    
 
 
 
 
    @Audits
    
  
    
      - 
         Description Enables a set of audit logging annotations to be applied to a particular package, class, method, or field whenever a specified action takes place through Elide. 
- 
        Application Level 
          
            
              - Class
- Field
- Method
- Package
 
 
- 
        Parameters 
          
            
              
                - 
                  value
                  
                    - 
                      Description: A set of @Audit annotations.
                    
- 
                      Type: Audit[]
                    
- 
                      Required: true
                    
- 
                      Default Value: None
                    
 
 
 
 
    @ComputedAttribute
    
  
    @ComputedRelationship
    
  
    @CreatePermission
    
  
    
      - 
         Description Define security rules for creating an object through Elide. See the  security section for more information. 
- 
        Application Level 
          
            
              - Class
- Field
- Method
- Package
 
 
- 
        Parameters 
          
            
              
                - 
                  expression
                  
                    - 
                      Description: A security expression parsed by Elide security. See the security section for more information.
                    
- 
                      Type: String
                    
- 
                      Required: true
                    
- 
                      Default Value: None
                    
 
 
 
 
    @DeletePermission
    
  
    
      - 
         Description Define security rules for deleting an object through Elide. See the  security section for more information. 
- 
        Application Level 
          
            
              - Class
- Field
- Method
- Package
 
 
- 
        Parameters 
          
            
              
                - 
                  expression
                  
                    - 
                      Description: A security expression parsed by Elide security. See the security section for more information.
                    
- 
                      Type: String
                    
- 
                      Required: true
                    
- 
                      Default Value: None
                    
 
 
 
 
    @ElideTypeConverter
    
  
    @Exclude
    
  
    @Include
    
  
    @LifeCycleHookBinding
    
  
    @NonTransferable
    
  
    @Paginate
    
  
    @ReadPermission
    
  
    
      - 
         Description Define security rules for reading an object through Elide. See the  security section for more information. 
- 
        Application Level 
          
            
              - Class
- Field
- Method
- Package
 
 
- 
        Parameters 
          
            
              
                - 
                  expression
                  
                    - 
                      Description: A security expression parsed by Elide security. See the security section for more information.
                    
- 
                      Type: String
                    
- 
                      Required: true
                    
- 
                      Default Value: None
                    
 
 
 
 
    @SecurityCheck
    
  
    @ToMany
    
  
    @ToOne
    
  
    @UpdatePermission
    
  
    
      - 
         Description Define security rules for updating an object through Elide. See the  security section for more information. 
- 
        Application Level 
          
            
              - Class
- Field
- Method
- Package
 
 
- 
        Parameters 
          
            
              
                - 
                  expression
                  
                    - 
                      Description: A security expression parsed by Elide security. See the security section for more information.
                    
- 
                      Type: String
                    
- 
                      Required: true
                    
- 
                      Default Value: None
                    
 
 
 
 
    @Subscription
    
  
    @SubscriptionField
    
  
    @FromSubquery
    
  
    @FromTable
    
  
    @Join
    
  
    @Temporal
    
  
    @TimeGrainDefinition
    
  
    
      - 
         Description Defines a time grain. 
- 
        Application Level 
- 
        Parameters 
          
            
              
                - 
                  expression
                  
                    - 
                      Description: A templated native SQL fragment.  The template variable '{{}}' in the expression will be replaced with the column formula at query time.
                    
- 
                      Type: String
                    
- 
                      Required: false
                    
- 
                      Default Value: None
                    
 
- 
                  grain
                  
                    - 
                      Description: The time grain or period (DAY, YEAR, etc).
                    
- 
                      Type: TimeGrain
                    
- 
                      Required: true
                    
- 
                      Default Value: Day
                    
 
 
 
 
    @VersionQuery