-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
None
Currently, there is no special class representing interceptor bindings. The bindings are represented as Annotation. Thus it is impossible to know whether Set<Annotation> contains only annotations representing interceptor bindings or other annotations also.
Also, Annotation instances are proxied and their equals is broken, so that annotation1.equals(annotation2) will return false even if both annotation1 and annotation2 represent the same annotation (e.g. @MyAnnotation).
Furthermore, when considering if two interceptor bindings are equal, all the non-binding members of the annotation should be ignored.
If instead of just passing around {{Annotation}}s, we passed {{InterceptorBindingType}}s, a lot of the code would be clearer and we'd also probably have no bugs related to the proxy.equals bug.