@@ -0,0 +1,793 @@
+package io.jaq.spsc;%0A%0Aimport io.jaq.ConcurrentQueue;%0A%0Apublic class SPSCConcurrentQueueFactory %7B%0A    public static final int QUEUE_CAPACITY = 1 %3C%3C Integer.getInteger(%22pow2.capacity%22, 15);%0A    public static final int QUEUE_TYPE = Integer.getInteger(%22q.type%22, 0);%0A    public static ConcurrentQueue%3CInteger%3E createQueue() %7B%0A        switch (QUEUE_TYPE) %7B%0A        case 3:%0A            return new FFBufferWithOfferBatch%3CInteger%3E(QUEUE_CAPACITY);%0A        case 30:%0A            return new FFBufferWithOfferBatchCq%3CInteger%3E(QUEUE_CAPACITY);%0A//        case 2:%0A//            return new SpmcConcurrentQueue%3CInteger%3E(QUEUE_CAPACITY);%0A//        case 3:%0A//            return new MpscConcurrentQueue%3CInteger%3E(QUEUE_CAPACITY);%0A        %7D%0A        throw new IllegalArgumentException(%22Type: %22 + QUEUE_TYPE);%0A    %7D%0A%0A%7D%0A

add SPSC CQ factory