Identify and apply functional programming principles in Java to improve immutability, expressiveness, and maintainability.
Prerequisites: Run ./mvnw compile or mvn compile before applying any changes. If compilation fails, stop immediately — do not proceed until the project compiles successfully. Also verify that the project's maven-compiler-plugin source/target supports the Java features being used.
Core areas: Immutable objects and Records (JEP 395), pure functions free of side effects, functional interfaces (Function, Predicate, Consumer, Supplier) and custom @FunctionalInterface types, lambda expressions and method references, Stream API (filter/map/reduce pipelines, parallel streams, toUnmodifiable collectors), Optional idiomatic usage (map/flatMap/filter/orElse over isPresent()+get()), function compositi...
يُستخدم عندما تحتاج إلى تطبيق مبادئ البرمجة الوظيفية في Java - بما في ذلك كتابة الكائنات والسجلات غير القابلة للتغيير، والوظائف النقية، والواجهات الوظيفية، وتعبيرات lambda، وخطوط أنابيب Stream API، اختيارية للسلامة الخالية، وتكوين الوظائف، والوظائف ذات الترتيب الأعلى، ومطابقة الأنماط للمثيلات والتبديل، والفئات/الواجهات المختومة للتسلسلات الهرمية الخاضعة للتحكم، ومجمعات التدفق للعمليات المخصصة، والتطبيق الكاري/الجزئي، وفصل حدود التأثير، والأنماط الوظيفية الآمنة المتزامنة. جزء من مشروع مهارات جافا المصدر: jabrena/cursor-rules-java.