com.sun.jna

## Class VarArgsChecker

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

    abstract class VarArgsChecker
    extends java.lang.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

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`(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(java.lang.reflect.Method m)` If variadic, returns the number of fixed arguments to the method.
`(package private) abstract boolean` `isVarArgs(java.lang.reflect.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 Detail

#### 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(java.lang.reflect.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(java.lang.reflect.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.

Copyright © 2007-2018 Timothy Wall. All Rights Reserved.