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
							 |