package io.eiren.util.ann; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** *
* Означает необходимость обязательной синхронизации этого меcта во внешних * методах. В аргументах передаётся название поля для синхронизации. *
** Методы, помеченные данной аннотацией могут вызывать только Thread-Safe * методы, либо методы, помеченные такой же аннотацией с тем же полем * синхронизации. *
** Поля, помеченные данной аннотацией должны быть синхронизированны на указанное * поле при чтении или записи. *
* * @see {@link ThreadSafe}, {@link ThreadSecure}, {@link ThreadSafeSingle} * @author Rena */ @Retention(value = RetentionPolicy.SOURCE) public @interface Synchronize { String[] value(); }