| // Copyright 2012 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package org.jni_zero; |
| |
| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| |
| /** |
| * Used by the JNI generator to create the necessary JNI bindings and expose this method to native |
| * code. |
| * |
| * <p>Any uncaught Java exceptions will crash the current process. This is generally the desired |
| * behavior, since most exceptions indicate an unexpected error. If your java method expects an |
| * exception, we recommend refactoring to catch exceptions and indicate errors with special return |
| * values instead. If this is not possible, see {@link CalledByNativeUnchecked} instead. |
| */ |
| @Target({ElementType.CONSTRUCTOR, ElementType.METHOD}) |
| @Retention(RetentionPolicy.CLASS) |
| public @interface CalledByNative { |
| /* |
| * If present, tells which inner class the method belongs to. |
| */ |
| public String value() default ""; |
| } |