|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cz.cuni.amis.pogamut.ut2004.agent.module.utils.TabooSet<T>
public class TabooSet<T>
This class is a simple implementation of TabooSet (similar to TabooList). It allows you to insert
items that are taboo either for infinite time (via add(Object)
) or for a specified
amount of UT2004 time (via add(Object, double)
).
Items inside taboo set are either removed automatically due to a timeout (a specified amount of time has passed)
or manually via remove(Object)
.
Nested Class Summary | |
---|---|
static interface |
TabooSet.IRelaxedTaboo<T>
|
Constructor Summary | |
---|---|
TabooSet(UT2004Bot bot)
Constructor of the TabuSet. |
Method Summary | |
---|---|
void |
add(T item)
Adds a tabu item that is valid for an infinite amount of time. |
void |
add(T item,
double timeout)
Adds a tabu item that is valid for a period of 'timeout' time (in seconds). |
void |
clear()
Clears the taboo set. |
java.util.Set<T> |
filter(java.util.Collection<T> collection)
Filters collection according to the current state of the tabu set. |
java.util.Set<T> |
filter(java.util.Collection<T> collection,
TabooSet.IRelaxedTaboo estimator)
Filters collection according to the current state of the tabu set. |
double |
getTabooTime(T item)
If not tabooized forever, it returns remaining time for the item to remain taboo. |
double |
getTime()
Returns current UT2004 time that is used by the TabooSet. |
boolean |
isTaboo(T item)
Determines whether an 'item' is inside tabu set or not based on the current UT2004 time. |
boolean |
isTaboo(T item,
TabooSet.IRelaxedTaboo estimator)
Determines whether an 'item' is considered to be taboo using relaxed 'estimator'. |
void |
remove(T item)
Removes a tabu item from the set. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TabooSet(UT2004Bot bot)
bot
- Method Detail |
---|
public double getTabooTime(T item)
If tabooized forever, returns Double.POSITIVE_INFINITY
.
If item is not tabooized, returns 0.
item
-
public void add(T item)
item
- public void add(T item, double timeout)
item
- timeout
- in secondspublic void remove(T item)
item
- public boolean isTaboo(T item)
item
-
public boolean isTaboo(T item, TabooSet.IRelaxedTaboo estimator)
item
- estimator
-
public java.util.Set<T> filter(java.util.Collection<T> collection)
collection
-
public java.util.Set<T> filter(java.util.Collection<T> collection, TabooSet.IRelaxedTaboo estimator)
collection
-
public void clear()
public double getTime()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |