* #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
|