Class SoftDeleteHelper


  • public class SoftDeleteHelper
    extends Object
    Helper for dealing with SoftDelete
    • Constructor Detail

      • SoftDeleteHelper

        public SoftDeleteHelper()
    • Method Detail

      • bindSoftDeleteIndicator

        public static void bindSoftDeleteIndicator​(SoftDelete softDeleteConfig,
                                                   SoftDeletable target,
                                                   Table table,
                                                   MetadataBuildingContext context)
        Creates and binds the column and value for modeling the soft-delete in the database
        Parameters:
        softDeleteConfig - The SoftDelete annotation
        target - The thing which is to be soft-deleted
        table - The table to which the soft-delete should be applied
        context - The processing context for access to needed info and services
      • createNonSoftDeletedRestriction

        public static Predicate createNonSoftDeletedRestriction​(TableReference tableReference,
                                                                SoftDeleteMapping softDeleteMapping)
        Create a SQL AST Predicate for restricting matches to non-deleted rows
        Parameters:
        tableReference - The table reference for the table containing the soft-delete column
        softDeleteMapping - The soft-delete mapping
      • createNonSoftDeletedRestriction

        public static Predicate createNonSoftDeletedRestriction​(TableReference tableReference,
                                                                SoftDeleteMapping softDeleteMapping,
                                                                SqlExpressionResolver expressionResolver)
        Create a SQL AST Predicate for restricting matches to non-deleted rows
        Parameters:
        tableReference - The table reference for the table containing the soft-delete column
        softDeleteMapping - The soft-delete mapping
      • createSoftDeleteAssignment

        public static Assignment createSoftDeleteAssignment​(TableReference tableReference,
                                                            SoftDeleteMapping softDeleteMapping)
        Create a SQL AST Assignment for setting the soft-delete column to its deleted indicate value
        Parameters:
        tableReference - The table reference for the table containing the soft-delete column
        softDeleteMapping - The soft-delete mapping