@startuml package com.iluwatar.event.queue { class App { + App() + getAudioStream(filePath : String) : AudioInputStream {static} + main(args : String[]) {static} } class Audio { - MAX_PENDING : int {static} - headIndex : int {static} - pendingAudio : PlayMessage[] {static} - tailIndex : int {static} - updateThread : Thread {static} + Audio() + init() {static} + playSound(stream : AudioInputStream, volume : float) {static} + stopService() {static} + update() {static} } class PlayMessage { ~ stream : AudioInputStream ~ volume : float + PlayMessage() } } @enduml