Class TariffRepo

  • All Implemented Interfaces:
    DomainRepo

    @Service
    public class TariffRepo
    extends Object
    implements DomainRepo
    Repository for TariffSpecifications, Tariffs, Rates, and other related types.
    Author:
    John Collins
    • Constructor Detail

      • TariffRepo

        public TariffRepo()
    • Method Detail

      • addSpecification

        public void addSpecification​(TariffSpecification spec)
        Adds a TariffSpecification to the repo just in case another spec (or this one) has not already been added sometime in the past.
      • removeSpecification

        public void removeSpecification​(long id)
      • addTariff

        public void addTariff​(Tariff tariff)
      • findTariffById

        public Tariff findTariffById​(long id)
      • findAllTariffs

        public List<Tariff> findAllTariffs()
      • findActiveTariffs

        public List<Tariff> findActiveTariffs​(PowerType type)
        Returns the list of active tariffs that exactly match the given PowerType.
      • findAllActiveTariffs

        public List<Tariff> findAllActiveTariffs​(PowerType type)
        Returns the list of active tariffs that can be used by a customer of the given PowerType, including those that are more generic than the specific type.
      • findRecentActiveTariffs

        public List<Tariff> findRecentActiveTariffs​(int n,
                                                    PowerType type)
        Returns the n most "recent" active tariffs from each broker that can be used by a customer with the given powerType.
      • findTariffsByBroker

        public List<Tariff> findTariffsByBroker​(Broker broker)
      • removeTariff

        public void removeTariff​(Tariff tariff)
        Removes a tariff and its specification from the repo. remembers that tariff has been removed, prevents re-adding.
      • deleteTariff

        public void deleteTariff​(Tariff tariff)
        Deletes a tariff and its specification from the repo, without tracking. Should not be used in the server.
      • isRemoved

        public boolean isRemoved​(long tariffId)
        Tests whether a tariff has been deleted.
      • findRateById

        public Rate findRateById​(long id)
      • addBalancingOrder

        public void addBalancingOrder​(BalancingOrder order)
        Adds a balancing order, indexed by its TariffSpec
      • getBalancingOrders

        public Collection<BalancingOrder> getBalancingOrders()
        Retrieves the complete set of balancing orders
      • recycle

        public void recycle()
        Description copied from interface: DomainRepo
        Implementations must clear out the repository in preparation for a new simulation.
        Specified by:
        recycle in interface DomainRepo