Class OauthTokenHandler

  • All Implemented Interfaces:
    org.refcodes.mixin.Disposable, org.refcodes.mixin.Disposable.Disposedable, org.refcodes.mixin.DisposedAccessor, org.refcodes.mixin.ValidAccessor, org.refcodes.net.OauthToken


    public class OauthTokenHandler
    extends org.refcodes.net.OauthTokenImpl
    implements org.refcodes.net.OauthToken
    Self refreshing implementation of the OauthToken. In case a refresh token (as of OauthTokenImpl.getRefreshToken() and has been provided, then the access token (as of OauthTokenImpl.getAccessToken() is refreshed within the "expires in" time (as of OauthTokenImpl.getExpiresIn(). The refresh daemon terminates and this instance is disposed when the provided HttpRestClient's Closable.close() method is called or the dispose() method is invoked.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.mixin.Disposable

        org.refcodes.mixin.Disposable.Disposedable
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.DisposedAccessor

        org.refcodes.mixin.DisposedAccessor.DisposedMutator, org.refcodes.mixin.DisposedAccessor.DisposedProperty
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.ValidAccessor

        org.refcodes.mixin.ValidAccessor.ValidBuilder<B extends org.refcodes.mixin.ValidAccessor.ValidBuilder<B>>, org.refcodes.mixin.ValidAccessor.ValidMutator, org.refcodes.mixin.ValidAccessor.ValidProperty
    • Field Summary

      • Fields inherited from class org.refcodes.net.OauthTokenImpl

        _accessToken, _expiresIn, _notBeforePolicy, _refreshExpiresIn, _refreshToken, _scope, _sessionState, _tokenType
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose​()
      • Methods inherited from interface org.refcodes.mixin.DisposedAccessor

        isDisposed
      • Methods inherited from interface org.refcodes.net.OauthToken

        getAccessToken, getExpiresIn, getNotBeforePolicy, getRefreshExpiresIn, getRefreshToken, getScope, getSessionState, getTokenType, isValid
      • Methods inherited from class org.refcodes.net.OauthTokenImpl

        fromHttpBodyMap, getAccessToken, getExpiresIn, getNotBeforePolicy, getRefreshExpiresIn, getRefreshToken, getScope, getSessionState, getTokenType, isDisposed, isValid
    • Constructor Detail

      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 String aClientId,
                                 String aClientSecret,
                                 String aUserName,
                                 String aUserPassword)
                          throws org.refcodes.net.HttpStatusException,
                                 MalformedURLException
        Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aUserName - The user's name for "password" grant type.
        aUserPassword - The user's password for "password" grant type.
        aClientId - The client's ID for "password" grant type.
        aClientSecret - The client's secret for "password" grant type.
        Throws:
        MalformedURLException - thrown in case of a malformed URL.
        org.refcodes.net.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 HttpRestClient aHttpRestClient,
                                 String aClientId,
                                 String aClientSecret,
                                 String aUserName,
                                 String aUserPassword)
                          throws org.refcodes.net.HttpStatusException,
                                 MalformedURLException
        Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aUserName - The user's name for "password" grant type.
        aUserPassword - The user's password for "password" grant type.
        aClientId - The client's ID for "password" grant type.
        aClientSecret - The client's secret for "password" grant type.
        Throws:
        MalformedURLException - thrown in case of a malformed URL.
        org.refcodes.net.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      • OauthTokenHandler

        public OauthTokenHandler​(String aUrl,
                                 String aClientId,
                                 String aClientSecret,
                                 String aUserName,
                                 String aUserPassword)
                          throws org.refcodes.net.HttpStatusException,
                                 MalformedURLException
        Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
        Parameters:
        aUrl - The URL to be used when refreshing the access token.
        aUserName - The user's name for "password" grant type.
        aUserPassword - The user's password for "password" grant type.
        aClientId - The client's ID for "password" grant type.
        aClientSecret - The client's secret for "password" grant type.
        Throws:
        MalformedURLException - thrown in case of a malformed URL.
        org.refcodes.net.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      • OauthTokenHandler

        public OauthTokenHandler​(String aUrl,
                                 HttpRestClient aHttpRestClient,
                                 String aClientId,
                                 String aClientSecret,
                                 String aUserName,
                                 String aUserPassword)
                          throws org.refcodes.net.HttpStatusException,
                                 MalformedURLException
        Constructs an instance of the OauthTokenHandler with the given parameters by using the user's name and password for a "password" grant type authentication to retrieve a OauthToken.
        Parameters:
        aUrl - The URL to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aUserName - The user's name for "password" grant type.
        aUserPassword - The user's password for "password" grant type.
        aClientId - The client's ID for "password" grant type.
        aClientSecret - The client's secret for "password" grant type.
        Throws:
        MalformedURLException - thrown in case of a malformed URL.
        org.refcodes.net.HttpStatusException - thrown in case a HTTP response was of an erroneous status.
      • OauthTokenHandler

        public OauthTokenHandler​(String aUrl,
                                 String aAccessToken,
                                 String aRefreshToken,
                                 String aTokenType,
                                 Integer aExpiresIn,
                                 String aScope)
        Constructs an instance of the OauthTokenHandler with the given parameters. For the refresh token parameters, please refer to "https://www.oauth.com/oauth2-servers/access-tokens/refreshing-access-tokens".
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aAccessToken - The access token to be stored (as of OauthTokenImpl.getAccessToken()).
        aRefreshToken - The refresh token to be used (as of OauthTokenImpl.getRefreshToken()).
        aTokenType - The token type to be stored (as of OauthTokenImpl.getTokenType()).
        aExpiresIn - The "expires in" time to be stored (as of OauthTokenImpl.getExpiresIn()).
        aScope - The scope to be stored (as of OauthTokenImpl.getScope()).
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 String aAccessToken,
                                 String aRefreshToken,
                                 String aTokenType,
                                 Integer aExpiresIn,
                                 String aScope)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aAccessToken - The access token to be stored (as of OauthTokenImpl.getAccessToken()).
        aRefreshToken - The refresh token to be used (as of OauthTokenImpl.getRefreshToken()).
        aTokenType - The token type to be stored (as of OauthTokenImpl.getTokenType()).
        aExpiresIn - The "expires in" time to be stored (as of OauthTokenImpl.getExpiresIn()).
        aScope - The scope to be stored (as of OauthTokenImpl.getScope()).
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 org.refcodes.net.HttpBodyMap aOauthToken)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aOauthToken - The HttpBodyMap containing the OAuth token with the required information.
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 org.refcodes.net.OauthToken aOauthToken)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aOauthToken - The OauthToken containing the required information.
      • OauthTokenHandler

        public OauthTokenHandler​(String aUrl,
                                 org.refcodes.net.OauthToken aOauthToken)
        Constructs an instance of the OauthTokenHandler with the given parameters. For the refresh token parameters, please refer to "https://www.oauth.com/oauth2-servers/access-tokens/refreshing-access-tokens".
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aOauthToken - The OauthToken containing the required information.
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 HttpRestClient aHttpRestClient,
                                 String aAccessToken,
                                 String aRefreshToken,
                                 String aTokenType,
                                 Integer aExpiresIn,
                                 String aScope)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aAccessToken - The access token to be stored (as of OauthTokenImpl.getAccessToken()).
        aRefreshToken - The refresh token to be used (as of OauthTokenImpl.getRefreshToken()).
        aTokenType - The token type to be stored (as of OauthTokenImpl.getTokenType()).
        aExpiresIn - The "expires in" time to be stored (as of OauthTokenImpl.getExpiresIn()).
        aScope - The scope to be stored (as of OauthTokenImpl.getScope()).
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 HttpRestClient aHttpRestClient,
                                 org.refcodes.net.HttpBodyMap aOauthToken)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aOauthToken - The HttpBodyMap containing the OAuth token with the required information.
      • OauthTokenHandler

        public OauthTokenHandler​(String aUrl,
                                 HttpRestClient aHttpRestClient,
                                 org.refcodes.net.OauthToken aOauthToken)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The URL to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aOauthToken - The OauthToken containing the required information.
      • OauthTokenHandler

        public OauthTokenHandler​(org.refcodes.net.Url aUrl,
                                 HttpRestClient aHttpRestClient,
                                 org.refcodes.net.OauthToken aOauthToken)
        Constructs an instance of the OauthTokenHandler with the given parameters.
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aOauthToken - The OauthToken containing the required information.
      • OauthTokenHandler

        public OauthTokenHandler​(String aUrl,
                                 HttpRestClient aHttpRestClient,
                                 String aAccessToken,
                                 String aRefreshToken,
                                 String aTokenType,
                                 Integer aExpiresIn,
                                 String aScope)
        Constructs an instance of the OauthTokenHandler with the given parameters. For the refresh token parameters, please refer to "https://www.oauth.com/oauth2-servers/access-tokens/refreshing-access-tokens".
        Parameters:
        aUrl - The Url to be used when refreshing the access token.
        aHttpRestClient - The HttpRestClient to use when refreshing the token.
        aAccessToken - The access token to be stored (as of OauthTokenImpl.getAccessToken()).
        aRefreshToken - The refresh token to be used (as of OauthTokenImpl.getRefreshToken()).
        aTokenType - The token type to be stored (as of OauthTokenImpl.getTokenType()).
        aExpiresIn - The "expires in" time to be stored (as of OauthTokenImpl.getExpiresIn()).
        aScope - The scope to be stored (as of OauthTokenImpl.getScope()).
    • Method Detail

      • dispose

        public void dispose​()
        Specified by:
        dispose in interface org.refcodes.mixin.Disposable
        Overrides:
        dispose in class org.refcodes.net.OauthTokenImpl