class MainActivity {
  - {static} LOADER_ID : int = 0
  + getPredictions(page : String, pair : String) : void
}

class PredictionView {
  + {static} DEFAULT_PAIR : String = 'USDJPY'
  - predictionListView : ListView
  - nextButton : Button
  - currentPage : Integer
  - currentPair : String
  + PredictionView(context : Context, attributeSet : AttributeSet)
  + showMessage(message : String) :void
  + addPredictions(predictionss : ArrayList) : void
  + fixListViewHeight(listView : ListView) : void
}

class PredictionListAdapter {
  + PredictionListAdapter(context : Context, predictions : List)
}

class Prediction {
  - datetime : Datetime
  - pair : String
  - result : String
  + Prediction(prediction : JSONObject)
  + getDatetime() : Datetime
  + getPair() : String
  + getResult() : String
}

class HTTPClient {
  - {static} host : String
  - {static} BASE_PATH : String = "/regulus/api"
  - {static} PORT : String = "80"
  - webApiProp : Properties
  - con : HttpUrlConnection
  - response : HashMap
  + HTTPClient(context : Context)
  + getPredictions(page : String, pair : String) : void
  + sendRequest() : HashMap
  - credential() : String
}

MainActivity "1" --> "1" HTTPClient
MainActivity "1" --> "1" PredictionView
PredictionView "1" -- "1" PredictionListAdapter
PredictionView "1" -- "*" Prediction
PredictionListAdapter "1" -- "*" Prediction
