/** filename: README.md **/
# Welcome
Welcome to your new {{&platformConfig.name}} SDK!


## Installation
To use this SDK, you should copy the {{&sdkname}} directory in its entirety in to the appropriate place within your {{&platformConfig.name}} project.

Then, import the SDK: 

    import com.{{&sdknameLower}}.*;


## Usage
You can now reference your main SDK to get models, endpoints, and change configuration at runtime:

    {{&sdkname}}.setPort(8080);
    // {{&sdkname}}.setDomain("http://your.domain.com");
{{#authByBasic}}
    {{#config.apikey}}
    // Basic Auth.
    {{&sdkname}}.setAuthorization("{{&config.apikey}}");
    {{/config.apikey}}
    {{#config.apikey_production}}
    // Production Basic Auth.
    {{&sdkname}}.setAuthorization("{{&config.apikey_production}}");
    {{/config.apikey_production}}
    {{#config.apikey_development}}
    // Development Basic Auth.
    {{&sdkname}}.setAuthorization("{{&config.apikey_development}}");
    {{/config.apikey_development}}
{{/authByBasic}}
{{#authByAPIKey}}
    {{#config.apikey}}
    // API Key.
    {{&sdkname}}.setAPIKey("{{&config.apikey}}");
    {{/config.apikey}}
    {{#config.apikey_production}}
    // Production API Key.
    {{&sdkname}}.setAPIKey("{{&config.apikey_production}}");
    {{/config.apikey_production}}
    {{#config.apikey_development}}
    // Development API Key.
    {{&sdkname}}.setAPIKey("{{&config.apikey_development}}");
    {{/config.apikey_development}}
{{/authByAPIKey}}
    
    User.findAll(new CallbackWith<User[]>() {
        @Override
        public void onSuccess(User[] result, JSONObject body, HttpURLConnection connection) {
            System.out.println(result);
        }
    
        @Override
        public void onError(Exception exception, JSONObject body, HttpURLConnection connection) {
            System.out.println(exception);
        }
    });

{{&securityPluginREADME}}


## Caching
The client SDK can cache GET results for quick retrieval later using various strategies. By default, it doesn't do
any caching. But you can change that very easily:

    // For everything:
    {{&sdkname}}.setCachePolicy(new CachePolicy(CachePolicy.Type.CacheElseNetwork, 60 * 60 * 1000));
    
    // For an {{&sdkname}} model:
    User.setCachePolicy(new CachePolicy(CachePolicy.Type.CacheElseNetwork));

{{> CachingStrategies.md}}
