# Hierarchy For All Packages

Package Hierarchies:

- edu.whs.spin2018.baoapp,
- edu.whs.spin2018.baoapp.model,
- edu.whs.spin2018.baoapp.model.benutzerinfo,
- edu.whs.spin2018.baoapp.model.remote,
- edu.whs.spin2018.baoapp.model.remote.lobby,
- edu.whs.spin2018.baoapp.model.remote.mehrspieler,
- edu.whs.spin2018.baoapp.model.remote.spielbrett,
- edu.whs.spin2018.baoapp.model.remote.spieleinstellungen,
- edu.whs.spin2018.baoapp.model.spiel,
- edu.whs.spin2018.baoapp.model.spiel.spieler,
- edu.whs.spin2018.baoapp.presenter,
- edu.whs.spin2018.baoapp.service,
- edu.whs.spin2018.baoapp.utilities,
- edu.whs.spin2018.baoapp.views,
- edu.whs.spin2018.baoapp.views.lobby,
- edu.whs.spin2018.baoapp.views.menues,
- edu.whs.spin2018.baoapp.views.spiel

## Class Hierarchy

- java.lang.Object
  - edu.whs.spin2018.baoapp.model.spiel.BaoSpiel (implements edu.whs.spin2018.baoapp.model.spiel.TimerListener)
  - edu.whs.spin2018.baoapp.presenter.BaoSpielPresenter (implements edu.whs.spin2018.baoapp.views.spiel.BaoSpielContract.Presenter, edu.whs.spin2018.baoapp.model.spiel.TimerListener)
  - edu.whs.spin2018.baoapp.BaoSpielTest
  - edu.whs.spin2018.baoapp.model.spiel.BaoTimer
  - edu.whs.spin2018.baoapp.model.Benutzer
  - android.os.Binder (implements android.os.IBinder)
    - edu.whs.spin2018.baoapp.service.BaoService.LocalBinder
  - edu.whs.spin2018.baoapp.service.ClientSocket
  - edu.whs.spin2018.baoapp.ComputerSpielerEinfachTest
  - android.content.Context
    - android.content.ContextWrapper
      - android.view.ContextThemeWrapper
        - android.app.Activity (implements android.content.ComponentCallbacks2, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory2, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback)
          - android.support.v4.app.SupportActivity (implements android.support.v4.view.KeyEventDispatcher.Component, android.arch.lifecycle.LifecycleOwner)
            - android.support.v4.app.FragmentActivity (implements android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback, android.support.v4.app.ActivityCompat.RequestPermissionsRequestCodeValidator, android.arch.lifecycle.ViewModelStoreOwner)
              - android.support.v7.app.AppCompatActivity (implements android.support.v7.app.ActionBarDrawerToggle.DelegateProvider, android.support.v7.app.AppCompatCallback, android.support.v4.app.TaskStackBuilder.SupportParentable)
                - edu.whs.spin2018.baoapp.views.menues.EinstellungenActivity
                - edu.whs.spin2018.baoapp.views.menues.EinzelspielerActivity
                - edu.whs.spin2018.baoapp.views.menues.LokaleSpieleinstellungenActivity
                - edu.whs.spin2018.baoapp.views.OnlineActivity (implements android.content.ServiceConnection)
                  - edu.whs.spin2018.baoapp.views.spiel.BaoSpielActivity (implements edu.whs.spin2018.baoapp.views.spiel.BaoSpielContract.View)
                  - edu.whs.spin2018.baoapp.views.menues.HauptmenueActivity (implements edu.whs.spin2018.baoapp.views.menues.NamensabfrageDialog.OnNameGesetztListener)
                  - edu.whs.spin2018.baoapp.views.lobby.LobbyActivity (implements edu.whs.spin2018.baoapp.views.lobby.HerausforderungsDialog.OnActionHappenedListener, edu.whs.spin2018.baoapp.views.lobby.LobbyContract.View)
                  - edu.whs.spin2018.baoapp.views.menues.MehrspielerActivity (implements edu.whs.spin2018.baoapp.views.menues.MehrspielerContract.View)
                  - edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenActivity (implements android.widget.AdapterView.OnItemSelectedListener, edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenContract.View, edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenVerlassenDialog.OnAuswahlGetroffenListener, edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenWurdenVerlassenDialog.OnDialogBestaetigtListener)
                - edu.whs.spin2018.baoapp.views.menues.RegelnActivity
      - android.app.Service (implements android.content.ComponentCallbacks2)
        - edu.whs.spin2018.baoapp.service.BaoService (implements edu.whs.spin2018.baoapp.service.BaoServiceInterface)
  - edu.whs.spin2018.baoapp.ExampleInstrumentedTest
  - edu.whs.spin2018.baoapp.ExampleUnitTest
  - android.support.v4.app.Fragment (implements android.content.ComponentCallbacks, android.arch.lifecycle.LifecycleOwner, android.view.View.OnCreateContextMenuListener, android.arch.lifecycle.ViewModelStoreOwner)
    - android.support.v4.app.DialogFragment (implements android.content.DialogInterface.OnCancelListener, android.content.DialogInterface.OnDismissListener)
      - edu.whs.spin2018.baoapp.views.lobby.HerausforderungsDialog
        - edu.whs.spin2018.baoapp.views.lobby.HerausforderungAusgehendDialog
        - edu.whs.spin2018.baoapp.views.lobby.HerausforderungEingehendDialog
      - edu.whs.spin2018.baoapp.views.menues.NamensabfrageDialog
      - edu.whs.spin2018.baoapp.views.spiel.SpielBeendetDialog
      - edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenVerlassenDialog
      - edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenWurdenVerlassenDialog
      - edu.whs.spin2018.baoapp.views.spiel.SpielVerlassenDialog
  - edu.whs.spin2018.baoapp.views.spiel.HandView
  - edu.whs.spin2018.baoapp.views.lobby.ItemClickSupport
  - edu.whs.spin2018.baoapp.utilities.JSONUtils
  - edu.whs.spin2018.baoapp.service.Konstanten
  - edu.whs.spin2018.baoapp.presenter.LobbyPresenter (implements edu.whs.spin2018.baoapp.views.lobby.LobbyContract.Presenter)
  - edu.whs.spin2018.baoapp.presenter.MehrspielerPresenter (implements edu.whs.spin2018.baoapp.views.menues.MehrspielerContract.Presenter)
  - edu.whs.spin2018.baoapp.model.spiel.Mulde
  - edu.whs.spin2018.baoapp.utilities.MuldenUtils
  - edu.whs.spin2018.baoapp.model.spiel.MuldenVeraenderung
  - edu.whs.spin2018.baoapp.views.spiel.MuldenView
  - edu.whs.spin2018.baoapp.model.Nachricht
  - edu.whs.spin2018.baoapp.model.spiel.Position
  - edu.whs.spin2018.baoapp.views.spiel.PositionAufBildschirm
  - android.support.v7.widget.RecyclerView.Adapter<VH>
    - edu.whs.spin2018.baoapp.views.lobby.BenutzerAdapter
  - android.support.v7.widget.RecyclerView.ViewHolder
    - edu.whs.spin2018.baoapp.views.lobby.BenutzerAdapter.BenutzerViewHolder (implements edu.whs.spin2018.baoapp.views.lobby.BenutzerItemView)
  - edu.whs.spin2018.baoapp.model.remote.ServiceInteractor (implements edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface)
    - edu.whs.spin2018.baoapp.model.remote.lobby.LobbyServiceInteractor (implements edu.whs.spin2018.baoapp.model.remote.lobby.LobbyRemoteDataSource)
    - edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerServiceInteractor (implements edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerRemoteDataSource)
    - edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettServiceInteractor (implements edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettRemoteDataSource)
    - edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenServiceInteractor (implements edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenRemoteDataSource)
  - edu.whs.spin2018.baoapp.model.benutzerinfo.SharedPrefHelfer (implements edu.whs.spin2018.baoapp.model.benutzerinfo.SharedPrefZugriff)
  - edu.whs.spin2018.baoapp.utilities.SharedPrefUtils
  - edu.whs.spin2018.baoapp.service.SocketEvents
  - edu.whs.spin2018.baoapp.presenter.SpieleinstellungenPresenter (implements edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenContract.Presenter)
  - edu.whs.spin2018.baoapp.model.spiel.spieler.Spieler
    - edu.whs.spin2018.baoapp.model.spiel.spieler.ComputerSpieler
      - edu.whs.spin2018.baoapp.model.spiel.spieler.ComputerSpielerEinfach
      - edu.whs.spin2018.baoapp.model.spiel.spieler.ComputerSpielerMittel
      - edu.whs.spin2018.baoapp.model.spiel.spieler.ComputerSpielerSchwer
    - edu.whs.spin2018.baoapp.model.spiel.spieler.MenschlicherSpieler
  - edu.whs.spin2018.baoapp.model.spiel.Spielzug
  - edu.whs.spin2018.baoapp.views.spiel.SteinView
  - android.view.View (implements android.view.accessibility.AccessibilityEventSource, android.graphics.drawable.Drawable.Callback, android.view.KeyEvent.Callback)
    - android.widget.TextView (implements android.view.ViewTreeObserver.OnPreDrawListener)
      - android.widget.Button
        - android.support.v7.widget.AppCompatButton (implements android.support.v4.widget.AutoSizeableTextView, android.support.v4.view.TintableBackgroundView)
          - edu.whs.spin2018.baoapp.views.spiel.PositionsButton
  - edu.whs.spin2018.baoapp.utilities.ViewUtils

