package de.tuberlin.onedrivesdk; import de.tuberlin.onedrivesdk.common.ConcreteOneDriveSDK; import de.tuberlin.onedrivesdk.common.ExceptionEventHandler; import de.tuberlin.onedrivesdk.common.OneDriveScope; import de.tuberlin.onedrivesdk.common.OneDriveCredentials; public final class OneDriveFactory { /** * Create default OneDriveSDK without a redirect URL, pure code flow. * @param clientId * @param clientSecret * @param scopes * @return */ public static OneDriveSDK createOneDriveSDK(String clientId, String clientSecret, OneDriveScope... scopes) { return ConcreteOneDriveSDK.createOneDriveConnection(clientId, clientSecret, null, null, scopes); } /** * Creates default OneDriveSDK with redirect. * @param clientId * @param clientSecret * @param redirect_uri * @param scopes * @return */ public static OneDriveSDK createOneDriveSDK(String clientId, String clientSecret, String redirect_uri, OneDriveScope... scopes) { return ConcreteOneDriveSDK.createOneDriveConnection(clientId,clientSecret,redirect_uri,null,scopes); } /** * Creates OneDriverSDK with redirect URL and a ExceptionHandler as a callback in case the automatic refresh * of the authentication session fails. * @param clientId * @param clientSecret * @param redirect_uri * @param handler * @param scopes * @return */ public static OneDriveSDK createOneDriveSDK(String clientId, String clientSecret, String redirect_uri,ExceptionEventHandler handler, OneDriveScope... scopes) { return ConcreteOneDriveSDK.createOneDriveConnection(clientId,clientSecret,redirect_uri,handler,scopes); } /** * Create default OneDriveSDK with a given redirect URL using the @see OneDriveCredentials. * * @param redirect_uri * @return * @throws RuntimeException if no credential file can be found. */ public static OneDriveSDK createOneDriveSDK(String redirect_uri, OneDriveScope... scopes) { return ConcreteOneDriveSDK.createOneDriveConnection(OneDriveCredentials.getClientId() , OneDriveCredentials.getClientSecret(), redirect_uri, null, scopes); } }