package org.javers.core.metamodel.annotation; import org.javers.core.JaversBuilder; import org.javers.core.MappingStyle; import java.lang.annotation.Retention; import java.lang.annotation.Target; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * Use DiffIgnore annotation to mark certain properties * or classes as ignored by JaVers. * * <H2>Property level</H2> * Add DiffIgnore to fields or getters * (depending on selected {@link org.javers.core.MappingStyle}) * to mark them as ignored. * When used on property level, * DiffIgnore is equivalent to the javax.persistence.Transient annotation. * * <H2>Class level</H2> * Add DiffIgnore to classes to mark them as ignored. <br/> * When certain class is ignored, all properties * (found in other classes) with this class as a return type are ignored. * * @see JaversBuilder#withMappingStyle(MappingStyle) * @author bartosz walacik */ @Target({METHOD, FIELD, TYPE}) @Retention(RUNTIME) public @interface DiffIgnore { }