## Interface Hierarchy

- edu.whs.spin2018.baoapp.service.BaoServiceInterface
  - edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface
    - edu.whs.spin2018.baoapp.model.remote.lobby.LobbyRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.lobby.LobbyEventListener)
    - edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerEventListener)
    - edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettEventListener)
    - edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenEventListener)
  - edu.whs.spin2018.baoapp.model.remote.lobby.LobbyRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface, edu.whs.spin2018.baoapp.model.remote.lobby.LobbyEventListener)
  - edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface, edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerEventListener)
  - edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface, edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettEventListener)
  - edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface, edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenEventListener)
- edu.whs.spin2018.baoapp.views.spiel.BaoSpielContract
- edu.whs.spin2018.baoapp.presenter.BasePresenter<T>
  - edu.whs.spin2018.baoapp.views.spiel.BaoSpielContract.Presenter (also extends edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettEventListener)
  - edu.whs.spin2018.baoapp.views.lobby.LobbyContract.Presenter (also extends edu.whs.spin2018.baoapp.model.remote.lobby.LobbyEventListener)
  - edu.whs.spin2018.baoapp.views.menues.MehrspielerContract.Presenter (also extends edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerEventListener)
  - edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenContract.Presenter (also extends edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenEventListener)
