Как правильно расширить класс Credential и переопределить методы, которые используют его внутреннюю блокировку - PullRequest
0 голосов
/ 15 января 2019

Я пишу клиент, который использует google-oauth-java-client. В моем коде мне нужно расширить класс Credential (com.google.api.client.auth.oauth2.Credential) и переопределить метод:

boolean handleResponse(com.google.api.client.http.HttpRequest request, com.google.api.client.http.HttpResponse response,boolean supportsRetry)

К сожалению, этот метод разделяет блокировку в Credential со многими другими методами, метода для доступа к нему нет, и видимость атрибута является закрытой. Тем не менее, класс явно упоминает в комментариях и документации: «Подклассы могут переопределять». Как правильно расширить этот класс с учетом этой блокировки?

Я хотел бы принудительно обновить токен, когда в очень специфической ситуации возникает ошибка 400, кроме фактического 401, поэтому я думаю, что мне следует использовать блокировку.

...