// Path: cdi/src/main/java/org/onsteroids/eve/api/Api.java
// public interface Api {
// 
//     /**
// 	 * @param apiService the API service type to retrieve
// 	 * @param <T> the service definition
// 	 * @return the ready-to-use API service instance
// 	 */
// 	<T extends ApiService> T get(Class<T> apiService);
// 
// }
// 
// Path: weld/src/main/java/org/onsteroids/eve/api/WeldApi.java
// public final class WeldApi implements Api {
//     private static final Logger LOG = LoggerFactory.getLogger(WeldApi.class);
// 
//     private static Weld weld;
//     private static WeldContainer weldContainer;
// 
//     WeldApi() {
// 
//     }
// 
//     public static Api createApi() {
//         if (weld == null) {
//             weld = new Weld();
//             weldContainer = weld.initialize();
//         }
//         return new WeldApi();
//     }
// 
//     public synchronized static void shutdownApi() {
//         Preconditions.checkNotNull(weld, "Weld not running");
//         weld.shutdown();
//         weld = null;
//         weldContainer = null;
//     }
// 
//     @Override
//     public <T extends ApiService> T get(Class<T> apiService) {
//         Preconditions.checkNotNull(weld, "Weld not running");
//         return weldContainer.instance().select(apiService).get();
//     }
// }


import com.eveonline.api.exceptions.ApiException;
import com.eveonline.api.server.ServerStatus;
import com.eveonline.api.server.ServerStatusApi;
import org.onsteroids.eve.api.Api;
import org.onsteroids.eve.api.WeldApi;
package org.onsteroids.eve.api.examples.javase;


/**
 * @author Tobias Sarnowski
 */
public class ServerStatusApp {

    public static void main(String[] args) {
        Api api = WeldApi.createApi();
        ServerStatusApi serverStatusApi = api.get(ServerStatusApi.class);

        ServerStatus serverStatus = null;
        try {
// Path: cdi/src/main/java/org/onsteroids/eve/api/Api.java
// public interface Api {
// 
//     /**
// 	 * @param apiService the API service type to retrieve
// 	 * @param <T> the service definition
// 	 * @return the ready-to-use API service instance
// 	 */
// 	<T extends ApiService> T get(Class<T> apiService);
// 
// }
// 
// Path: weld/src/main/java/org/onsteroids/eve/api/WeldApi.java
// public final class WeldApi implements Api {
//     private static final Logger LOG = LoggerFactory.getLogger(WeldApi.class);
// 
//     private static Weld weld;
//     private static WeldContainer weldContainer;
// 
//     WeldApi() {
// 
//     }
// 
//     public static Api createApi() {
//         if (weld == null) {
//             weld = new Weld();
//             weldContainer = weld.initialize();
//         }
//         return new WeldApi();
//     }
// 
//     public synchronized static void shutdownApi() {
//         Preconditions.checkNotNull(weld, "Weld not running");
//         weld.shutdown();
//         weld = null;
//         weldContainer = null;
//     }
// 
//     @Override
//     public <T extends ApiService> T get(Class<T> apiService) {
//         Preconditions.checkNotNull(weld, "Weld not running");
//         return weldContainer.instance().select(apiService).get();
//     }
// }


// Path: examples/javase/src/main/java/org/onsteroids/eve/api/examples/javase/ServerStatusApp.java
import com.eveonline.api.exceptions.ApiException;
import com.eveonline.api.server.ServerStatus;
import com.eveonline.api.server.ServerStatusApi;
import org.onsteroids.eve.api.Api;
import org.onsteroids.eve.api.WeldApi;

package org.onsteroids.eve.api.examples.javase;


/**
 * @author Tobias Sarnowski
 */
public class ServerStatusApp {

    public static void main(String[] args) {
        Api api = WeldApi.createApi();
        ServerStatusApi serverStatusApi = api.get(ServerStatusApi.class);

        ServerStatus serverStatus = null;
        try {
            serverStatus = serverStatusApi.getServerStatus();