Class LifoServerQueueFactory<QS extends QueueServer>

All Implemented Interfaces:
Cloneable

public abstract class LifoServerQueueFactory<QS extends QueueServer> extends AbstrLifoSrvrQFactory<LifoServerQueue<QS>,QS>
Abstract factory class for LIFO server queues with the type of the queue servers unspecified.

AbstrLifoSrvrQFactory inherits the factory parameters "queueServer" and "deletePolicy" from its superclass ServerQueueFactory and the parameters "timeline", "timeline.time", "timeline.traceSetMode", "timeline.traceSets", and "traceSets" from SimObjectFactory.

Subclasses that are not abstract should set the type parameter QS and implement the method getQueueServerClass This can be done using an anonymous class. For use in a scriptable application, a class should be defined and the fully qualified class name listed in the file org.bzdev.obnaming.NamedObjectFactory in the META-INF/services directory of the application's JAR file.

Subclasses that are not abstract classes must implement the method getQueueServerClass. For example,


   public class FooLifoSQFactory extends LifoServerQueueFactory<Foo> {
       Class<Foo> getQueueServerClass() {returns Foo.class;}
       public FooPrioritySQFactory(Simulation sim) {
         super(sim);
       }
   }
 
would create a factory for priority server queues whose servers' class is Foo * @see org.bzdev.devqsim.TaskQueue
See Also: