@echo off setlocal set BASE=%~dp0 set OUT=%BASE%\out echo ============================================================ echo Compiling and running structural design pattern examples echo ============================================================ :: Create output dir if not exist "%OUT%" mkdir "%OUT%" :: --- Adapter --- echo. echo [1/7] ADAPTER javac -d "%OUT%\adapter" -sourcepath "%BASE%\02-structural\adapter" "%BASE%\02-structural\adapter\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Adapter) else ( java -cp "%OUT%\adapter" adapter.Main ) :: --- Bridge --- echo. echo [2/7] BRIDGE javac -d "%OUT%\bridge" -sourcepath "%BASE%\02-structural\bridge" "%BASE%\02-structural\bridge\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Bridge) else ( java -cp "%OUT%\bridge" bridge.Main ) :: --- Composite --- echo. echo [3/7] COMPOSITE javac -d "%OUT%\composite" -sourcepath "%BASE%\02-structural\composite" "%BASE%\02-structural\composite\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Composite) else ( java -cp "%OUT%\composite" composite.Main ) :: --- Decorator --- echo. echo [4/7] DECORATOR javac -d "%OUT%\decorator" -sourcepath "%BASE%\02-structural\decorator" "%BASE%\02-structural\decorator\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Decorator) else ( java -cp "%OUT%\decorator" decorator.Main ) :: --- Facade --- echo. echo [5/7] FACADE javac -d "%OUT%\facade" -sourcepath "%BASE%\02-structural\facade" "%BASE%\02-structural\facade\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Facade) else ( java -cp "%OUT%\facade" facade.Main ) :: --- Flyweight --- echo. echo [6/7] FLYWEIGHT javac -d "%OUT%\flyweight" -sourcepath "%BASE%\02-structural\flyweight" "%BASE%\02-structural\flyweight\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Flyweight) else ( java -cp "%OUT%\flyweight" flyweight.Main ) :: --- Proxy --- echo. echo [7/7] PROXY javac -d "%OUT%\proxy" -sourcepath "%BASE%\02-structural\proxy" "%BASE%\02-structural\proxy\*.java" 2>&1 if errorlevel 1 (echo COMPILE ERROR - Proxy) else ( java -cp "%OUT%\proxy" proxy.Main ) echo. echo ============================================================ echo All structural patterns compiled and executed echo ============================================================ pause