You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PythonBefores --> PythonAnnotationEvaluator: An annotation container that holds multiple @PythonBefore annotations is passed to the evaluator
92
+
PythonBefore --> PythonAnnotationEvaluator: A single @PythonBefore annotation is passed to the evaluator with script and profiles info
93
+
PythonAfters --> PythonAnnotationEvaluator: An annotation container that holds multiple @PythonAfter annotations is passed to the evaluator
94
+
PythonAfter --> PythonAnnotationEvaluator: A single @PythonAfter annotation is passed to the evaluator with script and profiles info
95
+
PythonAnnotationEvaluator --> PythonAnnotationValueCompounder: The evaluator requests the compounder to merge annotation values into a unified structure
96
+
PythonAnnotationEvaluator <-- PythonAnnotationValueCompounder: Returns a merged map of Python code and active profiles
97
+
PythonAnnotationEvaluator --> ProfileChecker: The evaluator checks if the annotation’s activeProfiles match the current application profiles
98
+
PythonAnnotationEvaluator <-- ProfileChecker: Executes a callback if profiles match
99
+
PythonAnnotationEvaluator --> PythonArgumentsExtractor: Extracts method arguments from the JoinPoint
100
+
PythonAnnotationEvaluator <-- PythonArgumentsExtractor: Returns a map of argument names to their values
101
+
PythonAnnotationEvaluator --> PythonProcessor: Finally, executes the Python script using the provided arguments
102
+
PythonAnnotationValueCompounder --> PythonAnnotationValueExtractor: The compounder delegates to the several extractors to get raw values from annotations
103
+
PythonAnnotationValueCompounder <-- PythonAnnotationValueExtractor: Returns the raw annotation values
104
+
PythonAnnotationValueExtractor --> PythonMethodExtractor: The extractor gets method metadata from the JoinPoint
105
+
PythonAnnotationValueExtractor <-- PythonMethodExtractor: Returns the method object
106
+
PythonArgumentsExtractor --> PythonMethodExtractor: The arguments extractor retrieves method parameters from the JoinPoint
107
+
PythonArgumentsExtractor <-- PythonMethodExtractor: Returns a map of parameter names to their values
108
108
109
+
class PythonBefores {
110
+
+PythonBefore[] value()
111
+
}
112
+
113
+
class PythonBefore {
114
+
+String value()
115
+
+String script()
116
+
+String[] activeProfiles()
117
+
}
118
+
119
+
class PythonAfters {
120
+
+PythonAfter[] value()
121
+
}
122
+
123
+
class PythonAfter {
124
+
+String value()
125
+
+String script()
126
+
+String[] activeProfiles()
127
+
}
128
+
129
+
class PythonAnnotationEvaluator {
130
+
<<interface>>
131
+
+<A extends Annotation> void evaluate(JoinPoint joinPoint, Class<? extends A> annotationClass);
0 commit comments