@startuml
skinparam linetype ortho
title <size:20>Examples.BadDesign **detailed** </size>
note "Your are analyzing:\nExamples.BadDesign **detailed** \n\n==Filter==\nYou can click either the namespaces \nor class names for filtering them and their\ndirect dependencies.\n\n==Select other==\n* Examples.BadDesign **simplified** :\n   [[Examples.BadDesign-diagram-simplified.svg]]\n* Full diagram **detailed** and **grouped per namespace**:\n   [[full-diagram-detailed-grouped-per-namespace.svg]]\n* Home:\n   [[index.html]]" as FloatingNote
    abstract class Examples.BadDesign.CarExample.DB [[Examples.BadDesign.CarExample.DB-diagram-detailed.svg]] #yellow {
      - get(<font color="6060BB"></font>): <font color="BB6060">String[]</font>
      - getCarsWhere(<font color="6060BB"></font>): <font color="BB6060">String[]</font>
      - set(<font color="6060BB"></font>): <font color="BB6060">void</font>
      - update(<font color="6060BB"></font>): <font color="BB6060">void</font>
      - getUserWhere(<font color="6060BB"></font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.User</font>
      - getCustomerWhere(<font color="6060BB"></font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Customer</font>
      - getWarehouseCarWhere(<font color="6060BB"></font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Car</font>
      - getInvoiceWhere(<font color="6060BB"></font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Invoice</font>
      - getComplaintsWhere(<font color="6060BB"></font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Complaints</font>
      - getFirstCustomerWhere(<font color="6060BB"></font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Customer</font>
      - getUserFromWarehouseCar(<font color="6060BB">item:Examples.BadDesign.CarExample.WarehouseEntities.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.User</font>
      - getCustomerFromComplaint(<font color="6060BB">complaint:Examples.BadDesign.CarExample.WarehouseEntities.Complaints</font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Customer</font>
      - getWarehouseCarFromUser(<font color="6060BB">user:Examples.BadDesign.CarExample.WarehouseEntities.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.Car</font>
      - getInvoiceFromCustomer(<font color="6060BB">c:Examples.BadDesign.CarExample.WarehouseEntities.Customer</font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Invoice</font>
      - getComplaintsFromWarehouseCar(<font color="6060BB">item:Examples.BadDesign.CarExample.WarehouseEntities.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.WarehouseEntities.Complaints</font>
      - getCarFromDriver(<font color="6060BB">d:Examples.BadDesign.CarExample.CarParts.Driver</font>): <font color="BB6060">Examples.BadDesign.CarExample.Car</font>
      - getDriverFromCar(<font color="6060BB">c:Examples.BadDesign.CarExample.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.CarParts.Driver</font>
      - getWheelsFromCar(<font color="6060BB">c:Examples.BadDesign.CarExample.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.CarParts.Wheels</font>
      - getDoorsFromCar(<font color="6060BB">c:Examples.BadDesign.CarExample.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.CarParts.Doors</font>
      - getSeatsFromCar(<font color="6060BB">c:Examples.BadDesign.CarExample.Car</font>): <font color="BB6060">Examples.BadDesign.CarExample.CarParts.Seats</font>
    }
    abstract class Examples.BadDesign.CarExample.Car [[Examples.BadDesign.CarExample.Car-diagram-detailed.svg]] #yellow {
      + wheels: Examples.BadDesign.CarExample.CarParts.Wheels
      + vehicle: Examples.BadDesign.CarExample.Vehicle
      + db: Examples.BadDesign.CarExample.DB
==
      - createCar(<font color="6060BB">doors:Examples.BadDesign.CarExample.CarParts.Doors</font>): <font color="BB6060">void</font>
      - <font color="909090">createCar.seats: Examples.BadDesign.CarExample.CarParts.Seats</font>
--
    }
    abstract class Examples.BadDesign.CarExample.Vehicle [[Examples.BadDesign.CarExample.Vehicle-diagram-detailed.svg]] #yellow {
      + db: Examples.BadDesign.CarExample.DB
==
      - setSpeed(<font color="6060BB"></font>): <font color="BB6060">void</font>
      - getSpeed(<font color="6060BB"></font>): <font color="BB6060">int</font>
    }
      abstract class Examples.BadDesign.CarExample.CarParts.Driver [[Examples.BadDesign.CarExample.CarParts.Driver-diagram-detailed.svg]] #yellow {
        + db: Examples.BadDesign.CarExample.DB
==
        - getWeight(<font color="6060BB"></font>): <font color="BB6060">int</font>
      }
      abstract class Examples.BadDesign.CarExample.CarParts.Wheels [[Examples.BadDesign.CarExample.CarParts.Wheels-diagram-detailed.svg]] #yellow {
        + db: Examples.BadDesign.CarExample.DB
==
        - getWeight(<font color="6060BB"></font>): <font color="BB6060">int</font>
      }
      abstract class Examples.BadDesign.CarExample.CarParts.Doors [[Examples.BadDesign.CarExample.CarParts.Doors-diagram-detailed.svg]] #yellow {
        + db: Examples.BadDesign.CarExample.DB
==
        - getWeight(<font color="6060BB"></font>): <font color="BB6060">int</font>
      }
      abstract class Examples.BadDesign.CarExample.CarParts.Seats [[Examples.BadDesign.CarExample.CarParts.Seats-diagram-detailed.svg]] #yellow {
        + db: Examples.BadDesign.CarExample.DB
==
        - getWeight(<font color="6060BB"></font>): <font color="BB6060">int</font>
      }
      abstract class Examples.BadDesign.CarExample.WarehouseEntities.User [[Examples.BadDesign.CarExample.WarehouseEntities.User-diagram-detailed.svg]] #yellow {
      }
      abstract class Examples.BadDesign.CarExample.WarehouseEntities.Customer [[Examples.BadDesign.CarExample.WarehouseEntities.Customer-diagram-detailed.svg]] #yellow {
      }
      abstract class Examples.BadDesign.CarExample.WarehouseEntities.Car [[Examples.BadDesign.CarExample.WarehouseEntities.Car-diagram-detailed.svg]] #yellow {
      }
      abstract class Examples.BadDesign.CarExample.WarehouseEntities.Invoice [[Examples.BadDesign.CarExample.WarehouseEntities.Invoice-diagram-detailed.svg]] #yellow {
      }
      abstract class Examples.BadDesign.CarExample.WarehouseEntities.Complaints [[Examples.BadDesign.CarExample.WarehouseEntities.Complaints-diagram-detailed.svg]] #yellow {
      }
 ' *************************************** 
 ' *************************************** 
 ' *************************************** 
' Class relations extracted from namespace:
' Examples.BadDesign.CarExample
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.WarehouseEntities.User  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.WarehouseEntities.Customer  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.WarehouseEntities.Car  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.WarehouseEntities.Invoice  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.WarehouseEntities.Complaints  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.Car  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.CarParts.Driver  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.CarParts.Wheels  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.CarParts.Doors  : uses 
Examples.BadDesign.CarExample.DB .[#6060BB].> Examples.BadDesign.CarExample.CarParts.Seats  : uses 
Examples.BadDesign.CarExample.CarParts.Driver <|-[#red]- Examples.BadDesign.CarExample.Car
Examples.BadDesign.CarExample.Car *-[#10BB10]- Examples.BadDesign.CarExample.CarParts.Wheels 
Examples.BadDesign.CarExample.Car *-[#10BB10]- Examples.BadDesign.CarExample.Vehicle 
Examples.BadDesign.CarExample.Car *-[#10BB10]- Examples.BadDesign.CarExample.DB 
Examples.BadDesign.CarExample.Car .[#6060BB].> Examples.BadDesign.CarExample.CarParts.Doors  : uses 
Examples.BadDesign.CarExample.Car -[#909090]-> Examples.BadDesign.CarExample.CarParts.Seats  : uses 
Examples.BadDesign.CarExample.Vehicle *-[#10BB10]- Examples.BadDesign.CarExample.DB 
' Class relations extracted from namespace:
' Examples.BadDesign.CarExample.CarParts
Examples.BadDesign.CarExample.CarParts.Driver *-[#10BB10]- Examples.BadDesign.CarExample.DB 
Examples.BadDesign.CarExample.CarParts.Wheels *-[#10BB10]- Examples.BadDesign.CarExample.DB 
Examples.BadDesign.CarExample.CarParts.Doors *-[#10BB10]- Examples.BadDesign.CarExample.DB 
Examples.BadDesign.CarExample.CarParts.Seats *-[#10BB10]- Examples.BadDesign.CarExample.DB 
' Class relations extracted from namespace:
' Examples.BadDesign.CarExample.WarehouseEntities
@enduml