wtanaka.praya.obj
Class LimitFolder

java.lang.Object
  |
  +--wtanaka.praya.obj.Obj
        |
        +--wtanaka.praya.obj.NormalFolder
              |
              +--wtanaka.praya.obj.LimitFolder
All Implemented Interfaces:
java.io.Externalizable, Fillable, java.io.Serializable

public class LimitFolder
extends NormalFolder
implements java.io.Serializable

LimitFolder limits the size of a folder based on age, or a maximum size of the folder, or both.

Return to Sourceforge or the Praya Homepage

Author:
Wesley Tanaka
See Also:
Serialized Form

Field Summary
private  long m_delay
           
private  int m_numObjs
           
 
Fields inherited from class wtanaka.praya.obj.NormalFolder
folderListeners, m_storage, MAGIC_NUMBER, name, parent, serialVersionUID, sortKey
 
Fields inherited from class wtanaka.praya.obj.Obj
CONTENTS, date, DATE, FROM, privThread, REVCONTENTS, REVDATE, REVFROM, REVSCORE, REVSUBJECT, SCORE, secretObject, SUBJECT
 
Constructor Summary
LimitFolder()
           
 
Method Summary
 void add(Obj a)
          Adds the given object to the end of this folder.
private  void limitBySize()
          Limits the folder based on size.
private  void limitByTime()
           
 void setSizeLimit(int numObjs)
          Sets the maximum number of Objs that can be in the folder.
 void setTimelimit(long delay)
          If delay is < 0, there is no time limit.
 
Methods inherited from class wtanaka.praya.obj.NormalFolder
addFolderListener, elements, fireAdded, fireRemoved, getChildAt, getContents, getName, getNumChildren, getParent, indexOf, isTrashCanUsed, mergeSort, readExternal, remove, remove, remove, removeFolderListener, selectSort, setName, sort, toString, writeExternal
 
Methods inherited from class wtanaka.praya.obj.Obj
getFrom, getSubject, getTimeStamp, isPrivileged, lessThan, setPrivilegedThread, setSecretObject, setTimeStamp
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

m_delay

private long m_delay

m_numObjs

private int m_numObjs
Constructor Detail

LimitFolder

public LimitFolder()
Method Detail

setTimelimit

public void setTimelimit(long delay)
If delay is < 0, there is no time limit. Otherwise delay is the oldest that a message can get (in milliseconds) before it's removed from the folder.

setSizeLimit

public void setSizeLimit(int numObjs)
Sets the maximum number of Objs that can be in the folder.
Parameters:
numObjs - if this is negative, there is no limit. Otherwise, when adding Objs to the folder, if the size would go over numObjs, the oldest one will be deleted before the new one is added.

limitBySize

private void limitBySize()
Limits the folder based on size.

limitByTime

private void limitByTime()

add

public void add(Obj a)
Description copied from class: NormalFolder
Adds the given object to the end of this folder.
Overrides:
add in class NormalFolder
Following copied from class: wtanaka.praya.obj.NormalFolder
Parameters:
a - the object to add to the folder. It cannot be null.