@Override public List<ConstructorInterceptor> getConstructorInterceptors(Constructor<?> constructor) { return getInterceptors( constructor, annotatedConstructorInterceptorFactories, AnnotatedConstructorInterceptorFactory.class, AnnotatedConstructorInterceptorFactory::provide ); }
@Override public ConstructorInterceptor provide(Constructor<?> constructor, Counted annotation) { return invocation -> count(constructor, annotation, invocation); }
@Override public ConstructorInterceptor provide(Constructor<?> constructor, ExceptionMetered annotation) { return invocation -> exceptionMeter(constructor, annotation, invocation); }
@Override public ConstructorInterceptor provide(Constructor<?> constructor, Metered annotation) { return invocation -> meter(constructor, invocation); }
@Override public ConstructorInterceptor provide(Constructor<?> constructor, Timed annotation) { return invocation -> time(constructor, invocation); }
@Override public List<ConstructorInterceptor> getConstructorInterceptors(Constructor<?> constructor) { return Collections.emptyList(); }
ConstructorInterceptor provide(Constructor<?> constructor, T annotation);