JBoss Community

Re: Standalone client API

created by Brian Stansberry in JBoss AS7 Development - View the full discussion

A quick cut at the client interface, based on DomainClient:

public interface StandaloneServerClient {

 

    /**
     * Get the current server model for the standalone server.
     *
     * @return The server model
     */
    ServerModel getServerModel();

 

    /**
     * Apply an update to the server, using optional {@link UpdateResultHandler}
     * to get a callback indicating the outcome of the update.
     *
     * @param <R> the type of result that is returned by this update type
     * @param <P> the type of the parameter to pass to the handler instance
     * @param update the update. Cannot be <code>null</code>
     * @param resultHandler the update applier. May be <code>null</code>
     * @param param the parameter to pass to the handler
     */
    <R, P> void applyUpdate(AbstractServerModelUpdate<R> update, UpdateResultHandler<R, P> resultHandler, P param);

 

    /**
     * Add the content for a deployment to the server's deployment content repository. Note that this does not trigger deployment.
     *
     * @param name The deployment name
     * @param runtimeName The runtime name
     * @param stream The data stream for the deployment
     * @return The unique hash for the deployment
     */
    byte[] addDeploymentContent(String name, String runtimeName, InputStream stream);

 

    /**
     * Gets a {@link ServerDeploymentManager} that provides a convenience API
     * for manipulating deployments.
     *
     * @return the deployment manager. Will not be {@code null}
     */
    ServerDeploymentManager getDeploymentManager();
}

 

Initially, please focus on the ServerDeploymentManager getDeploymentManager() method. The way that is handled in DomainClientImpl should give a good picture as to how the analogous thing can be handled here.

Reply to this message by going to Community

Start a new discussion in JBoss AS7 Development at Community