Interface DynamicPreferenceAggregator<T>

Type Parameters:
T - generic preference order type
All Known Implementing Classes:
DynamicBordaScoringPreferenceAggregator, DynamicPluralityScoringPreferenceAggregator, DynamicScoringPreferenceAggregator, DynamicVetoScoringPreferenceAggregator

public interface DynamicPreferenceAggregator<T>
This interface is meant to be used for the dynamic aggregation of some generic preference orders
Author:
Bastian Wolf
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    The add-method for listeners for a dynamic preference aggregator
    Abstract class for implementation of dynamic preference aggregation
    void
    The remove-method for listeners for a dynamic preference aggregator
    update(Update<T> update, List<PreferenceOrder<T>> input)
    This update stream is going to be used for dynamic changes in a preferences orders Input: ArrayList(Quadruple(PreferenceOrder, Number of Operations, Operation, Element)) e.g: weakening element b in PO test 2 times needs quadruple like this: Quadruple(test, 2, WEAKEN, b) Possible Structures: ArrayList, Queue Empty initialization, update() if stream is not empty
  • Method Details

    • aggregate

      PreferenceOrder<T> aggregate(List<PreferenceOrder<T>> input)
      Abstract class for implementation of dynamic preference aggregation
      Parameters:
      input - the array of preference orders to be aggregated
      Returns:
      the final result as a preference order
    • update

      PreferenceOrder<T> update(Update<T> update, List<PreferenceOrder<T>> input)
      This update stream is going to be used for dynamic changes in a preferences orders Input: ArrayList(Quadruple(PreferenceOrder, Number of Operations, Operation, Element)) e.g: weakening element b in PO test 2 times needs quadruple like this: Quadruple(test, 2, WEAKEN, b) Possible Structures: ArrayList, Queue Empty initialization, update() if stream is not empty
      Parameters:
      update - an update
      input - some input
      Returns:
      a preference order
    • addListener

      void addListener(UpdateListener<T> listener)
      The add-method for listeners for a dynamic preference aggregator
      Parameters:
      listener - an update listener
    • removeListener

      void removeListener(UpdateListener<T> listener)
      The remove-method for listeners for a dynamic preference aggregator
      Parameters:
      listener - an update listener