Class SubscriptionDAOImpl

java.lang.Object
it.unisa.c03.myPersonalTrainer.subscription.dao.SubscriptionDAOImpl
All Implemented Interfaces:
SubscriptionDAO

public class SubscriptionDAOImpl
extends java.lang.Object
implements SubscriptionDAO
  • Constructor Summary

    Constructors
    Constructor Description
    SubscriptionDAOImpl()  
  • Method Summary

    Modifier and Type Method Description
    java.util.ArrayList<Subscription> getAllSubscriptions()
    This method retrieves all subscriptions saved in db.
    Subscription getSubscriptionbyEmail​(java.lang.String clientMail)
    This method searches in the database for a customer's subscription, given his email.
    java.lang.String getSubscriptionDocumentIdByEmail​(java.lang.String email)
    This DAO method looks for the document id of subscription.
    void insertSubscription​(Subscription sub)
    This method interact with database to insert the subscription.
    boolean updateSentNotification​(java.lang.String email)
    This DAO method marks that the client received the notification.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SubscriptionDAOImpl

      public SubscriptionDAOImpl()
  • Method Details

    • insertSubscription

      public void insertSubscription​(Subscription sub) throws java.io.IOException
      This method interact with database to insert the subscription.
      Specified by:
      insertSubscription in interface SubscriptionDAO
      Parameters:
      sub - the subscription to insert into database
      Throws:
      java.io.IOException
    • getSubscriptionbyEmail

      public Subscription getSubscriptionbyEmail​(java.lang.String clientMail) throws java.io.IOException, java.util.concurrent.ExecutionException, java.lang.InterruptedException
      This method searches in the database for a customer's subscription, given his email.
      Specified by:
      getSubscriptionbyEmail in interface SubscriptionDAO
      Parameters:
      clientMail - customer mail
      Returns:
      the Subscription.
      Throws:
      java.io.IOException
      java.util.concurrent.ExecutionException
      java.lang.InterruptedException
    • getAllSubscriptions

      public java.util.ArrayList<Subscription> getAllSubscriptions() throws java.io.IOException, java.util.concurrent.ExecutionException, java.lang.InterruptedException
      This method retrieves all subscriptions saved in db.
      Specified by:
      getAllSubscriptions in interface SubscriptionDAO
      Returns:
      subscription list
      Throws:
      java.io.IOException
      java.util.concurrent.ExecutionException
      java.lang.InterruptedException
    • getSubscriptionDocumentIdByEmail

      public java.lang.String getSubscriptionDocumentIdByEmail​(java.lang.String email) throws java.io.IOException, java.util.concurrent.ExecutionException, java.lang.InterruptedException
      This DAO method looks for the document id of subscription.
      Specified by:
      getSubscriptionDocumentIdByEmail in interface SubscriptionDAO
      Parameters:
      email - of the account
      Returns:
      the document Id
      Throws:
      java.io.IOException
      java.util.concurrent.ExecutionException
      java.lang.InterruptedException
    • updateSentNotification

      public boolean updateSentNotification​(java.lang.String email) throws java.io.IOException, java.util.concurrent.ExecutionException, java.lang.InterruptedException
      This DAO method marks that the client received the notification.
      Specified by:
      updateSentNotification in interface SubscriptionDAO
      Parameters:
      email - client's subscription mail.
      Returns:
      true after the change has taken place
      Throws:
      java.io.IOException
      java.util.concurrent.ExecutionException
      java.lang.InterruptedException