001 /******************************************************************************* 002 * Copyright (C) 2009-2011 FuseSource Corp. 003 * Copyright (c) 2004, 2008 IBM Corporation and others. 004 * 005 * All rights reserved. This program and the accompanying materials 006 * are made available under the terms of the Eclipse Public License v1.0 007 * which accompanies this distribution, and is available at 008 * http://www.eclipse.org/legal/epl-v10.html 009 * 010 *******************************************************************************/ 011 package org.fusesource.hawtjni.generator.model; 012 013 import java.util.List; 014 015 import org.fusesource.hawtjni.runtime.ArgFlag; 016 import org.fusesource.hawtjni.runtime.MethodFlag; 017 018 /** 019 * 020 * @author <a href="http://hiramchirino.com">Hiram Chirino</a> 021 */ 022 public interface JNIMethod { 023 024 public boolean getFlag(MethodFlag flag); 025 026 public String getName(); 027 028 public int getModifiers(); 029 030 public boolean isNativeUnique(); 031 032 public JNIType getReturnType32(); 033 034 public JNIType getReturnType64(); 035 036 public List<JNIParameter> getParameters(); 037 038 public List<JNIType> getParameterTypes(); 039 040 public List<JNIType> getParameterTypes64(); 041 042 public JNIClass getDeclaringClass(); 043 044 public String getAccessor(); 045 046 public String getConditional(); 047 048 public String getCopy(); 049 050 public String[] getCallbackTypes(); 051 public ArgFlag[][] getCallbackFlags(); 052 053 public String getCast(); 054 055 public boolean isPointer(); 056 }