├── .gitignore ├── .idea ├── .gitignore ├── encodings.xml ├── jpa-buddy.xml ├── misc.xml ├── uiDesigner.xml └── vcs.xml ├── design-a-parking-lot.md ├── pom.xml └── src └── main └── java └── org └── example ├── Client.java ├── addersubtractor ├── Adder.java ├── Count.java ├── Main.java └── Subtractor.java ├── addersubtractorlock ├── Adder.java ├── Count.java ├── Main.java └── Subtractor.java ├── addersubtractorsynchronized ├── Adder.java ├── Count.java ├── Main.java └── Subtractor.java ├── addersubtractorsyncmethod ├── Adder.java ├── Count.java ├── Main.java └── Subtractor.java ├── collections └── Client.java ├── concurrency1 ├── Client.java └── HelloWorldPrinter.java ├── concurrency2 ├── executors │ ├── Main.java │ └── NumberPrinter.java └── printnumber1to100 │ ├── Main.java │ └── NumberPrinter.java ├── designpatterns ├── adapter │ ├── BankAPI.java │ ├── ICICIAdapter.java │ ├── PhonePe.java │ ├── YesBankAdapter.java │ └── thirdParty │ │ ├── icicibank │ │ └── ICICIBank.java │ │ └── yesbank │ │ └── YesBank.java ├── builder │ ├── Client.java │ └── Student.java ├── factory │ ├── AndroidUIFactory.java │ ├── Client.java │ ├── Flutter.java │ ├── IOSUIFactory.java │ ├── SupportedPlatforms.java │ ├── UIFactory.java │ ├── UIFactoryFactory.java │ ├── buttons │ │ ├── AndroidButton.java │ │ ├── Button.java │ │ └── IOSButton.java │ └── menu │ │ ├── AndroidMenu.java │ │ ├── IOSMenu.java │ │ └── Menu.java └── prototype │ ├── Client.java │ ├── IntelligentStudent.java │ ├── Prototype.java │ ├── Student.java │ └── StudentRegistry.java ├── exceptions ├── Client.java ├── Main.java ├── StringDemo.java └── WrongInputPassedException.java ├── functionalInterface ├── BiPredicateImpl.java ├── Client.java ├── Main.java └── TestInterface.java ├── generic ├── Animal.java ├── Cat.java ├── Dog.java ├── Main.java └── Pair.java ├── inheritance ├── A.java ├── B.java ├── C.java ├── D.java └── Main.java ├── inheritance2 ├── A.java ├── B.java ├── C.java └── Main.java ├── introtooops ├── BeginnerStudent.java ├── Main.java └── Student.java ├── introtooops2 ├── AdvancedStudent.java └── Main.java ├── mergeSortMultiThreaded ├── Main.java └── MergeSorter.java ├── methodoverriding ├── Client.java ├── Mentor.java └── User.java ├── parkinglot ├── ParkingLotApplication.java ├── controllers │ └── TicketController.java ├── dtos │ ├── DeleteTicketRequestDto.java │ ├── DeleteTicketResponseDto.java │ ├── IssueTicketRequestDto.java │ ├── IssueTicketResponseDto.java │ └── ResponseStatus.java ├── exceptions │ └── GateNotFoundException.java ├── factories │ └── ParkingSpotAssignmentStrategyFactory.java ├── models │ ├── BaseModel.java │ ├── Bill.java │ ├── BillStatus.java │ ├── Gate.java │ ├── GateStatus.java │ ├── GateType.java │ ├── Operator.java │ ├── ParkingFloor.java │ ├── ParkingFloorStatus.java │ ├── ParkingLot.java │ ├── ParkingLotStatus.java │ ├── ParkingSpot.java │ ├── ParkingSpotStatus.java │ ├── ParkingSpotStrategyType.java │ ├── Payment.java │ ├── PaymentMode.java │ ├── PaymentStatus.java │ ├── Ticket.java │ ├── Vehicle.java │ └── VehicleType.java ├── repositories │ ├── GateRepository.java │ └── VehicleRepository.java ├── services │ └── TicketService.java └── strategies │ ├── NearestSpotAssignmentStrategy.java │ └── ParkingSpotAssignmentStrategy.java ├── producerconsumer ├── Client.java ├── Consumer.java └── Producer.java ├── producerconsumerSemaphore ├── Client.java ├── Consumer.java └── Producer.java ├── producerconsumermutex ├── Client.java ├── Consumer.java └── Producer.java ├── streams └── Main.java └── tictactoe ├── TicTacToeMain.java ├── controllers └── GameController.java ├── exception └── InvalidMoveException.java ├── factories └── BotPlayingStrategyFactory.java ├── models ├── Board.java ├── Bot.java ├── BotDifficultyLevel.java ├── Cell.java ├── CellState.java ├── Game.java ├── GameState.java ├── Move.java ├── Player.java ├── PlayerType.java └── Symbol.java └── strategies ├── botplayingstrategy ├── BotPlayingStrategy.java ├── EasyBotPlayingStrategy.java ├── HardBotPlayingStrategy.java └── MediumBotPlayingStrategy.java └── winningstrategy ├── ColWinningStrategy.java ├── DiagonalWinningStrategy.java ├── RowWinningStrategy.java └── WinningStrategy.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.idea/encodings.xml -------------------------------------------------------------------------------- /.idea/jpa-buddy.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.idea/jpa-buddy.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.idea/uiDesigner.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /design-a-parking-lot.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/design-a-parking-lot.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/org/example/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractor/Adder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractor/Adder.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractor/Count.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractor/Count.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractor/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractor/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractor/Subtractor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractor/Subtractor.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorlock/Adder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorlock/Adder.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorlock/Count.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorlock/Count.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorlock/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorlock/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorlock/Subtractor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorlock/Subtractor.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsynchronized/Adder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsynchronized/Adder.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsynchronized/Count.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsynchronized/Count.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsynchronized/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsynchronized/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsynchronized/Subtractor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsynchronized/Subtractor.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsyncmethod/Adder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsyncmethod/Adder.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsyncmethod/Count.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsyncmethod/Count.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsyncmethod/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsyncmethod/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/addersubtractorsyncmethod/Subtractor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/addersubtractorsyncmethod/Subtractor.java -------------------------------------------------------------------------------- /src/main/java/org/example/collections/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/collections/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/concurrency1/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/concurrency1/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/concurrency1/HelloWorldPrinter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/concurrency1/HelloWorldPrinter.java -------------------------------------------------------------------------------- /src/main/java/org/example/concurrency2/executors/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/concurrency2/executors/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/concurrency2/executors/NumberPrinter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/concurrency2/executors/NumberPrinter.java -------------------------------------------------------------------------------- /src/main/java/org/example/concurrency2/printnumber1to100/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/concurrency2/printnumber1to100/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/concurrency2/printnumber1to100/NumberPrinter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/concurrency2/printnumber1to100/NumberPrinter.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/adapter/BankAPI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/adapter/BankAPI.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/adapter/ICICIAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/adapter/ICICIAdapter.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/adapter/PhonePe.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/adapter/PhonePe.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/adapter/YesBankAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/adapter/YesBankAdapter.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/adapter/thirdParty/icicibank/ICICIBank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/adapter/thirdParty/icicibank/ICICIBank.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/adapter/thirdParty/yesbank/YesBank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/adapter/thirdParty/yesbank/YesBank.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/builder/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/builder/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/builder/Student.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/builder/Student.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/AndroidUIFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/AndroidUIFactory.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/Flutter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/Flutter.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/IOSUIFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/IOSUIFactory.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/SupportedPlatforms.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/SupportedPlatforms.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/UIFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/UIFactory.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/UIFactoryFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/UIFactoryFactory.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/buttons/AndroidButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/buttons/AndroidButton.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/buttons/Button.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/buttons/Button.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/buttons/IOSButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/buttons/IOSButton.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/menu/AndroidMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/menu/AndroidMenu.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/menu/IOSMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/menu/IOSMenu.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/factory/menu/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/factory/menu/Menu.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/prototype/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/prototype/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/prototype/IntelligentStudent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/prototype/IntelligentStudent.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/prototype/Prototype.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/prototype/Prototype.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/prototype/Student.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/prototype/Student.java -------------------------------------------------------------------------------- /src/main/java/org/example/designpatterns/prototype/StudentRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/designpatterns/prototype/StudentRegistry.java -------------------------------------------------------------------------------- /src/main/java/org/example/exceptions/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/exceptions/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/exceptions/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/exceptions/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/exceptions/StringDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/exceptions/StringDemo.java -------------------------------------------------------------------------------- /src/main/java/org/example/exceptions/WrongInputPassedException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/exceptions/WrongInputPassedException.java -------------------------------------------------------------------------------- /src/main/java/org/example/functionalInterface/BiPredicateImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/functionalInterface/BiPredicateImpl.java -------------------------------------------------------------------------------- /src/main/java/org/example/functionalInterface/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/functionalInterface/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/functionalInterface/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/functionalInterface/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/functionalInterface/TestInterface.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/functionalInterface/TestInterface.java -------------------------------------------------------------------------------- /src/main/java/org/example/generic/Animal.java: -------------------------------------------------------------------------------- 1 | package org.example.generic; 2 | 3 | public class Animal { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/org/example/generic/Cat.java: -------------------------------------------------------------------------------- 1 | package org.example.generic; 2 | 3 | public class Cat extends Animal { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/org/example/generic/Dog.java: -------------------------------------------------------------------------------- 1 | package org.example.generic; 2 | 3 | public class Dog extends Animal { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/org/example/generic/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/generic/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/generic/Pair.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/generic/Pair.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance/A.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance/A.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance/B.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance/B.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance/C.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance/C.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance/D.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance/D.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance2/A.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance2/A.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance2/B.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance2/B.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance2/C.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance2/C.java -------------------------------------------------------------------------------- /src/main/java/org/example/inheritance2/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/inheritance2/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/introtooops/BeginnerStudent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/introtooops/BeginnerStudent.java -------------------------------------------------------------------------------- /src/main/java/org/example/introtooops/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/introtooops/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/introtooops/Student.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/introtooops/Student.java -------------------------------------------------------------------------------- /src/main/java/org/example/introtooops2/AdvancedStudent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/introtooops2/AdvancedStudent.java -------------------------------------------------------------------------------- /src/main/java/org/example/introtooops2/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/introtooops2/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/mergeSortMultiThreaded/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/mergeSortMultiThreaded/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/mergeSortMultiThreaded/MergeSorter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/mergeSortMultiThreaded/MergeSorter.java -------------------------------------------------------------------------------- /src/main/java/org/example/methodoverriding/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/methodoverriding/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/methodoverriding/Mentor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/methodoverriding/Mentor.java -------------------------------------------------------------------------------- /src/main/java/org/example/methodoverriding/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/methodoverriding/User.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/ParkingLotApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/ParkingLotApplication.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/controllers/TicketController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/controllers/TicketController.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/dtos/DeleteTicketRequestDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/dtos/DeleteTicketRequestDto.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/dtos/DeleteTicketResponseDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/dtos/DeleteTicketResponseDto.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/dtos/IssueTicketRequestDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/dtos/IssueTicketRequestDto.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/dtos/IssueTicketResponseDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/dtos/IssueTicketResponseDto.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/dtos/ResponseStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/dtos/ResponseStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/exceptions/GateNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/exceptions/GateNotFoundException.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/factories/ParkingSpotAssignmentStrategyFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/factories/ParkingSpotAssignmentStrategyFactory.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/BaseModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/BaseModel.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/Bill.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/Bill.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/BillStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/BillStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/Gate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/Gate.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/GateStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/GateStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/GateType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/GateType.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/Operator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/Operator.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingFloor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingFloor.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingFloorStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingFloorStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingLot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingLot.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingLotStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingLotStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingSpot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingSpot.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingSpotStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingSpotStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/ParkingSpotStrategyType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/ParkingSpotStrategyType.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/Payment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/Payment.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/PaymentMode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/PaymentMode.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/PaymentStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/PaymentStatus.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/Ticket.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/Ticket.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/Vehicle.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/models/VehicleType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/models/VehicleType.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/repositories/GateRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/repositories/GateRepository.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/repositories/VehicleRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/repositories/VehicleRepository.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/services/TicketService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/services/TicketService.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/strategies/NearestSpotAssignmentStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/strategies/NearestSpotAssignmentStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/parkinglot/strategies/ParkingSpotAssignmentStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/parkinglot/strategies/ParkingSpotAssignmentStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumer/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumer/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumer/Consumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumer/Consumer.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumer/Producer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumer/Producer.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumerSemaphore/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumerSemaphore/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumerSemaphore/Consumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumerSemaphore/Consumer.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumerSemaphore/Producer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumerSemaphore/Producer.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumermutex/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumermutex/Client.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumermutex/Consumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumermutex/Consumer.java -------------------------------------------------------------------------------- /src/main/java/org/example/producerconsumermutex/Producer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/producerconsumermutex/Producer.java -------------------------------------------------------------------------------- /src/main/java/org/example/streams/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/streams/Main.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/TicTacToeMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/TicTacToeMain.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/controllers/GameController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/controllers/GameController.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/exception/InvalidMoveException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/exception/InvalidMoveException.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/factories/BotPlayingStrategyFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/factories/BotPlayingStrategyFactory.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Board.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Board.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Bot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Bot.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/BotDifficultyLevel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/BotDifficultyLevel.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Cell.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Cell.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/CellState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/CellState.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Game.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Game.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/GameState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/GameState.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Move.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Move.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Player.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Player.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/PlayerType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/PlayerType.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/models/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/models/Symbol.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/botplayingstrategy/BotPlayingStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/botplayingstrategy/BotPlayingStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/botplayingstrategy/EasyBotPlayingStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/botplayingstrategy/EasyBotPlayingStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/botplayingstrategy/HardBotPlayingStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/botplayingstrategy/HardBotPlayingStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/botplayingstrategy/MediumBotPlayingStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/botplayingstrategy/MediumBotPlayingStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/winningstrategy/ColWinningStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/winningstrategy/ColWinningStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/winningstrategy/DiagonalWinningStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/winningstrategy/DiagonalWinningStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/winningstrategy/RowWinningStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/winningstrategy/RowWinningStrategy.java -------------------------------------------------------------------------------- /src/main/java/org/example/tictactoe/strategies/winningstrategy/WinningStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepakkasera/LLDFeb24/HEAD/src/main/java/org/example/tictactoe/strategies/winningstrategy/WinningStrategy.java --------------------------------------------------------------------------------