diff --git a/src/io/userapp/client/IUserAppAPI.java b/src/io/userapp/client/IUserAppAPI.java new file mode 100644 index 0000000..17d6180 --- /dev/null +++ b/src/io/userapp/client/IUserAppAPI.java @@ -0,0 +1,26 @@ +package io.userapp.client; + +import io.userapp.client.exceptions.InvalidMethodException; +import io.userapp.client.exceptions.InvalidServiceException; +import io.userapp.client.exceptions.ServiceException; +import io.userapp.client.exceptions.TransportException; +import io.userapp.client.exceptions.UserAppException; + +public interface IUserAppAPI { + + public void setOptions(UserApp.ClientOptions options); + + public UserApp.ClientOptions getOptions(); + + /* Set the API method */ + public IUserAppAPI method(String name); + + /* Add an input parameter */ + public IUserAppAPI parameter(String name, Object value); + + /* Perform the API call */ + public UserApp.Result call() throws UserAppException, + TransportException, ServiceException, InvalidServiceException, + InvalidMethodException; + +} \ No newline at end of file diff --git a/src/io/userapp/client/UserApp.java b/src/io/userapp/client/UserApp.java index 0777134..ce728ab 100644 --- a/src/io/userapp/client/UserApp.java +++ b/src/io/userapp/client/UserApp.java @@ -187,7 +187,7 @@ public boolean toBoolean() { } /* API wrapper class */ - public static class API { + public static class API implements IUserAppAPI { private UserApp.ClientOptions options; RestfulContext restfulContext = new RestfulContext(); URI serviceUrl; @@ -205,7 +205,7 @@ public API(String appId, String token) { public API(UserApp.ClientOptions options) { this.setOptions(options); } - + public void setOptions(UserApp.ClientOptions options) { this.options = options; this.restfulContext.setBasicAuthenticationCredentials(new UserCredentials( @@ -215,20 +215,20 @@ public void setOptions(UserApp.ClientOptions options) { String.format("%s://%s/v%d/", (this.options.secure ? "https" : "http"), this.options.baseAddress, this.options.version) ); } - + public UserApp.ClientOptions getOptions() { return this.options; } /* Set the API method */ - public UserApp.API method(String name) { + public IUserAppAPI method(String name) { this.methodName = name; this.parameters.clear(); return this; } /* Add an input parameter */ - public UserApp.API parameter(String name, Object value) { + public IUserAppAPI parameter(String name, Object value) { this.parameters.add(new UserApp.Parameter(name, value)); return this; } diff --git a/src/io/userapp/client/demo/Demo.java b/src/io/userapp/client/demo/Demo.java index 8cd7e89..1c55b41 100644 --- a/src/io/userapp/client/demo/Demo.java +++ b/src/io/userapp/client/demo/Demo.java @@ -2,6 +2,7 @@ import java.util.ArrayList; +import io.userapp.client.IUserAppAPI; import io.userapp.client.UserApp; import io.userapp.client.exceptions.*; @@ -22,7 +23,7 @@ public static void main(String[] args) { options.throwErrors = false; UserApp.API api = new UserApp.API(options);*/ - UserApp.API api = new UserApp.API("YOUR-USERAPP-APP-ID"); + IUserAppAPI api = new UserApp.API("YOUR-USERAPP-APP-ID"); /* * Sign up a new user