001 package edu.jhu.mb.ernst.util.slot; 002 003 import cnslab.cnsnetwork.Queue; 004 005 /*********************************************************************** 006 * Adapter from ERNST Queue to Slot. 007 * 008 * @version 009 * $Date: 2012-04-15 13:06:25 -0500 (Sun, 15 Apr 2012) $ 010 * $Rev: 7 $ 011 * $Author: croft $ 012 * @since 013 * 2011-11-09 014 * @author 015 * David Wallace Croft 016 ***********************************************************************/ 017 018 public final class ErnstQueueSlot<T extends Comparable<T>> 019 implements Slot<T> 020 //////////////////////////////////////////////////////////////////////// 021 //////////////////////////////////////////////////////////////////////// 022 { 023 024 private final Queue<T> queue; 025 026 //////////////////////////////////////////////////////////////////////// 027 //////////////////////////////////////////////////////////////////////// 028 029 public ErnstQueueSlot ( final Queue<T> queue ) 030 //////////////////////////////////////////////////////////////////////// 031 { 032 if ( queue == null ) 033 { 034 throw new IllegalArgumentException ( "null queue" ); 035 } 036 037 this.queue = queue; 038 } 039 040 //////////////////////////////////////////////////////////////////////// 041 //////////////////////////////////////////////////////////////////////// 042 043 @Override 044 public boolean offer ( final T t ) 045 //////////////////////////////////////////////////////////////////////// 046 { 047 queue.insertItem ( t ); 048 049 return true; 050 } 051 052 //////////////////////////////////////////////////////////////////////// 053 //////////////////////////////////////////////////////////////////////// 054 }