Package com.sun.jna

# Class VarArgsChecker

java.lang.Object
com.sun.jna.VarArgsChecker

abstract class VarArgsChecker extends Object
Class for checking if a method has vararg parameters. Use method `create()` to create an instance of this class. How the returned instance work depends on the capabilities of the underlying JVM implementation. On older versions of the VM not supporting varargs, the returned VarArgsChecker will always return `false` on calls to `isVarArgs(Method)`.

Author:
  Max Bureck

## Method Summary

Modifier and Type
Method
Description
`(package private) static VarArgsChecker`
`create()`
Creates a new instance of a concrete subclass of VarArgsChecker, depending if `Method.isVarArgs()` exists.
`(package private) abstract int`
`fixedArgs(Method m)`
If variadic, returns the number of fixed arguments to the method.
`(package private) abstract boolean`
`isVarArgs(Method m)`
Checks if the given method was declared to take a variable number of arguments.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### create

static VarArgsChecker create()
Creates a new instance of a concrete subclass of VarArgsChecker, depending if `Method.isVarArgs()` exists.

Returns:
  new instance of concrete VarArgsChecker subclass

### isVarArgs

abstract boolean isVarArgs(Method m)
Checks if the given method was declared to take a variable number of arguments.

Parameters:
  `m` - Method to be checked
Returns:
  `true` if the given method takes a variable number of arguments, `false` otherwise.

### fixedArgs

abstract int fixedArgs(Method m)
If variadic, returns the number of fixed arguments to the method.

Parameters:
  `m` - Method to be checked
Returns:
  Number of fixed arguments if the given method takes a variable number of arguments, zero otherwise.