- edu.whs.spin2018.baoapp.views.BaseView<T>
  - edu.whs.spin2018.baoapp.views.spiel.BaoSpielContract.View
  - edu.whs.spin2018.baoapp.views.lobby.LobbyContract.View
  - edu.whs.spin2018.baoapp.views.menues.MehrspielerContract.View
  - edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenContract.View
- edu.whs.spin2018.baoapp.views.lobby.BenutzerItemView
- edu.whs.spin2018.baoapp.views.lobby.HerausforderungsDialog.OnActionHappenedListener
- edu.whs.spin2018.baoapp.views.lobby.ItemClickSupport.OnItemClickListener
- edu.whs.spin2018.baoapp.views.lobby.ItemClickSupport.OnItemLongClickListener
- edu.whs.spin2018.baoapp.views.lobby.LobbyContract
- edu.whs.spin2018.baoapp.model.remote.lobby.LobbyEventListener
  - edu.whs.spin2018.baoapp.views.lobby.LobbyContract.Presenter (also extends edu.whs.spin2018.baoapp.presenter.BasePresenter<T>)
  - edu.whs.spin2018.baoapp.model.remote.lobby.LobbyRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface)
- edu.whs.spin2018.baoapp.views.menues.MehrspielerContract
- edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerEventListener
  - edu.whs.spin2018.baoapp.views.menues.MehrspielerContract.Presenter (also extends edu.whs.spin2018.baoapp.presenter.BasePresenter<T>)
  - edu.whs.spin2018.baoapp.model.remote.mehrspieler.MehrspielerRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface)
- edu.whs.spin2018.baoapp.views.menues.NamensabfrageDialog.OnNameGesetztListener
- edu.whs.spin2018.baoapp.model.benutzerinfo.SharedPrefZugriff
- edu.whs.spin2018.baoapp.views.spiel.SpielBeendetDialog.SpielBeendetListener
- edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettEventListener
  - edu.whs.spin2018.baoapp.views.spiel.BaoSpielContract.Presenter (also extends edu.whs.spin2018.baoapp.presenter.BasePresenter<T>)
  - edu.whs.spin2018.baoapp.model.remote.spielbrett.SpielbrettRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface)
- edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenContract
- edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenEventListener
  - edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenContract.Presenter (also extends edu.whs.spin2018.baoapp.presenter.BasePresenter<T>)
  - edu.whs.spin2018.baoapp.model.remote.spieleinstellungen.SpieleinstellungenRemoteDataSource (also extends edu.whs.spin2018.baoapp.model.remote.BaseInteractorInterface)
- edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenVerlassenDialog.OnAuswahlGetroffenListener
- edu.whs.spin2018.baoapp.views.menues.SpieleinstellungenWurdenVerlassenDialog.OnDialogBestaetigtListener
- edu.whs.spin2018.baoapp.views.spiel.SpielVerlassenDialog.SpielVerlassenListener
- edu.whs.spin2018.baoapp.model.spiel.TimerListener

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - edu.whs.spin2018.baoapp.model.spiel.MuldenAktion
    - edu.whs.spin2018.baoapp.model.spiel.spieler.SpielerIndex