# Class: com.pnfsoftware.jeb.util.reflect.ReflectionHelper

Helper routines using the Java Reflection API.

## Constructor: ReflectionHelper


## Static Method: get2
- parameter: `f`, type: `java.lang.reflect.Field`
- parameter: `o`, type: `java.lang.Object`
- return type: `java.lang.Object`


## Static Method: hasNoArgConstructor
- parameter: `c`, type: `java.lang.Class<?>`
- return type: `boolean`


## Static Method: instantiateSafe
- parameter: `c`, type: `java.lang.Class<? extends T>`
- return type: `T`

Description: 
parameter: c: 
return: 

## Static Method: invoke2
- parameter: `m`, type: `java.lang.reflect.Method`
- parameter: `o`, type: `java.lang.Object`
- parameter: `args`, type: `java.lang.Object[]`
- return type: `java.lang.Object`


## Static Method: isInstance
- parameter: `o`, type: `java.lang.Object`
- parameter: `classObjects`, type: `java.util.Collection<java.lang.Class<? extends T>>`
- return type: `boolean`

Description: A multi\-element variant of [Class#isInstance(Object)](Class#isInstance(Object)).
parameter: o: the object to be tested
parameter: classObjects: a collection of `Class` objects
return: true if o can be cast to one of the provided class objects

## Static Method: isInstance
- parameter: `o`, type: `java.lang.Object`
- parameter: `classObjects`, type: `java.lang.Class<?>[]`
- return type: `boolean`

Description: A multi\-element variant of [Class#isInstance(Object)](Class#isInstance(Object)).
parameter: o: the object to be tested
parameter: classObjects: a collection of `Class` objects
return: true if o can be cast to one of the provided class objects

## Static Method: newInstance2
- parameter: `constructor`, type: `java.lang.reflect.Constructor<?>`
- return type: `java.lang.Object`


## Static Method: reduceDimensions
- parameter: `c`, type: `java.lang.Class<?>`
- return type: `java.lang.Class<?>`

Description: Reduce dimensions of an array type. Careful, caveat for primitives: 
 
- non\-array =\> non\-array
-  
- Object\[\]...\[\] =\> Object
-  
- prim\[\]...\[\] =\> prim\[\]
-
parameter: c: a type
return: 

## Static Method: removeDimensions
- parameter: `c`, type: `java.lang.Class<?>`
- return type: `java.lang.Class<?>`

Description: Remove dimensions of an array type. 
 
- non\-array =\> non\-array
-  
- type\[\]...\[\] =\> type
-
parameter: c: a type
return: the dimension\-less type

## Static Method: set2
- parameter: `f`, type: `java.lang.reflect.Field`
- parameter: `o`, type: `java.lang.Object`
- parameter: `value`, type: `java.lang.Object`


## Static Method: subtypeOf
- parameter: `c`, type: `java.lang.Class<?>`
- parameter: `parent`, type: `java.lang.Class<?>`
- return type: `boolean`

Description: Determine if a type is a descendant of the provided ancestor.
parameter: c: a type \(class or interface\)
parameter: parent: a candidate ancestor type \(class or interface\)
return: true or false

