001package com.avaje.ebean.annotation; 002 003import java.lang.annotation.ElementType; 004import java.lang.annotation.Retention; 005import java.lang.annotation.RetentionPolicy; 006import java.lang.annotation.Target; 007 008/** 009 * Marks an entity bean as being included in the change logging. 010 */ 011@Target({ElementType.TYPE}) 012@Retention(RetentionPolicy.RUNTIME) 013public @interface ChangeLog { 014 015 /** 016 * Specify if inserts should be explicitly Included or Excluded. 017 * <p> 018 * If not defined explicitly then the server default behaviour defined 019 * on ServerConfig is used. 020 * </p> 021 */ 022 ChangeLogInsertMode inserts() default ChangeLogInsertMode.DEFAULT; 023 024 /** 025 * When specified only include update requests that have at least one 026 * of the given properties as a dirty property. 027 * <p> 028 * This provides a way to filter requests to include in the change log such that 029 * only updates that include at least one of the given properties is included 030 * in the change log. 031 * </p> 032 */ 033 String[] updatesThatInclude() default {}; 034}