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
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
@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