From 550b16edc897d15650b6a4b6bd8147f36716ee2e Mon Sep 17 00:00:00 2001 From: Sai Sujith Nagamalla Date: Sun, 12 Oct 2025 14:12:11 +0530 Subject: [PATCH] Create pattern.java --- pattern-search-api/pattern.java | 65 +++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 pattern-search-api/pattern.java diff --git a/pattern-search-api/pattern.java b/pattern-search-api/pattern.java new file mode 100644 index 000000000000..6b74f94727ac --- /dev/null +++ b/pattern-search-api/pattern.java @@ -0,0 +1,65 @@ +package com.example.patternsearch; + +public class Pattern { + private String name; + private String description; + + public Pattern(String name, String description) { + this.name = name; + this.description = description; + } + + public String getName() { return name; } + public String getDescription() { return description; } +} + +PatternController.java + package com.example.patternsearch; + +import org.springframework.web.bind.annotation.*; +import java.util.*; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/api/patterns") +public class PatternController { + + private List patterns = List.of( + new Pattern("Strategy", "Encapsulate algorithms"), + new Pattern("Observer", "Subscribe/notify model"), + new Pattern("Factory Method", "Create objects without specifying class"), + new Pattern("Builder", "Stepwise object construction"), + new Pattern("Decorator", "Add behavior dynamically") + ); + + @GetMapping("/search") + public List searchPatterns(@RequestParam String query) { + return patterns.stream() + .filter(p -> p.getName().toLowerCase().contains(query.toLowerCase())) + .collect(Collectors.toList()); + } +} +index.html: + + +
    + +
+ +