sunlabs.brazil.template
Class QueueTemplate.Queue

java.lang.Object
  extended by sunlabs.brazil.template.QueueTemplate.Queue
Enclosing class:
QueueTemplate

public static class QueueTemplate.Queue
extends Object

Create an object queue. "Getters" wait 'till something appears in the queue.


Field Summary
static int max
           
 
Constructor Summary
QueueTemplate.Queue()
          Create a new Q of a maximum possible size
 
Method Summary
 void clear()
          Clear the queue.
 long count()
          Return the total number of items Q'd.
 Object get(int timeout)
          Return the next item on the queue, waiting for up to "timeout" seconds or for an interrupt.
 long getCreated()
          Return creation time (ms since epoch).
 long getExpires()
          Get the expiration period of the Queue (in ms).
 int getMax()
          Maximum Q size
 boolean isClosed()
          Get the closed state.
 void kick()
          Send a notify: for debugging
 long lastIn()
          Return the last time a Q insertion was attempted.
 long lastOut()
          Return the last time a Q removal was attempted.
 boolean put(Object item)
          Put an item on the queue if it's open and not full.
 boolean put(Object item, boolean force)
          Put an item on the queue if it's not full.
 boolean setClosed(boolean closed)
          Set the closed state.
 void setExpires(long expires)
          Set the expiration period of the Queue (in ms).
 int size()
          How many items are queue'd.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

max

public static int max
Constructor Detail

QueueTemplate.Queue

public QueueTemplate.Queue()
Create a new Q of a maximum possible size

Method Detail

get

public Object get(int timeout)
Return the next item on the queue, waiting for up to "timeout" seconds or for an interrupt.

Returns:
the top of the Q, or null.

put

public boolean put(Object item)
Put an item on the queue if it's open and not full.


put

public boolean put(Object item,
                   boolean force)
Put an item on the queue if it's not full. If "force" is true, override the "closed" flag.


size

public int size()
How many items are queue'd.


getMax

public int getMax()
Maximum Q size


kick

public void kick()
Send a notify: for debugging


lastIn

public long lastIn()
Return the last time a Q insertion was attempted.

Returns:
-1 if no attempts were made.

lastOut

public long lastOut()
Return the last time a Q removal was attempted.

Returns:
-1 if no attempts were made.

count

public long count()
Return the total number of items Q'd.

Returns:
The # of Q'd items.

getExpires

public long getExpires()
Get the expiration period of the Queue (in ms). The notion of when a queue expires is application dependent. Applications can look at count() lastIn(), lastOut(). and created() to determine when the Q is expired for them.


setExpires

public void setExpires(long expires)
Set the expiration period of the Queue (in ms).


getCreated

public long getCreated()
Return creation time (ms since epoch).


clear

public void clear()
Clear the queue.


setClosed

public boolean setClosed(boolean closed)
Set the closed state.


isClosed

public boolean isClosed()
Get the closed state.


toString

public String toString()
Overrides:
toString in class Object

Version Kenai-svn-r24, Generated 08/18/09
Copyright (c) 2001-2009, Sun Microsystems.