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