ereinion.util
Class AbstractQueue

java.lang.Object
  |
  +--ereinion.util.AbstractQueue

public class AbstractQueue
extends java.lang.Object

La classe AbstractQueue fornisce una implementazione base dell'interfaccia Queue. Ogni classe wrappata AbstractQueue definisce la sua politica di inserimento tramite il metodo insert(Object[]).

Vengono inoltre fornite alcune implementazioni complete dell'interfaccia Queue e alcune funzioni che operano manipolazioni sulle code.

Since:
JDK 1.1
Version:
1.1, 21/11/2002
Author:
Ereinion

Constructor Summary
AbstractQueue(Queue q)
          Alloca una nuova AbstractQueue che si wrappa attorno ad un'altra Queue.
 
Method Summary
 void clear()
           
 java.util.Enumeration elements()
           
 java.lang.Object getHead()
           
 void insert(java.lang.Object elem)
           
 void insert(java.lang.Object[] elemList)
           
 boolean isEmpty()
           
static Queue makeQueueAtLast()
          Crea una coda la cui politica di inserimento prevede sempre l'inserimento alla fine.
static Queue makeQueueInFront()
          Crea una coda la cui politica di inserimento prevede sempre l'inserimento all'inizio.
static Queue makeQueueWithFilter(Queue q, FilterRule fr)
          Crea una coda che wrappa un' altra coda e filtra gli elementi al momento di inserirli basandosi sulla strategia di filtraggio fornita.
static Queue makeQueueWithPriority(PrioritySelector ps)
          Crea una coda la cui politica di inserimento prevede l'inserimento dei nuovi elementi basandosi su una funzione di priorit�.
 java.lang.Object peek()
          Restituisce l'elemento che verrebbe restituito da getHead() senza rimuoverlo.
 int size()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractQueue

public AbstractQueue(Queue q)
Alloca una nuova AbstractQueue che si wrappa attorno ad un'altra Queue.

Parameters:
q - la coda da wrappare.
Method Detail

isEmpty

public boolean isEmpty()

size

public int size()

getHead

public java.lang.Object getHead()

insert

public void insert(java.lang.Object elem)

insert

public void insert(java.lang.Object[] elemList)

elements

public java.util.Enumeration elements()

clear

public void clear()

peek

public java.lang.Object peek()
Restituisce l'elemento che verrebbe restituito da getHead() senza rimuoverlo.

Returns:
il primo elemento della coda.

makeQueueInFront

public static Queue makeQueueInFront()
Crea una coda la cui politica di inserimento prevede sempre l'inserimento all'inizio. Ovvero (l'ultimo elemento inserito tramite insert � il primo restituito da getHead().

Returns:
Una coda vuota con politica di inserimento in testa.

makeQueueAtLast

public static Queue makeQueueAtLast()
Crea una coda la cui politica di inserimento prevede sempre l'inserimento alla fine. Ovvero (l'ultimo elemento inserito tramite insert � il l'ultimo restituito da getHead().

Returns:
Una coda vuota con politica di inserimento alla fine.

makeQueueWithPriority

public static Queue makeQueueWithPriority(PrioritySelector ps)
Crea una coda la cui politica di inserimento prevede l'inserimento dei nuovi elementi basandosi su una funzione di priorit�. Il metodo getHead() restituisce sempre l'elemento a priorit� pi� bassa, ovvero quello per il quale la funzione elementPriority(Object) del PrioritySelector fornito restituisce un valore minore di tutti gli altri elementi.

Returns:
Una coda vuota con politica di inserimento basata sulla priorit�.

makeQueueWithFilter

public static Queue makeQueueWithFilter(Queue q,
                                        FilterRule fr)
Crea una coda che wrappa un' altra coda e filtra gli elementi al momento di inserirli basandosi sulla strategia di filtraggio fornita.

Parameters:
q - la coda a partire dalla quale si genera una coda con filtraggio.
fr - il filtro da usare.
Returns:
Una coda che filtra gli elementi prima di inserirli