java-design-patterns/collection-pipeline/etc/collection-pipeline.urm.puml
2019-12-07 18:03:49 +02:00

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