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     *******************************************************************************/
009    package org.fusesource.hawtjni.runtime;
010    
011    import java.lang.annotation.Retention;
012    import java.lang.annotation.RetentionPolicy;
013    import java.lang.annotation.Target;
014    
015    import static java.lang.annotation.ElementType.*;
016    
017    /**
018     * 
019     * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
020     */
021    @Target({METHOD})
022    @Retention(RetentionPolicy.RUNTIME)
023    public @interface JniMethod {
024        
025        String cast() default "";
026    //    Pointer pointer() default Pointer.DETERMINE_FROM_CAST;
027        String accessor() default "";
028        MethodFlag[] flags() default {};
029        String copy() default "";
030        String conditional() default "";
031        
032        JniArg[] callbackArgs() default {};
033    }