Module java.instrument
Package java.lang.instrument

## Class ClassDefinition

- java.lang.Object
- - java.lang.instrument.ClassDefinition

    public final class ClassDefinition
    extends Object

This class serves as a parameter block to the `Instrumentation.redefineClasses` method. Serves to bind the `Class` that needs redefining together with the new class file bytes.

Since:
  1.5
See Also:
  `Instrumentation.redefineClasses(java.lang.instrument.ClassDefinition...)`

### Constructor Summary

Constructors
`ClassDefinition​(Class<?> theClass, byte[] theClassFile)` Creates a new `ClassDefinition` binding using the supplied class and class file bytes.

### Method Summary

All Methods Instance Methods Concrete Methods
`Class<?>` `getDefinitionClass()` Returns the class.
`byte[]` `getDefinitionClassFile()` Returns the array of bytes that contains the new class file.

### Methods declared in class java.lang.Object

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

### Constructor Detail

#### ClassDefinition

    public ClassDefinition​(Class<?> theClass,
                           byte[] theClassFile)

Creates a new `ClassDefinition` binding using the supplied class and class file bytes. Does not copy the supplied buffer, just captures a reference to it.

Parameters:
  `theClass` - the `Class` that needs redefining
  `theClassFile` - the new class file bytes
Throws:
  `NullPointerException` - if the supplied class or array is `null`.

### Method Detail

#### getDefinitionClass

    public Class<?> getDefinitionClass()

Returns the class.

Returns:
  the `Class` object referred to.

#### getDefinitionClassFile

    public byte[] getDefinitionClassFile()

Returns the array of bytes that contains the new class file.

Returns:
  the class file bytes.