Class StitchAppClientImpl

    • Constructor Detail

      • StitchAppClientImpl

        public StitchAppClientImpl​(String clientAppId,
                                   StitchAppClientConfiguration config)
        Constructs an app client with the given configuration.
        Parameters:
        clientAppId - the client app id for the app.
        config - the configuration to use for the app client.
    • Method Detail

      • getAuth

        public StitchAuth getAuth()
        Description copied from interface: StitchAppClient
        Gets the authentication component of the app. This is used for logging in and managing users.
        Specified by:
        getAuth in interface StitchAppClient
        Returns:
        the authentication component of the app.
      • getPush

        public StitchPush getPush()
        Description copied from interface: StitchAppClient
        Gets the push notifications component of the app. This is used for registering for push notifications.
        Specified by:
        getPush in interface StitchAppClient
        Returns:
        the push notifications component of the app.
      • getServiceClient

        public <T> T getServiceClient​(NamedServiceClientFactory<T> factory,
                                      String serviceName)
        Description copied from interface: StitchAppClient
        Gets a client for the given named service.
        Specified by:
        getServiceClient in interface StitchAppClient
        Type Parameters:
        T - the type of client to be returned by the factory.
        Parameters:
        factory - the factory that will create a client for the service.
        serviceName - the name of the service.
        Returns:
        a client to interact with the service.
      • getServiceClient

        public <T> T getServiceClient​(ServiceClientFactory<T> factory)
        Description copied from interface: StitchAppClient
        Gets a client for the given service. Only some services offer a factory that requires no service name.
        Specified by:
        getServiceClient in interface StitchAppClient
        Type Parameters:
        T - the type of client to be returned by the factory.
        Parameters:
        factory - the factory that will create a client for the service.
        Returns:
        a client to interact with the service.
      • getServiceClient

        public StitchServiceClient getServiceClient​(String serviceName)
        Description copied from interface: StitchAppClient
        Gets a general purpose client for the given named service.
        Specified by:
        getServiceClient in interface StitchAppClient
        Parameters:
        serviceName - the name of the service.
        Returns:
        a client to interact with the service.
      • callFunction

        public Task<Void> callFunction​(String name,
                                       List<?> args)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function.
        Specified by:
        callFunction in interface StitchAppClient
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        Returns:
        a Task that completes when the function call completes.
      • callFunction

        public Task<Void> callFunction​(String name,
                                       List<?> args,
                                       Long requestTimeout)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function. Also accepts a timeout in milliseconds. Use this for functions that may run longer than the client-wide default timeout (15 seconds by default).
        Specified by:
        callFunction in interface StitchAppClient
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        requestTimeout - the number of milliseconds the client should wait for a response from the server before failing with an error.
        Returns:
        a Task containing the decoded value.
      • callFunction

        public <ResultT> Task<ResultT> callFunction​(String name,
                                                    List<?> args,
                                                    Class<ResultT> resultClass)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function, and decodes the response into an instance of the specified type. The response will be decoded using the codec registry specified when the client was configured. If no codec registry was configured, a default codec registry will be used. The default codec registry supports the mappings specified here
        Specified by:
        callFunction in interface StitchAppClient
        Type Parameters:
        ResultT - the type into which the Stitch response will be decoded.
        Parameters:
        name - the name of the Stitch function to call.
        args - he arguments to pass to the function.
        resultClass - the class that the response should be decoded as.
        Returns:
        a Task containing the decoded value.
      • callFunction

        public <ResultT> Task<ResultT> callFunction​(String name,
                                                    List<?> args,
                                                    Long requestTimeout,
                                                    Class<ResultT> resultClass)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function, and decodes the response into an instance of the specified type. The response will be decoded using the codec registry specified when the client was configured. If no codec registry was configured, a default codec registry will be used. The default codec registry supports the mappings specified here Also accepts a timeout in milliseconds. Use this for functions that may run longer than the client-wide default timeout (15 seconds by default).
        Specified by:
        callFunction in interface StitchAppClient
        Type Parameters:
        ResultT - the type into which the Stitch response will be decoded.
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        requestTimeout - the number of milliseconds the client should wait for a response from the server before failing with an error.
        resultClass - the class that the response should be decoded as.
        Returns:
        a Task containing the decoded value.
      • callFunction

        public <ResultT> Task<ResultT> callFunction​(String name,
                                                    List<?> args,
                                                    Class<ResultT> resultClass,
                                                    CodecRegistry codecRegistry)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function, and decodes the response into an instance of the specified type. The response will be decoded using the codec registry given.
        Specified by:
        callFunction in interface StitchAppClient
        Type Parameters:
        ResultT - the type into which the Stitch response will be decoded.
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        resultClass - the class that the response should be decoded as.
        codecRegistry - the codec registry used for de/serialization of the function call.
        Returns:
        a Task containing the decoded value.
      • callFunction

        public <ResultT> Task<ResultT> callFunction​(String name,
                                                    List<?> args,
                                                    Long requestTimeout,
                                                    Class<ResultT> resultClass,
                                                    CodecRegistry codecRegistry)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function, and decodes the response into an instance of the specified type. The response will be decoded using the codec registry given. Also accepts a timeout in milliseconds. Use this for functions that may run longer than the client-wide default timeout (15 seconds by default).
        Specified by:
        callFunction in interface StitchAppClient
        Type Parameters:
        ResultT - the type into which the Stitch response will be decoded.
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        requestTimeout - the number of milliseconds the client should wait for a response from the server before failing with an error.
        resultClass - the class that the response should be decoded as.
        codecRegistry - the codec registry used for de/serialization of the function call.
        Returns:
        a Task containing the decoded value.
      • callFunction

        public <ResultT> Task<ResultT> callFunction​(String name,
                                                    List<?> args,
                                                    Decoder<ResultT> resultDecoder)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function, and decodes the response into a value using the provided Decoder or Codec.
        Specified by:
        callFunction in interface StitchAppClient
        Type Parameters:
        ResultT - the type into which the response will be decoded.
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        resultDecoder - the Decoder or Codec to use to decode the response into a value.
        Returns:
        a Task containing the decoded value.
      • callFunction

        public <ResultT> Task<ResultT> callFunction​(String name,
                                                    List<?> args,
                                                    Long requestTimeout,
                                                    Decoder<ResultT> resultDecoder)
        Description copied from interface: StitchAppClient
        Calls the specified Stitch function, and decodes the response into a value using the provided Decoder or Codec. Also accepts a timeout in milliseconds. Use this for functions that may run longer than the client-wide default timeout (15 seconds by default).
        Specified by:
        callFunction in interface StitchAppClient
        Type Parameters:
        ResultT - the type into which the response will be decoded.
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
        requestTimeout - the number of milliseconds the client should wait for a response from the server before failing with an error.
        resultDecoder - the Decoder or Codec to use to decode the response into a value.
        Returns:
        a Task containing the decoded value.
      • tryIsLoggedIn

        public boolean tryIsLoggedIn()
        Description copied from interface: AuthMonitor
        Get whether or not the application client is currently logged in.
        Specified by:
        tryIsLoggedIn in interface AuthMonitor
        Returns:
        whether or not the application client is logged in, or false if the thread was interrupted
      • getActiveUserId

        @Nullable
        public String getActiveUserId()
        Description copied from interface: AuthMonitor
        Get the active user id from the applications auth request client.
        Specified by:
        getActiveUserId in interface AuthMonitor
        Returns:
        active user id if there is one, null if not