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.
    @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
    
  
    @OnCreatePostCommit
    
  
    @OnCreatePreCommit
    
  
    @OnCreatePreSecurity
    
  
    @OnDeletePostCommit
    
  
    @OnDeletePreCommit
    
  
    @OnDeletePreSecurity
    
  
    @OnReadPostCommit
    
  
    @OnReadPreCommit
    
  
    @OnReadPreSecurity
    
  
    @OnUpdatePostCommit
    
  
    @OnUpdatePreCommit
    
  
    @OnUpdatePreSecurity
    
  
    @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
    
  
    @SharePermission
    
  
    
      - 
         Description Enable sharing permissions on an object through Elide. See the  security section for more information. 
- 
        Application Level 
- 
        Parameters 
          
            
              
                - 
                  shareable
                  
                    - 
                      Description: Enable or disable shareability for an object. Shareable permissions are evaluated identically to an entity's read permissions. See the security section for more information.
                    
- 
                      Type: Boolean
                    
- 
                      Required: false
                    
- 
                      Default Value: true
                    
 
 
 
 
    @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