Class SimilarityCacheCalculator<T extends DataObject>
java.lang.Object
de.uni_trier.wi2.procake.similarity.impl.SimilarityCacheCalculator<T>
- All Implemented Interfaces:
ThreadPoolExecutorListener
- Direct Known Subclasses:
NESTSimilarityCacheCalculator
public class SimilarityCacheCalculator<T extends DataObject>
extends Object
implements ThreadPoolExecutorListener
Multithreaded calculator to compute all pairwise similarities between data objects stored in a
given pool. The computed similarities are stored in the given cache. Please note that by default,
existing similarities in the cache are not overwritten. If you would like to do a complete
rebuild just clear the cache before or set the corresponding flag.
Make sure that the similarity cache is thread safe!
In addition to the similarity cache, an internal similarity cache can be set to the internal similarity valuator for caching local similarities.-
Constructor Summary
ConstructorDescriptionSimilarityCacheCalculator
(int numberOfThreads) SimilarityCacheCalculator
(int numberOfThreads, long timeoutMillisPerCalculation) -
Method Summary
Modifier and TypeMethodDescriptionvoid
compute()
Perform similarity computation for given data objectsvoid
executionTaskCompleted
(long threadId, long taskId, long runtimeMillis, int numberOfCompletedTasks) boolean
boolean
void
setComputeSelfSimilarities
(boolean computeSelfSimilarities) void
setObjectComparator
(Comparator<T> objectComparator) void
setObjectPool
(ReadableObjectPool<T> objectPool) void
setOverwriteExistingSimilarities
(boolean overwriteExistingSimilarities) void
setSimilarityCache
(SimilarityCache similarityCache) void
setSimilarityValuator
(SimilarityValuator similarityValuator)
-
Constructor Details
-
SimilarityCacheCalculator
public SimilarityCacheCalculator() -
SimilarityCacheCalculator
public SimilarityCacheCalculator(int numberOfThreads) - Parameters:
numberOfThreads
- threads to run in parallel
-
SimilarityCacheCalculator
public SimilarityCacheCalculator(int numberOfThreads, long timeoutMillisPerCalculation) - Parameters:
numberOfThreads
- threads to run in paralleltimeoutMillisPerCalculation
- timeout to abort a calculation task
-
-
Method Details
-
compute
public void compute()Perform similarity computation for given data objects -
isComputeSelfSimilarities
public boolean isComputeSelfSimilarities() -
setComputeSelfSimilarities
public void setComputeSelfSimilarities(boolean computeSelfSimilarities) -
isOverwriteExistingSimilarities
public boolean isOverwriteExistingSimilarities() -
setOverwriteExistingSimilarities
public void setOverwriteExistingSimilarities(boolean overwriteExistingSimilarities) -
getSimilarityCache
-
setSimilarityCache
-
getSimilarityValuator
-
setSimilarityValuator
-
getObjectPool
-
setObjectPool
-
getObjectComparator
-
setObjectComparator
-
executionTaskCompleted
public void executionTaskCompleted(long threadId, long taskId, long runtimeMillis, int numberOfCompletedTasks) - Specified by:
executionTaskCompleted
in interfaceThreadPoolExecutorListener
-