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
Fields Modifier and Type Field Description protected WriteableObjectPool<TAdaptationKnowledge>adaptationKnowledgeprotected AlgorithmConfigurationalgorithmConfigprotected AlgorithmConfigurationglobalConfigprotected org.slf4j.Loggerloggerprotected booleanreusedAdaptationKnowledgeprotected SimilarityCachesimCache
-
Constructor Summary
Constructors Constructor Description AdaptationAlgorithm()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanalwaysExecute()alwaysExecute.abstract AdaptationSession<TCase,TQuery>execute(AdaptationSession<TCase,TQuery> adaptationSession, TQuery query)execute.StringgetAdaptationAlgorithmId()Each adaptation algorithm must have an unique id since .WriteableObjectPool<TAdaptationKnowledge>getAdaptationKnowledge()Getter for the fieldadaptationKnowledge.AlgorithmConfigurationgetAlgorithmConfig()Getter for the fieldalgorithmConfig.abstract Set<AdaptationSession<TCase,?>>getCoverageResults(TCase caseObject)getCoverageResults.<t> tgetParameterOrDefault(AlgorithmParameters param)getParameterOrDefault.WriteableObjectPool<TCase>init(WriteableObjectPool<TCase> pool, SimilarityCache simCache, AlgorithmConfiguration algorithmConfig, AlgorithmConfiguration globalConfig)Init the adaptation algorithm according to the given configuration.booleanisRemoveEqualSemanticAdaptationKnowledge()isRemoveEqualSemanticAdaptationKnowledge.booleanisRemoveEqualSyntacticAdaptationKnowledge()isRemoveEqualSyntacticAdaptationKnowledge.protected abstract WriteableObjectPool<TAdaptationKnowledge>removeSemanticallyEqualAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> pool)removeSemanticallyEqualAdaptationKnowledge.protected WriteableObjectPool<TAdaptationKnowledge>removeSyntacticallyEqualAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> pool)removeSyntacticallyEqualAdaptationKnowledge.booleanreusedAdaptationKnowledge()reusedAdaptationKnowledge.voidsetAdaptationAlgorithmId(String id)Setter for the fieldadaptationAlgorithmId.voidsetAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> adaptationKnowledge)Setter for the fieldadaptationKnowledge.voidsetAlgorithmConfig(AlgorithmConfiguration algorithmConfig)Setter for the fieldalgorithmConfig.protected voidstoreAdaptationKnowledge()storeAdaptationKnowledge.StringtoString()abstract booleanusesAdaptationKnowledge()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 Detail
-
logger
protected final org.slf4j.Logger logger
-
algorithmConfig
protected AlgorithmConfiguration algorithmConfig
-
globalConfig
protected AlgorithmConfiguration globalConfig
-
simCache
protected SimilarityCache simCache
-
adaptationKnowledge
protected WriteableObjectPool<TAdaptationKnowledge extends DataObject> adaptationKnowledge
-
reusedAdaptationKnowledge
protected boolean reusedAdaptationKnowledge
-
-
Method Detail
-
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- aAdaptationSessionobjectquery- a TQuery object- Returns:
- a
AdaptationSessionobject
-
getCoverageResults
public abstract Set<AdaptationSession<TCase,?>> getCoverageResults(TCase caseObject)
getCoverageResults.
- Parameters:
caseObject- a TCase object- Returns:
- a
Setobject
-
storeAdaptationKnowledge
protected void storeAdaptationKnowledge()
storeAdaptationKnowledge.
-
getAlgorithmConfig
public AlgorithmConfiguration getAlgorithmConfig()
Getter for the field
algorithmConfig.- Returns:
- a
AlgorithmConfigurationobject
-
setAlgorithmConfig
public void setAlgorithmConfig(AlgorithmConfiguration algorithmConfig)
Setter for the field
algorithmConfig.- Parameters:
algorithmConfig- aAlgorithmConfigurationobject
-
getAdaptationAlgorithmId
public String 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
public void setAdaptationAlgorithmId(String id)
Setter for the field
adaptationAlgorithmId.- Parameters:
id- aStringobject
-
getParameterOrDefault
public <t> t getParameterOrDefault(AlgorithmParameters param)
getParameterOrDefault.
- Type Parameters:
t- a t class- Parameters:
param- aAlgorithmParametersobject- Returns:
- a t object
-
getAdaptationKnowledge
public WriteableObjectPool<TAdaptationKnowledge> getAdaptationKnowledge()
Getter for the field
adaptationKnowledge.- Returns:
- pool with adaptation knowledge used with this adaptation algorithm
-
setAdaptationKnowledge
public void setAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> adaptationKnowledge)
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- aWriteableObjectPoolobject- Returns:
- a
WriteableObjectPoolobject
-
removeSemanticallyEqualAdaptationKnowledge
protected abstract WriteableObjectPool<TAdaptationKnowledge> removeSemanticallyEqualAdaptationKnowledge(WriteableObjectPool<TAdaptationKnowledge> pool)
removeSemanticallyEqualAdaptationKnowledge.
- Parameters:
pool- aWriteableObjectPoolobject- Returns:
- a
WriteableObjectPoolobject
-
-