Class MongoEventListeners

java.lang.Object
org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
com.beassolution.rule.listener.MongoEventListeners
All Implemented Interfaces:
EventListener, org.springframework.context.ApplicationListener<org.springframework.data.mongodb.core.mapping.event.MongoMappingEvent<?>>

@Component public class MongoEventListeners extends org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
MongoDB event listener for automatic field management and encryption.

This class provides event listeners for MongoDB operations that automatically handle audit fields, ID generation, and field encryption. It ensures that all entities have proper audit information and encrypted fields when needed.

Key features include:

  • Automatic ID generation
  • Audit field population
  • Field encryption
  • User tracking
Since:
1.0
Version:
1.0
Author:
Beas Solution Team
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    onAfterConvert(org.springframework.data.mongodb.core.mapping.event.AfterConvertEvent<BaseModel> event)
    Handles after convert events.
    void
    onAfterDelete(org.springframework.data.mongodb.core.mapping.event.AfterDeleteEvent<BaseModel> event)
    Handles after delete events.
    void
    onAfterLoad(org.springframework.data.mongodb.core.mapping.event.AfterLoadEvent<BaseModel> event)
    Handles after load events.
    void
    onAfterSave(org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent<BaseModel> event)
    Handles after save events.
    void
    onApplicationEvent(org.springframework.data.mongodb.core.mapping.event.MongoMappingEvent<?> event)
    Handles general MongoDB mapping events.
    void
    onBeforeConvert(org.springframework.data.mongodb.core.mapping.event.BeforeConvertEvent<BaseModel> event)
    Handles before convert events.
    void
    onBeforeDelete(org.springframework.data.mongodb.core.mapping.event.BeforeDeleteEvent<BaseModel> event)
    Handles before delete events.
    void
    onBeforeSave(org.springframework.data.mongodb.core.mapping.event.BeforeSaveEvent<BaseModel> event)
    Handles before save events.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.context.ApplicationListener

    supportsAsyncExecution
  • Constructor Details

    • MongoEventListeners

      public MongoEventListeners()
  • Method Details

    • onBeforeSave

      public void onBeforeSave(org.springframework.data.mongodb.core.mapping.event.BeforeSaveEvent<BaseModel> event)
      Handles before save events.

      This method is called before an entity is saved to MongoDB. It ensures that audit fields are properly set with current user and timestamp information.

      Overrides:
      onBeforeSave in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The before save event
    • onBeforeConvert

      public void onBeforeConvert(org.springframework.data.mongodb.core.mapping.event.BeforeConvertEvent<BaseModel> event)
      Handles before convert events.

      This method is called before an entity is converted for MongoDB storage. It ensures that the entity has a unique ID, proper audit fields, and encrypted fields if needed.

      Overrides:
      onBeforeConvert in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The before convert event
    • onAfterConvert

      public void onAfterConvert(org.springframework.data.mongodb.core.mapping.event.AfterConvertEvent<BaseModel> event)
      Handles after convert events.
      Overrides:
      onAfterConvert in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The after convert event
    • onBeforeDelete

      public void onBeforeDelete(org.springframework.data.mongodb.core.mapping.event.BeforeDeleteEvent<BaseModel> event)
      Handles before delete events.
      Overrides:
      onBeforeDelete in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The before delete event
    • onAfterDelete

      public void onAfterDelete(org.springframework.data.mongodb.core.mapping.event.AfterDeleteEvent<BaseModel> event)
      Handles after delete events.
      Overrides:
      onAfterDelete in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The after delete event
    • onAfterLoad

      public void onAfterLoad(org.springframework.data.mongodb.core.mapping.event.AfterLoadEvent<BaseModel> event)
      Handles after load events.
      Overrides:
      onAfterLoad in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The after load event
    • onAfterSave

      public void onAfterSave(org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent<BaseModel> event)
      Handles after save events.
      Overrides:
      onAfterSave in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The after save event
    • onApplicationEvent

      public void onApplicationEvent(org.springframework.data.mongodb.core.mapping.event.MongoMappingEvent<?> event)
      Handles general MongoDB mapping events.
      Specified by:
      onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.data.mongodb.core.mapping.event.MongoMappingEvent<?>>
      Overrides:
      onApplicationEvent in class org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener<BaseModel>
      Parameters:
      event - The MongoDB mapping event