All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.androidannotations.annotations.SupposeBackground Maven / Gradle / Ivy

There is a newer version: 4.8.0
Show newest version
/**
 * Copyright (C) 2010-2016 eBusiness Information, Excilys Group
 * Copyright (C) 2016-2017 the AndroidAnnotations project
 *
 * 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;

import org.androidannotations.api.KotlinOpen;

/**
 * 

* Ensures that the method is called from the background thread with * (optionally) restrictions by allowed serials. If it is not called from a * supposed background thread, then {@link IllegalStateException} will be thrown * (by default). *

*
Example : * *
 * @EBean
 * public class MyBean {
 * 
 * 	@SupposeBackground
 * 	boolean someMethodThatShouldNotBeCalledFromUiThread() {
 * 		// if this method will be called from the UI-thread an exception will be
 * 		// thrown
 * 	}
 * 
 * 	@SupposeBackground(serial = { "serial1", "serial2" })
 * 	boolean someMethodThatShouldBeCalledFromSerial1OrSerial2() {
 * 		// if this method will be called from another thread then a background
 * 		// thread with a
 * 		// serial "serial1" or "serial2", an exception will be thrown
 * 	}
 * 
 * }
 * 
* *
* * @see org.androidannotations.api.BackgroundExecutor#setWrongThreadListener(org.androidannotations.api.BackgroundExecutor.WrongThreadListener) * @see org.androidannotations.api.BackgroundExecutor#DEFAULT_WRONG_THREAD_LISTENER * @see org.androidannotations.api.BackgroundExecutor#checkBgThread(String...) */ @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) @KotlinOpen public @interface SupposeBackground { /** * Allowed serials to restrict a calling thread. If it is an empty list, * then any background thread is allowed. * * @see org.androidannotations.api.BackgroundExecutor#checkBgThread(String...) * * @return the allowed serials */ String[] serial() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy