Interfaces
==========

.. currentmodule:: npap.interfaces

Abstract base classes and data structures that define the NPAP strategy pattern.

Data Classes
------------

.. autoclass:: AggregationProfile
   :show-inheritance:
   :no-index:

   See :class:`npap.AggregationProfile` for full member documentation.

.. autoclass:: AggregationMode
   :show-inheritance:
   :no-index:

   See :class:`npap.AggregationMode` for full member documentation.

.. autoclass:: PartitionResult
   :show-inheritance:
   :no-index:

   See :class:`npap.PartitionResult` for full member documentation.

Strategy Interfaces
-------------------

.. autoclass:: DataLoadingStrategy
   :members:
   :show-inheritance:

.. autoclass:: PartitioningStrategy
   :members:
   :show-inheritance:

.. autoclass:: TopologyStrategy
   :members:
   :show-inheritance:

.. autoclass:: NodePropertyStrategy
   :members:
   :show-inheritance:

.. autoclass:: EdgePropertyStrategy
   :members:
   :show-inheritance:

.. autoclass:: PhysicalAggregationStrategy
   :members:
   :show-inheritance:
