Interface StitchAppClient

  • All Superinterfaces:
    AutoCloseable, Closeable
    All Known Implementing Classes:
    StitchAppClientImpl

    public interface StitchAppClient
    extends Closeable
    StitchAppClient is the main class used to work with Stitch. It allows one to log into Stitch, call functions, and get clients for different services like local and remote MongoDB, AWS, and HTTP.
    • Method Detail

      • getAuth

        StitchAuth getAuth()
        Gets the authentication component of the app. This is used for logging in and managing users.
        Returns:
        the authentication component of the app.
      • getServiceClient

        <T> T getServiceClient​(NamedServiceClientFactory<T> factory,
                               String serviceName)
        Gets a client for the given named service.
        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

        <T> T getServiceClient​(ServiceClientFactory<T> factory)
        Gets a client for the given service. Only some services offer a factory that requires no service name.
        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

        StitchServiceClient getServiceClient​(String serviceName)
        Gets a general purpose client for the given named service.
        Parameters:
        serviceName - the name of the service.
        Returns:
        a client to interact with the service.
      • callFunction

        void callFunction​(String name,
                          List<?> args)
        Calls the specified Stitch function.
        Parameters:
        name - the name of the Stitch function to call.
        args - the arguments to pass to the function.
      • callFunction

        void callFunction​(String name,
                          List<?> args,
                          Long requestTimeout)
        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).
        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.
      • callFunction

        <ResultT> ResultT callFunction​(String name,
                                       List<?> args,
                                       Class<ResultT> resultClass)
        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
        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.
        Returns:
        the decoded value.
      • callFunction

        <ResultT> ResultT callFunction​(String name,
                                       List<?> args,
                                       Long requestTimeout,
                                       Class<ResultT> resultClass)
        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).
        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:
        the decoded value.
      • callFunction

        <ResultT> ResultT callFunction​(String name,
                                       List<?> args,
                                       Class<ResultT> resultClass,
                                       CodecRegistry codecRegistry)
        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.
        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:
        the decoded value.
      • callFunction

        <ResultT> ResultT callFunction​(String name,
                                       List<?> args,
                                       Long requestTimeout,
                                       Class<ResultT> resultClass,
                                       CodecRegistry codecRegistry)
        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).
        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:
        the decoded value.
      • callFunction

        <ResultT> ResultT callFunction​(String name,
                                       List<?> args,
                                       Decoder<ResultT> resultDecoder)
        Calls the specified Stitch function, and decodes the response into a value using the provided Decoder or Codec.
        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:
        the decoded value.
      • callFunction

        <ResultT> ResultT callFunction​(String name,
                                       List<?> args,
                                       Long requestTimeout,
                                       Decoder<ResultT> resultDecoder)
        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).
        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:
        the decoded value.