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 |