001/*-
002 * #%L
003 * Smile CDR - CDR
004 * %%
005 * Copyright (C) 2016 - 2025 Smile CDR, Inc.
006 * %%
007 * All rights reserved.
008 * #L%
009 */
010package ca.cdr.api.model.json;
011
012import ca.cdr.api.fhir.interceptor.CdrPointcut;
013
014import java.util.HashMap;
015import java.util.Map;
016
017/**
018 * Parameter object class encapsulating user modifiable data to be used in the context of the
019 * {@link CdrPointcut#AUDIT_EVENT_PRE_PERSIST} pointcut invocation.
020 */
021public class AuditEventPrePersistJson implements IHasUserData, IModelJson {
022
023        private Map<String, Object> myUserData;
024
025        @Override
026        public Map<String, Object> getClientPopulatedUserData(boolean theCreateIfNull) {
027                if (theCreateIfNull && myUserData == null) {
028                        myUserData = new HashMap<>();
029                }
030                return myUserData;
031        }
032}