de.hpi.fgis.dude.similarityfunction.aggregators
Class Aggregator

java.lang.Object
  extended by de.hpi.fgis.dude.similarityfunction.AbstractSimilarityFunction
      extended by de.hpi.fgis.dude.similarityfunction.aggregators.Aggregator
All Implemented Interfaces:
SimilarityFunction, AutoJsonable
Direct Known Subclasses:
Average, HarmonicMean, Maximum, Minimum

public abstract class Aggregator
extends AbstractSimilarityFunction

Aggregator aggregates the similarities returned by different SimilarityFunctions.

Author:
Matthias Pohl

Nested Class Summary
 
Nested classes/interfaces inherited from interface de.hpi.fgis.dude.similarityfunction.SimilarityFunction
SimilarityFunction.SimilarityValidationState
 
Constructor Summary
protected Aggregator()
          Internal constructor for Jsonable deserialization.
  Aggregator(SimilarityFunction... simFunctions)
          Initializes a MultiDuDeObjectComparator with a number of sub-comparators.
 
Method Summary
 void add(SimilarityFunction simFunction)
          Adds a SimilarityFunction to this Aggregator with no special multiplier.
 void add(SimilarityFunction simFunction, int multiplier)
          Adds a SimilarityFunction to this Aggregator with the passed multiplier.
protected  double calculateSimilarity(DuDeObject obj1, DuDeObject obj2)
          Calculates the similarity of the passed DuDeObjects.
 boolean equals(Object obj)
           
protected abstract  double getAggregatedSimilarity(double[] similarities, int[] multipliers)
          Aggregates the passed similarities and returns the aggregated similarity.
 int hashCode()
           
 
Methods inherited from class de.hpi.fgis.dude.similarityfunction.AbstractSimilarityFunction
getLastValidationState, getSimilarity, setValidationState
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Aggregator

protected Aggregator()
Internal constructor for Jsonable deserialization.


Aggregator

public Aggregator(SimilarityFunction... simFunctions)
Initializes a MultiDuDeObjectComparator with a number of sub-comparators.

Parameters:
simFunctions - The SimilarityFunctions of which the aggregated similarity shall be calculated.
Method Detail

add

public void add(SimilarityFunction simFunction)
Adds a SimilarityFunction to this Aggregator with no special multiplier.

Parameters:
simFunction - The SimilarityFunction to add.

add

public void add(SimilarityFunction simFunction,
                int multiplier)
Adds a SimilarityFunction to this Aggregator with the passed multiplier.

Parameters:
multiplier - The multiplier that corresponds to the passed SimilarityFunction.
simFunction - The SimilarityFunction to add.
Throws:
NullPointerException - If no SimilarityFunction was passed.
IllegalArgumentException - If the passed multiplier is less than 0.

calculateSimilarity

protected double calculateSimilarity(DuDeObject obj1,
                                     DuDeObject obj2)
Description copied from class: AbstractSimilarityFunction
Calculates the similarity of the passed DuDeObjects. This similarity has to be within the range of [0; 1].

Specified by:
calculateSimilarity in class AbstractSimilarityFunction
Parameters:
obj1 - The first DuDeObject.
obj2 - The second DuDeObject.
Returns:
The similarity of the passed DuDeObjects.

getAggregatedSimilarity

protected abstract double getAggregatedSimilarity(double[] similarities,
                                                  int[] multipliers)
Aggregates the passed similarities and returns the aggregated similarity.

Parameters:
similarities - The similarities on which the aggregated similarity is based.
multipliers - The multipliers.
Returns:
The aggregated similarity.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object


Copyright © 2011 Hasso Plattner Institute - Chair of Information Systems. All Rights Reserved.