90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @startuml
 | |
| package com.iluwatar.model.view.presenter {
 | |
|   class App {
 | |
|     + App()
 | |
|     + main(args : String[]) {static}
 | |
|   }
 | |
|   class FileLoader {
 | |
|     - LOGGER : Logger {static}
 | |
|     - fileName : String
 | |
|     - loaded : boolean
 | |
|     - serialVersionUID : long {static}
 | |
|     + FileLoader()
 | |
|     + fileExists() : boolean
 | |
|     + getFileName() : String
 | |
|     + isLoaded() : boolean
 | |
|     + loadData() : String
 | |
|     + setFileName(fileName : String)
 | |
|   }
 | |
|   class FileSelectorJFrame {
 | |
|     - area : JTextArea
 | |
|     - cancel : JButton
 | |
|     - contents : JLabel
 | |
|     - fileName : String
 | |
|     - info : JLabel
 | |
|     - input : JTextField
 | |
|     - ok : JButton
 | |
|     - panel : JPanel
 | |
|     - presenter : FileSelectorPresenter
 | |
|     - serialVersionUID : long {static}
 | |
|     + FileSelectorJFrame()
 | |
|     + actionPerformed(e : ActionEvent)
 | |
|     + close()
 | |
|     + displayData(data : String)
 | |
|     + getFileName() : String
 | |
|     + getPresenter() : FileSelectorPresenter
 | |
|     + isOpened() : boolean
 | |
|     + open()
 | |
|     + setFileName(name : String)
 | |
|     + setPresenter(presenter : FileSelectorPresenter)
 | |
|     + showMessage(message : String)
 | |
|   }
 | |
|   class FileSelectorPresenter {
 | |
|     - loader : FileLoader
 | |
|     - serialVersionUID : long {static}
 | |
|     - view : FileSelectorView
 | |
|     + FileSelectorPresenter(view : FileSelectorView)
 | |
|     + cancelled()
 | |
|     + confirmed()
 | |
|     + fileNameChanged()
 | |
|     + setLoader(loader : FileLoader)
 | |
|     + start()
 | |
|   }
 | |
|   class FileSelectorStub {
 | |
|     - dataDisplayed : boolean
 | |
|     - name : String
 | |
|     - numOfMessageSent : int
 | |
|     - opened : boolean
 | |
|     - presenter : FileSelectorPresenter
 | |
|     + FileSelectorStub()
 | |
|     + close()
 | |
|     + dataDisplayed() : boolean
 | |
|     + displayData(data : String)
 | |
|     + getFileName() : String
 | |
|     + getMessagesSent() : int
 | |
|     + getPresenter() : FileSelectorPresenter
 | |
|     + isOpened() : boolean
 | |
|     + open()
 | |
|     + setFileName(name : String)
 | |
|     + setPresenter(presenter : FileSelectorPresenter)
 | |
|     + showMessage(message : String)
 | |
|   }
 | |
|   interface FileSelectorView {
 | |
|     + close() {abstract}
 | |
|     + displayData(String) {abstract}
 | |
|     + getFileName() : String {abstract}
 | |
|     + getPresenter() : FileSelectorPresenter {abstract}
 | |
|     + isOpened() : boolean {abstract}
 | |
|     + open() {abstract}
 | |
|     + setFileName(String) {abstract}
 | |
|     + setPresenter(FileSelectorPresenter) {abstract}
 | |
|     + showMessage(String) {abstract}
 | |
|   }
 | |
| }
 | |
| FileSelectorJFrame -->  "-presenter" FileSelectorPresenter
 | |
| FileSelectorStub -->  "-presenter" FileSelectorPresenter
 | |
| FileSelectorPresenter -->  "-view" FileSelectorView
 | |
| FileSelectorPresenter -->  "-loader" FileLoader
 | |
| FileSelectorJFrame ..|> FileSelectorView 
 | |
| FileSelectorStub ..|> FileSelectorView 
 | |
| @enduml |