package ch.unibe.scg.cells;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import javax.inject.Scope;
/**
* The collection that contains all counters. Threadsafe over adding and removing,
* but needs explicit synchronization for iteration, as described in
* {@link java.util.Collections#synchronizedSet(java.util.Set)}.
* This is a set, so re-adding an existing counter again has no effect.
*/
@Target({ FIELD, PARAMETER, METHOD })
@Retention(RUNTIME)
@Scope
@interface CounterRegistry { }