001/******************************************************************************* 002 * Copyright (C) 2009-2011 FuseSource Corp. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 *******************************************************************************/ 009package org.fusesource.hawtjni.runtime; 010 011import java.lang.annotation.Retention; 012import java.lang.annotation.RetentionPolicy; 013import java.lang.annotation.Target; 014 015import static java.lang.annotation.ElementType.*; 016 017import java.lang.annotation.Documented; 018 019/** 020 * 021 * @author <a href="http://hiramchirino.com">Hiram Chirino</a> 022 */ 023@Documented 024@Target({METHOD}) 025@Retention(RetentionPolicy.RUNTIME) 026public @interface JniMethod { 027 028 String cast() default ""; 029// Pointer pointer() default Pointer.DETERMINE_FROM_CAST; 030 String accessor() default ""; 031 MethodFlag[] flags() default {}; 032 String copy() default ""; 033 String conditional() default ""; 034 035 JniArg[] callbackArgs() default {}; 036}