Class AdaptationAlgorithm<TCase extends DataObject,TQuery extends DataObject,TAdaptationKnowledge extends DataObject>
java.lang.Object
de.uni_trier.wi2.procake.utils.composition.FactoryObjectImplementation
de.uni_trier.wi2.procake.utils.composition.AbstractEmptyFactoryObjectImplementation
de.uni_trier.wi2.procake.adaptation.AdaptationAlgorithm<TCase,TQuery,TAdaptationKnowledge>
- All Implemented Interfaces:
AdaptationFactoryObject
public abstract class AdaptationAlgorithm<TCase extends DataObject,TQuery extends DataObject,TAdaptationKnowledge extends DataObject>
extends AbstractEmptyFactoryObjectImplementation
implements AdaptationFactoryObject
Abstract class of all adaptation algorithms
-
Field Summary
Modifier and TypeFieldDescriptionprotected WriteableObjectPool<TAdaptationKnowledge>
protected AlgorithmConfiguration
protected AlgorithmConfiguration
protected final org.slf4j.Logger
protected boolean
protected SimilarityCache
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
alwaysExecute.abstract AdaptationSession<TCase,
TQuery> execute
(AdaptationSession<TCase, TQuery> adaptationSession, TQuery query) execute.Each adaptation algorithm must have an unique id since .Getter for the fieldadaptationKnowledge
.Getter for the fieldalgorithmConfig
.abstract Set<AdaptationSession<TCase,
?>> getCoverageResults
(TCase caseObject) getCoverageResults.<t> t
getParameterOrDefault.init
(WriteableObjectPool<TCase> pool, SimilarityCache simCache, AlgorithmConfiguration algorithmConfig, AlgorithmConfiguration globalConfig) Init the adaptation algorithm according to the given configuration.boolean
isRemoveEqualSemanticAdaptationKnowledge.boolean
isRemoveEqualSyntacticAdaptationKnowledge.protected abstract WriteableObjectPool<TAdaptationKnowledge>
removeSemanticallyEqualAdaptationKnowledge.protected WriteableObjectPool<TAdaptationKnowledge>
removeSyntacticallyEqualAdaptationKnowledge.boolean
reusedAdaptationKnowledge.void
Setter for the fieldadaptationAlgorithmId
.void
setAdaptationKnowledge
(WriteableObjectPool<TAdaptationKnowledge> adaptationKnowledge) Setter for the fieldadaptationKnowledge
.void
setAlgorithmConfig
(AlgorithmConfiguration algorithmConfig) Setter for the fieldalgorithmConfig
.protected void
storeAdaptationKnowledge.toString()
abstract boolean
usesAdaptationKnowledge.Methods inherited from class de.uni_trier.wi2.procake.utils.composition.AbstractEmptyFactoryObjectImplementation
getParameters, postInit, preInit
Methods inherited from class de.uni_trier.wi2.procake.utils.composition.FactoryObjectImplementation
getParameter, initParametersBasedOn
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.uni_trier.wi2.procake.adaptation.AdaptationFactoryObject
getAdaptationAlgorithmName
-
Field Details
-
logger
protected final org.slf4j.Logger logger -
algorithmConfig
-
globalConfig
-
simCache
-
adaptationKnowledge
-
reusedAdaptationKnowledge
protected boolean reusedAdaptationKnowledge
-
-
Constructor Details
-
AdaptationAlgorithm
public AdaptationAlgorithm()
-
-
Method Details
-
init
public WriteableObjectPool<TCase> init(WriteableObjectPool<TCase> pool, SimilarityCache simCache, AlgorithmConfiguration algorithmConfig, AlgorithmConfiguration globalConfig) Init the adaptation algorithm according to the given configuration. During the initialization the adaptation knowledge will be created. The given object pool might be adapted and should be returned for further adaptations.- Parameters:
pool
- that can be adaptedsimCache
- Similarity CachealgorithmConfig
- Algorithm ConfigurationglobalConfig
- Global Configuration- Returns:
- pool that might be adapted during initialization by this adaptation algorithm
-
execute
public abstract AdaptationSession<TCase,TQuery> execute(AdaptationSession<TCase, TQuery> adaptationSession, TQuery query) execute.
- Parameters:
adaptationSession
- aAdaptationSession
objectquery
- a TQuery object- Returns:
- a
AdaptationSession
object
-
getCoverageResults
getCoverageResults.
- Parameters:
caseObject
- a TCase object- Returns:
- a
Set
object
-
storeAdaptationKnowledge
protected void storeAdaptationKnowledge()storeAdaptationKnowledge.
-
getAlgorithmConfig
Getter for the field
algorithmConfig
.- Returns:
- a
AlgorithmConfiguration
object
-
setAlgorithmConfig
Setter for the field
algorithmConfig
.- Parameters:
algorithmConfig
- aAlgorithmConfiguration
object
-
getAdaptationAlgorithmId
Each adaptation algorithm must have an unique id since . This id can be used to associate an adaptation algorithm instance with a file containing adaptation knowledge.- Returns:
- Returns the id of the adaptation algorithm.
-
setAdaptationAlgorithmId
Setter for the field
adaptationAlgorithmId
.- Parameters:
id
- aString
object
-
getParameterOrDefault
getParameterOrDefault.
- Type Parameters:
t
- a t class- Parameters:
param
- aAlgorithmParameters
object- Returns:
- a t object
-
getAdaptationKnowledge
Getter for the field
adaptationKnowledge
.- Returns:
- pool with adaptation knowledge used with this adaptation algorithm
-
setAdaptationKnowledge
Setter for the field
adaptationKnowledge
.- Parameters:
adaptationKnowledge
- that should be used with this adaptation algorithm
-
reusedAdaptationKnowledge
public boolean reusedAdaptationKnowledge()reusedAdaptationKnowledge.
- Returns:
- true if adaptation knowledge from previous calculations was loaded successfully
-
usesAdaptationKnowledge
public abstract boolean usesAdaptationKnowledge()usesAdaptationKnowledge.
- Returns:
- true if the algorithm uses adaptation knowledge that can be stored and loaded
-
alwaysExecute
public boolean alwaysExecute()alwaysExecute.
- Returns:
- true if the algorithm should be always executed even if the initial similarity between the query and the case is 1.0
-
isRemoveEqualSemanticAdaptationKnowledge
public boolean isRemoveEqualSemanticAdaptationKnowledge()isRemoveEqualSemanticAdaptationKnowledge.
- Returns:
- a boolean
-
isRemoveEqualSyntacticAdaptationKnowledge
public boolean isRemoveEqualSyntacticAdaptationKnowledge()isRemoveEqualSyntacticAdaptationKnowledge.
- Returns:
- a boolean
-
removeSyntacticallyEqualAdaptationKnowledge
protected WriteableObjectPool<TAdaptationKnowledge> removeSyntacticallyEqualAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> pool) removeSyntacticallyEqualAdaptationKnowledge.
- Parameters:
pool
- aWriteableObjectPool
object- Returns:
- a
WriteableObjectPool
object
-
removeSemanticallyEqualAdaptationKnowledge
protected abstract WriteableObjectPool<TAdaptationKnowledge> removeSemanticallyEqualAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> pool) removeSemanticallyEqualAdaptationKnowledge.
- Parameters:
pool
- aWriteableObjectPool
object- Returns:
- a
WriteableObjectPool
object
-
toString
-