package com.softwaremill.common.cdi.objectservice; import javax.enterprise.context.RequestScoped; import java.util.concurrent.atomic.AtomicInteger; /** * A service for which implementations are scoped beans, with instance counters. * @author Adam Warski (adam at warski dot org) */ @RequestScoped public class Service2C implements Service2<C> { private C serviced; public Service2C() { instanceCounter.incrementAndGet(); } @Override public void setServiced(C serviced) { this.serviced = serviced; } @Override public Object get() { return serviced.getValue(); } private static AtomicInteger instanceCounter = new AtomicInteger(); public static int instanceCount() { return instanceCounter.get(); } }