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
|