53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								@startuml
							 | 
						||
| 
								 | 
							
								package com.iluwatar.parameter.object {
							 | 
						||
| 
								 | 
							
								  class App {
							 | 
						||
| 
								 | 
							
								    - LOGGER : Logger {static}
							 | 
						||
| 
								 | 
							
								    + App()
							 | 
						||
| 
								 | 
							
								    + main(args : String[]) {static}
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class ParameterObject {
							 | 
						||
| 
								 | 
							
								    + DEFAULT_SORT_BY : String {static}
							 | 
						||
| 
								 | 
							
								    + DEFAULT_SORT_ORDER : SortOrder {static}
							 | 
						||
| 
								 | 
							
								    - sortBy : String
							 | 
						||
| 
								 | 
							
								    - sortOrder : SortOrder
							 | 
						||
| 
								 | 
							
								    - type : String
							 | 
						||
| 
								 | 
							
								    - ParameterObject(builder : Builder)
							 | 
						||
| 
								 | 
							
								    + getSortBy() : String
							 | 
						||
| 
								 | 
							
								    + getSortOrder() : SortOrder
							 | 
						||
| 
								 | 
							
								    + getType() : String
							 | 
						||
| 
								 | 
							
								    + newBuilder() : Builder {static}
							 | 
						||
| 
								 | 
							
								    + setSortBy(sortBy : String)
							 | 
						||
| 
								 | 
							
								    + setSortOrder(sortOrder : SortOrder)
							 | 
						||
| 
								 | 
							
								    + setType(type : String)
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class Builder {
							 | 
						||
| 
								 | 
							
								    - sortBy : String
							 | 
						||
| 
								 | 
							
								    - sortOrder : SortOrder
							 | 
						||
| 
								 | 
							
								    - type : String
							 | 
						||
| 
								 | 
							
								    - Builder()
							 | 
						||
| 
								 | 
							
								    + build() : ParameterObject
							 | 
						||
| 
								 | 
							
								    + sortBy(sortBy : String) : Builder
							 | 
						||
| 
								 | 
							
								    + sortOrder(sortOrder : SortOrder) : Builder
							 | 
						||
| 
								 | 
							
								    + withType(type : String) : Builder
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  class SearchService {
							 | 
						||
| 
								 | 
							
								    + SearchService()
							 | 
						||
| 
								 | 
							
								    - getQuerySummary(type : String, sortBy : String, sortOrder : SortOrder) : String
							 | 
						||
| 
								 | 
							
								    + search(parameterObject : ParameterObject) : String
							 | 
						||
| 
								 | 
							
								    + search(type : String, sortBy : String) : String
							 | 
						||
| 
								 | 
							
								    + search(type : String, sortOrder : SortOrder) : String
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  enum SortOrder {
							 | 
						||
| 
								 | 
							
								    + ASC {static}
							 | 
						||
| 
								 | 
							
								    + DESC {static}
							 | 
						||
| 
								 | 
							
								    - value : String
							 | 
						||
| 
								 | 
							
								    + getValue() : String
							 | 
						||
| 
								 | 
							
								    + valueOf(name : String) : SortOrder {static}
							 | 
						||
| 
								 | 
							
								    + values() : SortOrder[] {static}
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								Builder -->  "-sortOrder" SortOrder
							 | 
						||
| 
								 | 
							
								Builder ..+ ParameterObject
							 | 
						||
| 
								 | 
							
								ParameterObject -->  "-DEFAULT_SORT_ORDER" SortOrder
							 | 
						||
| 
								 | 
							
								@enduml
							 |