* #1638 Add Parameter Object pattern * #1638 Fix comments and formatting for Parameter Object pattern * #1638 Fix formatting, commenting, remove string concatenation in Parameter Object pattern * #1638 Fix readme formatting and log parameter object
		
			
				
	
	
		
			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
 |