diff --git a/src/main/java/org/springframework/data/auditing/AuditingHandler.java b/src/main/java/org/springframework/data/auditing/AuditingHandler.java index 25cfb43b5..8023cb66d 100644 --- a/src/main/java/org/springframework/data/auditing/AuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/AuditingHandler.java @@ -19,9 +19,9 @@ import java.util.Optional; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.springframework.beans.factory.InitializingBean; import org.springframework.data.domain.AuditorAware; +import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.context.PersistentEntities; import org.springframework.util.Assert; @@ -53,6 +53,16 @@ public class AuditingHandler extends AuditingHandlerSupport implements Initializ this.auditorAware = Optional.empty(); } + /** + * Factory method that creates a new {@link AuditingHandler} for the given {@link MappingContext}. + * + * @param mappingContext must not be {@literal null}. + * @since 3.0 + */ + public static AuditingHandler from(MappingContext mappingContext) { + return new AuditingHandler(PersistentEntities.of(mappingContext)); + } + /** * Setter to inject a {@code AuditorAware} component to retrieve the current auditor. * diff --git a/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java b/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java index 1d39f0e21..44620ef87 100644 --- a/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java @@ -18,6 +18,7 @@ package org.springframework.data.auditing; import reactor.core.publisher.Mono; import org.springframework.data.domain.ReactiveAuditorAware; +import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.context.PersistentEntities; import org.springframework.util.Assert; @@ -42,6 +43,16 @@ public class ReactiveAuditingHandler extends AuditingHandlerSupport { super(entities); } + /** + * Factory method that creates a new {@link ReactiveAuditingHandler} for the given {@link MappingContext}. + * + * @param mappingContext must not be {@literal null}. + * @since 3.0 + */ + public static ReactiveAuditingHandler from(MappingContext mappingContext) { + return new ReactiveAuditingHandler(PersistentEntities.of(mappingContext)); + } + /** * Setter to inject a {@link ReactiveAuditorAware} component to retrieve the current auditor. *