import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface LogRequest {
}
import java.lang.reflect.Method;
public class LogRequestProcessor {
public static void process(Object object) {
for (Method method : object.getClass().getDeclaredMethods()) {
if (method.isAnnotationPresent(LogRequest.class)) {
System.out.println("Logging request for method: " + method.getName());
}
}
}
}
public class ExampleService {
@LogRequest
public void processRequest(String request) {
System.out.println("Processing request: " + request);
}
}
public class Main {
public static void main(String[] args) {
ExampleService exampleService = new ExampleService();
LogRequestProcessor.process(exampleService);
}
}