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.