QueueBeanLocal.java 1.3 KB
package fi.codecrew.moya.beans;

import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.LinkedBlockingQueue;

import javax.ejb.Local;

import fi.codecrew.moya.model.EventMap;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.map.MapReservationQueueEntry;

@Local
public interface QueueBeanLocal {

	MapReservationQueueEntry enterQueue(EventMap map, EventUser user);

	boolean isReserving(EventMap map, EventUser user);

	Integer getQueuePosition(EventMap map, EventUser user);

	boolean isQueueEnabled();

	MapReservationQueueEntry remove(EventMap map, EventUser user);

	Date getReservationTimeout(EventMap map);

	MapQueueI getMapQueue(EventMap map);

	public interface MapQueueI {

		Collection<MapReservationQueueEntry> getQueue();

		Collection<EventUser> getReserving();

		void setReservingSize(int reservingSize);

		int getReservingSize();

		void setDefaultTimeoutMin(int defaultTimeoutMin);

		int getDefaultTimeoutMin();

		int getMinimumSlotsInQueue();

		void setMinimumSlotsInQueue(int minimumSlotsInQueue);

		MapReservationQueueEntry getEntry(EventUser u);

	}

	void forceAddToReserving(EventMap map, EventUser u, Date time);

	void forceRemove(EventMap e, EventUser u);

}