edu.whs.spin2018.baoapp.presenter

## Class LobbyPresenter

- java.lang.Object
- - edu.whs.spin2018.baoapp.presenter.LobbyPresenter

- All Implemented Interfaces:
    LobbyEventListener, BasePresenter<LobbyRemoteDataSource>, LobbyContract.Presenter

      public class LobbyPresenter
      extends java.lang.Object
      implements LobbyContract.Presenter

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LobbyPresenter(LobbyContract.View lobbyView, SharedPrefZugriff benutzerInfo)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `beendeDialog()`
    `int` | `gibLobbyBenutzerItemAnzahl()` Liefert die Anzahl an Benutzern in der Lobby.
    `void` | `ladeBenutzerInLobby()` Fordert eine Liste mit den aktuellen Benutzern in der Lobby an.
    `void` | `lehneHerausforderungAb(java.lang.String gegnerUUID)` Wird aufgerufen, wenn der Benutzer den Herausforderung - Abbrechen Button im Dialog geklickt hat.
    `void` | `nimmHerausforderungAn(java.lang.String gegnerUUID)` Wird aufgerufen wenn der Benutzer (ich) die Herausforderung annimmt.
    `void` | `onBenutzerlisteErhalten(java.util.List<Benutzer> benutzerliste)`
    `void` | `onBenutzerTrittRaumBeiErhalten(Benutzer benutzer)`
    `void` | `onBenutzerVerlaesstRaumErhalten(Benutzer benutzer)`
    `void` | `onBindBenutzerItemView(int pos, BenutzerAdapter.BenutzerViewHolder holder)`
    `void` | `onHerausforderungAngenommenErhalten()`
    `void` | `onHerausforderungBeendetErhalten()`
    `void` | `onHerausforderungErhalten(Benutzer absender)`
    `void` | `sendeHerausforderung(int pos)` Sendet ein Herausforderungsevent an einen Benutzer.
    `void` | `setzeServiceInteractor(LobbyRemoteDataSource interactor)` Setzt einen ServiceInteractor fuer den Presenter um mit dem Server kommunizieren zu könnne
    `void` | `stop()` Stoppt den Presenter

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LobbyPresenter

          public LobbyPresenter(LobbyContract.View lobbyView,
                                SharedPrefZugriff benutzerInfo)

  - ### Method Detail

    - #### gibLobbyBenutzerItemAnzahl

          public int gibLobbyBenutzerItemAnzahl()

      Description copied from interface: `LobbyContract.Presenter`
      Liefert die Anzahl an Benutzern in der Lobby.
      Specified by:
        `gibLobbyBenutzerItemAnzahl` in interface `LobbyContract.Presenter`
      Returns:
        Anzahl der Benutzer in der Lobby

    - #### ladeBenutzerInLobby

          public void ladeBenutzerInLobby()

      Description copied from interface: `LobbyContract.Presenter`
      Fordert eine Liste mit den aktuellen Benutzern in der Lobby an.
      Specified by:
        `ladeBenutzerInLobby` in interface `LobbyContract.Presenter`

    - #### onBindBenutzerItemView

          public void onBindBenutzerItemView(int pos,
                                             BenutzerAdapter.BenutzerViewHolder holder)

      Specified by:
        `onBindBenutzerItemView` in interface `LobbyContract.Presenter`

    - #### beendeDialog

          public void beendeDialog()

      Specified by:
        `beendeDialog` in interface `LobbyContract.Presenter`

    - #### sendeHerausforderung

          public void sendeHerausforderung(int pos)

      Description copied from interface: `LobbyContract.Presenter`
      Sendet ein Herausforderungsevent an einen Benutzer.
      Specified by:
        `sendeHerausforderung` in interface `LobbyContract.Presenter`
      Parameters:
        `pos` - - Position des Benutzers, der herausgefordert werden soll, in der Lobbyliste

    - #### lehneHerausforderungAb

          public void lehneHerausforderungAb(java.lang.String gegnerUUID)

      Wird aufgerufen, wenn der Benutzer den Herausforderung - Abbrechen Button im Dialog geklickt hat. Sendet dem Gegner die Nachricht, dass die Herausforderung abgebrochen wurde.
      Specified by:
        `lehneHerausforderungAb` in interface `LobbyContract.Presenter`
      Parameters:
        `gegnerUUID` - - UUID, an die die Nachricht gesendet werden soll

    - #### onHerausforderungErhalten

          public void onHerausforderungErhalten(Benutzer absender)

      Specified by:
        `onHerausforderungErhalten` in interface `LobbyEventListener`

    - #### onHerausforderungBeendetErhalten

          public void onHerausforderungBeendetErhalten()

      Specified by:
        `onHerausforderungBeendetErhalten` in interface `LobbyEventListener`

    - #### onHerausforderungAngenommenErhalten

          public void onHerausforderungAngenommenErhalten()

      Specified by:
        `onHerausforderungAngenommenErhalten` in interface `LobbyEventListener`

    - #### onBenutzerVerlaesstRaumErhalten

          public void onBenutzerVerlaesstRaumErhalten(Benutzer benutzer)

      Specified by:
        `onBenutzerVerlaesstRaumErhalten` in interface `LobbyEventListener`

    - #### onBenutzerTrittRaumBeiErhalten

          public void onBenutzerTrittRaumBeiErhalten(Benutzer benutzer)

      Specified by:
        `onBenutzerTrittRaumBeiErhalten` in interface `LobbyEventListener`

    - #### onBenutzerlisteErhalten

          public void onBenutzerlisteErhalten(java.util.List<Benutzer> benutzerliste)

      Specified by:
        `onBenutzerlisteErhalten` in interface `LobbyEventListener`

    - #### nimmHerausforderungAn

          public void nimmHerausforderungAn(java.lang.String gegnerUUID)

      Wird aufgerufen wenn der Benutzer (ich) die Herausforderung annimmt.
      Specified by:
        `nimmHerausforderungAn` in interface `LobbyContract.Presenter`
      Parameters:
        `gegnerUUID` - - UUID an die die Nachricht zugestellt werden soll

    - #### stop

          public void stop()

      Description copied from interface: `BasePresenter`
      Stoppt den Presenter
      Specified by:
        `stop` in interface `BasePresenter<LobbyRemoteDataSource>`

    - #### setzeServiceInteractor

          public void setzeServiceInteractor(LobbyRemoteDataSource interactor)

      Description copied from interface: `BasePresenter`
      Setzt einen ServiceInteractor fuer den Presenter um mit dem Server kommunizieren zu könnne
      Specified by:
        `setzeServiceInteractor` in interface `BasePresenter<LobbyRemoteDataSource>`
      Parameters:
        `interactor` - - Interactor fuer den Presenter