// Path: es.alrocar.poiproxy/src/main/java/es/alrocar/poiproxy/configuration/Auth.java
// public class Auth {
// 
// 	/**
// 	 * @see AuthTypeEnum. Default value is {@link AuthTypeEnum#none}
// 	 */
// 	private String type = AuthTypeEnum.none.toString();
// 	private String apiKey;
// 	private String apiSecret;
// 	private String accessToken;
// 	private String accessTokenSecret;
// 
// 	/**
// 	 * @see AuthTypeEnum
// 	 * @return
// 	 */
// 	public String getType() {
// 		return type;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param type
// 	 *            One of {@link AuthTypeEnum}
// 	 */
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 
// 	public String getApiKey() {
// 		return apiKey;
// 	}
// 
// 	public void setApiKey(String apiKey) {
// 		this.apiKey = apiKey;
// 	}
// 
// 	public String getApiSecret() {
// 		return apiSecret;
// 	}
// 
// 	public void setApiSecret(String apiSecret) {
// 		this.apiSecret = apiSecret;
// 	}
// 
// 	public String getAccessToken() {
// 		return accessToken;
// 	}
// 
// 	public void setAccessToken(String accessToken) {
// 		this.accessToken = accessToken;
// 	}
// 
// 	public String getAccessTokenSecret() {
// 		return accessTokenSecret;
// 	}
// 
// 	public void setAccessTokenSecret(String accessTokenSecret) {
// 		this.accessTokenSecret = accessTokenSecret;
// 	}
// 
// }


import es.alrocar.poiproxy.configuration.Auth;
/*
 * Licensed to Prodevelop SL under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The Prodevelop SL licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 * For more information, contact:
 *
 *   Prodevelop, S.L.
 *   Pza. Don Juan de Villarrasa, 14 - 5
 *   46001 Valencia
 *   Spain
 *
 *   +34 963 510 612
 *   +34 963 510 968
 *   prode@prodevelop.es
 *   http://www.prodevelop.es
 * 
 * @author Alberto Romeu Carrasco http://www.albertoromeu.com
 */

package es.alrocar.poiproxy.request;


public interface RequestService {

	/**
	 * 
	 * @param URL
	 *            The URL where download data from
	 * @param fileName
	 *            The name of the file to store the data in
	 * @param downloadPath
	 *            The path where to store the file
	 * @param authElement
	 *            The {@link Auth} configuration that can have, apiKeys,
	 *            credentials, etc.
	 * @return An array of bytes with the data
	 * @throws Exception
	 */
	public byte[] download(String URL, String fileName, String downloadPath,
// Path: es.alrocar.poiproxy/src/main/java/es/alrocar/poiproxy/configuration/Auth.java
// public class Auth {
// 
// 	/**
// 	 * @see AuthTypeEnum. Default value is {@link AuthTypeEnum#none}
// 	 */
// 	private String type = AuthTypeEnum.none.toString();
// 	private String apiKey;
// 	private String apiSecret;
// 	private String accessToken;
// 	private String accessTokenSecret;
// 
// 	/**
// 	 * @see AuthTypeEnum
// 	 * @return
// 	 */
// 	public String getType() {
// 		return type;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param type
// 	 *            One of {@link AuthTypeEnum}
// 	 */
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 
// 	public String getApiKey() {
// 		return apiKey;
// 	}
// 
// 	public void setApiKey(String apiKey) {
// 		this.apiKey = apiKey;
// 	}
// 
// 	public String getApiSecret() {
// 		return apiSecret;
// 	}
// 
// 	public void setApiSecret(String apiSecret) {
// 		this.apiSecret = apiSecret;
// 	}
// 
// 	public String getAccessToken() {
// 		return accessToken;
// 	}
// 
// 	public void setAccessToken(String accessToken) {
// 		this.accessToken = accessToken;
// 	}
// 
// 	public String getAccessTokenSecret() {
// 		return accessTokenSecret;
// 	}
// 
// 	public void setAccessTokenSecret(String accessTokenSecret) {
// 		this.accessTokenSecret = accessTokenSecret;
// 	}
// 
// }


// Path: es.alrocar.poiproxy/src/main/java/es/alrocar/poiproxy/request/RequestService.java
import es.alrocar.poiproxy.configuration.Auth;

/*
 * Licensed to Prodevelop SL under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The Prodevelop SL licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 * For more information, contact:
 *
 *   Prodevelop, S.L.
 *   Pza. Don Juan de Villarrasa, 14 - 5
 *   46001 Valencia
 *   Spain
 *
 *   +34 963 510 612
 *   +34 963 510 968
 *   prode@prodevelop.es
 *   http://www.prodevelop.es
 * 
 * @author Alberto Romeu Carrasco http://www.albertoromeu.com
 */

package es.alrocar.poiproxy.request;


public interface RequestService {

	/**
	 * 
	 * @param URL
	 *            The URL where download data from
	 * @param fileName
	 *            The name of the file to store the data in
	 * @param downloadPath
	 *            The path where to store the file
	 * @param authElement
	 *            The {@link Auth} configuration that can have, apiKeys,
	 *            credentials, etc.
	 * @return An array of bytes with the data
	 * @throws Exception
	 */
	public byte[] download(String URL, String fileName, String downloadPath,
			Auth authElement) throws Exception;