52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
|
@startuml
|
||
|
package com.iluwatar.collectionpipeline {
|
||
|
class App {
|
||
|
- LOGGER : Logger {static}
|
||
|
+ App()
|
||
|
+ main(args : String[]) {static}
|
||
|
}
|
||
|
class Car {
|
||
|
- category : Category
|
||
|
- make : String
|
||
|
- model : String
|
||
|
- year : int
|
||
|
+ Car(make : String, model : String, yearOfMake : int, category : Category)
|
||
|
+ equals(obj : Object) : boolean
|
||
|
+ getCategory() : Category
|
||
|
+ getMake() : String
|
||
|
+ getModel() : String
|
||
|
+ getYear() : int
|
||
|
+ hashCode() : int
|
||
|
}
|
||
|
class CarFactory {
|
||
|
- CarFactory()
|
||
|
+ createCars() : List<Car> {static}
|
||
|
}
|
||
|
enum Category {
|
||
|
+ CONVERTIBLE {static}
|
||
|
+ JEEP {static}
|
||
|
+ SEDAN {static}
|
||
|
+ valueOf(name : String) : Category {static}
|
||
|
+ values() : Category[] {static}
|
||
|
}
|
||
|
class FunctionalProgramming {
|
||
|
- FunctionalProgramming()
|
||
|
+ getGroupingOfCarsByCategory(cars : List<Car>) : Map<Category, List<Car>> {static}
|
||
|
+ getModelsAfter2000(cars : List<Car>) : List<String> {static}
|
||
|
+ getSedanCarsOwnedSortedByDate(persons : List<Person>) : List<Car> {static}
|
||
|
}
|
||
|
class ImperativeProgramming {
|
||
|
- ImperativeProgramming()
|
||
|
+ getGroupingOfCarsByCategory(cars : List<Car>) : Map<Category, List<Car>> {static}
|
||
|
+ getModelsAfter2000(cars : List<Car>) : List<String> {static}
|
||
|
+ getSedanCarsOwnedSortedByDate(persons : List<Person>) : List<Car> {static}
|
||
|
}
|
||
|
class Person {
|
||
|
- cars : List<Car>
|
||
|
+ Person(cars : List<Car>)
|
||
|
+ getCars() : List<Car>
|
||
|
}
|
||
|
}
|
||
|
Person --> "-cars" Car
|
||
|
Car --> "-category" Category
|
||
|
@enduml
|