/** * Copyright (C) 2010-2014 eBusiness Information, Excilys Group * * Licensed 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. */ package org.androidannotations.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** *

* Use this annotation to inject an HttpClient instance with the specified * KeyStore and TrustStore configured to perform an HTTPS request. *

*

* All the parameters are optional: *

* * * Note: * Prior to ICS, Android accepts [Key|Trust]store only in BKS format * (Bouncycastle Key Store) * *
* * Example : * *
 * @EBean
 * public class MyBean {
 * 	@HttpsClient(trustStore = R.raw.cacerts, //
 * 	trustStorePwd = "changeit", //
 * 	keyStore = R.raw.client, //
 * 	keyStorePwd = "secret", //
 * 	allowAllHostnames = false)
 * 	HttpClient httpsClient;
 * 
 * 	@AfterInject
 * 	@Background
 * 	public void securedRequest() {
 * 		try {
 * 			HttpGet httpget = new HttpGet("https://www.verisign.com/");
 * 			HttpResponse response = httpsClient.execute(httpget);
 * 			doSomethingWithResponse(response);
 * 		} catch (Exception e) {
 * 			e.printStackTrace();
 * 		}
 * 	}
 * 
 * 	@UiThread
 * 	public void doSomethingWithResponse(HttpResponse resp) {
 * 		Toast.makeText(this, "HTTP status " + resp.getStatusLine().getStatusCode(), Toast.LENGTH_LONG).show();
 * 	}
 * }
 * 
* *
*/ @Retention(RetentionPolicy.CLASS) @Target(ElementType.FIELD) public @interface HttpsClient { public static final String DEFAULT_PASSWD = "changeit"; int trustStore() default ResId.DEFAULT_VALUE; String trustStoreResName() default ""; String trustStorePwd() default DEFAULT_PASSWD; int keyStore() default ResId.DEFAULT_VALUE; String keyStoreResName() default ""; String keyStorePwd() default DEFAULT_PASSWD; boolean allowAllHostnames() default true; }