public synchronized void setDelegate()

in src/main/java/org/apache/sling/engine/impl/DefaultErrorHandler.java [66:104]


    public synchronized void setDelegate(final ServiceReference<?> ref, final ErrorHandler eh) {
        if (eh != null) {
            this.errorHandler = new JakartaErrorHandler() {
                @Override
                public void handleError(
                        int status,
                        String message,
                        SlingJakartaHttpServletRequest request,
                        SlingJakartaHttpServletResponse response)
                        throws IOException {
                    eh.handleError(
                            status,
                            message,
                            (SlingHttpServletRequest) JakartaToJavaxRequestWrapper.toJavaxRequest(request),
                            (SlingHttpServletResponse) JakartaToJavaxResponseWrapper.toJavaxResponse(response));
                }

                @Override
                public void handleError(
                        Throwable throwable,
                        SlingJakartaHttpServletRequest request,
                        SlingJakartaHttpServletResponse response)
                        throws IOException {
                    eh.handleError(
                            throwable,
                            (SlingHttpServletRequest) JakartaToJavaxRequestWrapper.toJavaxRequest(request),
                            (SlingHttpServletResponse) JakartaToJavaxResponseWrapper.toJavaxResponse(response));
                }
            };
            this.errorHandlerRef = ref;
            if (this.jakartaErrorHandlerRef == null || this.jakartaErrorHandlerRef.compareTo(ref) < 0) {
                this.delegate = this.errorHandler;
            }
        } else {
            this.errorHandler = null;
            this.errorHandlerRef = null;
            this.delegate = this.jakartaErrorHandler;
        }
    }