org.androidannotations.annotations.EIntentService Maven / Gradle / Ivy
Show all versions of androidannotations-api Show documentation
/**
* Copyright (C) 2010-2016 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;
/**
*
* Should be used on {@link android.app.IntentService} classes to enable usage
* of AndroidAnnotations.
*
*
* Your code related to injected beans should go in an {@link AfterInject}
* annotated method.
*
*
* If the class is abstract, the enhanced intentservice will not be generated.
* Otherwise, it will be generated as a final class. You can use
* AndroidAnnotations to create Abstract classes that handle common code.
*
*
* The generated class will also contain an IntentBuilder to start activity with
* a fluent API. Android's extra can also be enhanced by using {@link Extra}
* annotation on every native or serializable/parcelable field.
*
*
* The IntentService class should contain a {@link ServiceAction} annotated
* method in order to respond to an action.
*
*
*
* Example :
*
*
* @EActivity(R.layout.main)
* public class MyActivity extends Activity {
*
* public void launchAction() {
* // Note the use of generated class instead of original one
* MyIntentService_.intent(this).myAction("test", 10L).start();
* }
*
* }
*
* @EIntentService
* public class MyIntentService extends IntentService {
*
* @ServiceAction
* void mySimpleAction() {
* // ...
* }
*
* @ServiceAction
* void myAction(String valueString, long valueLong) {
* // ...
* }
* }
*
*
*
*
* @see AfterInject
* @see ServiceAction
*/
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.TYPE)
public @interface EIntentService {
}