Class AbstractSimilarityCacheMatrix
- java.lang.Object
-
- de.uni_trier.wi2.procake.adaptation.cache.AbstractSimilarityCacheMatrix
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
SimilarityCacheMatrix,SimpleSimilarityCacheMatrix
public abstract class AbstractSimilarityCacheMatrix extends Object implements Serializable
Abstract AbstractSimilarityCacheMatrix class.
- Author:
- Maximilian Hoffmann
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.collections4.map.MultiKeyMap<String,Double>cleanSimilarityMatrixContains all similarity pairs that have been serialized already.protected org.apache.commons.collections4.map.MultiKeyMap<String,Double>dirtySimilarityMatrixContains all similarity pairs that have not been serialized already.protected org.slf4j.Loggerloggerprotected static longserialVersionUIDConstantserialVersionUID=4515348786028162812L
-
Constructor Summary
Constructors Constructor Description AbstractSimilarityCacheMatrix()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidaddDirtyCase(String queryID, String caseID, Similarity similarity)Adds a case to the dirty matrix.protected voidaddDirtySimilarity(String queryId, String caseId, double similarity)addDirtySimilarity.List<String>getCases()getCases.doublegetSimilarity(String queryId, String caseId)getSimilarity.booleanhasSimilarity(String queryID, String caseID)Checks if a similarity is already in the matrix.voidprint()print.abstract voidreadCleanSimilarityCacheMatrix(String path)This method reads a similarity cache matrix from disk.abstract voidremoveCase(String caseID)Removes the case with the given ID from the similarity cache matrix.intsize()size.abstract voidwriteDirtySimilarityCacheMatrix(String path)This method writes out the dirty similarity cache to disk.
-
-
-
Field Detail
-
serialVersionUID
protected static final long serialVersionUID
ConstantserialVersionUID=4515348786028162812L- See Also:
- Constant Field Values
-
logger
protected transient org.slf4j.Logger logger
-
dirtySimilarityMatrix
protected final org.apache.commons.collections4.map.MultiKeyMap<String,Double> dirtySimilarityMatrix
Contains all similarity pairs that have not been serialized already.
-
-
Method Detail
-
addDirtySimilarity
protected void addDirtySimilarity(String queryId, String caseId, double similarity)
addDirtySimilarity.
-
size
public int size()
size.
- Returns:
- a int
-
print
public void print()
print.
-
addDirtyCase
public abstract void addDirtyCase(String queryID, String caseID, Similarity similarity)
Adds a case to the dirty matrix. This means that this similarity is not serialized to disk, yet.- Parameters:
queryID- the ID of the querycaseID- the ID of the casesimilarity- the similarity object
-
removeCase
public abstract void removeCase(String caseID)
Removes the case with the given ID from the similarity cache matrix.- Parameters:
caseID- the ID of the case to remove
-
hasSimilarity
public boolean hasSimilarity(String queryID, String caseID)
Checks if a similarity is already in the matrix. This could be the case when a cache was read.- Parameters:
queryID- the ID of the querycaseID- the ID of the case- Returns:
- true, if the similarity is already there, false, otherwise.
-
readCleanSimilarityCacheMatrix
public abstract void readCleanSimilarityCacheMatrix(String path)
This method reads a similarity cache matrix from disk.- Parameters:
path- the path to read from
-
writeDirtySimilarityCacheMatrix
public abstract void writeDirtySimilarityCacheMatrix(String path)
This method writes out the dirty similarity cache to disk. In this process, the matrix is temporarily locked for further access and after the serialization, the similarities are copied to the clean matrix.- Parameters:
path- the path to write to
-
-