All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vmlens.trace.agent.bootstrap.parallize.logicState.DecisionQueue Maven / Gradle / Ivy

There is a newer version: 1.1.5
Show newest version
package com.vmlens.trace.agent.bootstrap.parallize.logicState;

import java.util.Iterator;

import gnu.trove.list.TLinkable;
import gnu.trove.list.linked.TLinkedList;

public class DecisionQueue implements TLinkable  {

	private final TLinkedList list; // = new TLinkedList();
	
	
	public DecisionQueue()
	{
		list = new TLinkedList();
	}
	
	
	public DecisionQueue(TLinkedList list) {
		super();
		this.list = list;
	}


	private DecisionQueue next;
	private DecisionQueue previous;

	public DecisionQueue getNext() {
		return next;
	}
	public void setNext(DecisionQueue next) {
		this.next = next;
	}
	public DecisionQueue getPrevious() {
		return previous;
	}
	public void setPrevious(DecisionQueue previous) {
		this.previous = previous;
	}
	
	
	public boolean isEmpty()
	{
		return list.isEmpty();
	}
	
	
	
	public void enqueue(Decision decision)
	{
		list.addFirst(decision);
	}
	
	
	public Decision dequeue()
	{
		return list.removeLast();
	}
	
	
	public DecisionQueue cloneQueue()
	{
		TLinkedList clone = new TLinkedList();
		
		Iterator it = list.iterator();
		
		while(it.hasNext())
		{
			clone.add(  it.next().cloneDecision() );
		}
		
		
		
		return new DecisionQueue( clone);
	}


	@Override
	public String toString() {
		return "DecisionQueue [list=" + list + "]";
	}
	
	
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy