All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kenshoo.pl.entity.annotation.audit.Audited Maven / Gradle / Ivy

package com.kenshoo.pl.entity.annotation.audit;

import com.kenshoo.pl.entity.audit.AuditRecord;
import com.kenshoo.pl.entity.spi.audit.AncestorFieldsProvider;
import com.kenshoo.pl.entity.spi.audit.AncestorFieldsProvider.EmptyAncestorFieldsProvider;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Whenever an entity or field has this annotation, it indicates that any changes to the entity / field
 * will be published (by the publisher belonging to the PersistenceLayer instance)
 */
@Target({ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Audited {

    /**
     * A provider for additional fields from ancestor entities that should be added to an {@link AuditRecord}.
* This attribute is valid for entity-level annotations only, and will be ignored if appearing on fields. */ Class ancestorFieldsProvider() default EmptyAncestorFieldsProvider.class; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy