Package javassist.util.proxy

# Class FactoryHelper

java.lang.Object
javassist.util.proxy.FactoryHelper

public class FactoryHelper extends Object
A helper class for implementing `ProxyFactory`. The users of `ProxyFactory` do not have to see this class.

See Also:
  - `ProxyFactory`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int[]`
`dataSize`
The data size of primitive types.
`static final Class<?>[]`
`primitiveTypes`
`Class` objects representing primitive types.
`static final String[]`
`unwarpMethods`
The names of methods for obtaining a primitive value from a wrapper object.
`static final String[]`
`unwrapDesc`
The descriptors of the unwrapping methods contained in `unwrapMethods`.
`static final String[]`
`wrapperDesc`
The descriptors of the constructors of wrapper classes.
`static final String[]`
`wrapperTypes`
The fully-qualified names of wrapper classes for primitive types.

## Constructor Summary

Constructors
Constructor
Description
`FactoryHelper()`

## Method Summary

Modifier and Type
Method
Description
`static Class<?>`
`toClass(ClassFile cf, Class<?> neighbor, ClassLoader loader, ProtectionDomain domain)`
Loads a class file by a given class loader.
`static Class<?>`
`toClass(ClassFile cf, ClassLoader loader)`
Deprecated.
`static Class<?>`
`toClass(ClassFile cf, ClassLoader loader, ProtectionDomain domain)`
Deprecated.
`static Class<?>`
`toClass(ClassFile cf, MethodHandles.Lookup lookup)`
Loads a class file by a given lookup.
`static final int`
`typeIndex(Class<?> type)`
Returns an index for accessing arrays in this class.
`static void`
`writeFile(ClassFile cf, String directoryName)`
Writes a class file.

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

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

## Field Details

### primitiveTypes

public static final Class<?>[] primitiveTypes
`Class` objects representing primitive types.

### wrapperTypes

public static final String[] wrapperTypes
The fully-qualified names of wrapper classes for primitive types.

### wrapperDesc

public static final String[] wrapperDesc
The descriptors of the constructors of wrapper classes.

### unwarpMethods

public static final String[] unwarpMethods
The names of methods for obtaining a primitive value from a wrapper object. For example, `intValue()` is such a method for obtaining an integer value from a `java.lang.Integer` object.

### unwrapDesc

public static final String[] unwrapDesc
The descriptors of the unwrapping methods contained in `unwrapMethods`.

### dataSize

public static final int[] dataSize
The data size of primitive types. `long` and `double` are 2; the others are 1.

## Constructor Details

### FactoryHelper

public FactoryHelper()

## Method Details

### typeIndex

public static final int typeIndex(Class<?> type)
Returns an index for accessing arrays in this class.

Throws:
  `RuntimeException` - if a given type is not a primitive type.

### toClass

public static Class<?> toClass(ClassFile cf, ClassLoader loader) throws CannotCompileException
Deprecated.
Loads a class file by a given class loader. This method uses a default protection domain for the class but it may not work with a security manager or a signed jar file.

Throws:
  `CannotCompileException`
See Also:
  - `toClass(ClassFile,Class,ClassLoader,ProtectionDomain)`

### toClass

public static Class<?> toClass(ClassFile cf, ClassLoader loader, ProtectionDomain domain) throws CannotCompileException
Deprecated.
Loads a class file by a given class loader.

Parameters:
  `loader` - The class loader. It can be null if `neighbor` is not null.
  `domain` - if it is null, a default domain is used.
Throws:
  `CannotCompileException`
Since:
  3.3
See Also:
  - `toClass(ClassFile,Class,ClassLoader,ProtectionDomain)`

### toClass

public static Class<?> toClass(ClassFile cf, Class<?> neighbor, ClassLoader loader, ProtectionDomain domain) throws CannotCompileException
Loads a class file by a given class loader.

Parameters:
  `neighbor` - a class belonging to the same package that the loaded class belongs to. It can be null.
  `loader` - The class loader. It can be null if `neighbor` is not null.
  `domain` - if it is null, a default domain is used.
Throws:
  `CannotCompileException`
Since:
  3.3

### toClass

public static Class<?> toClass(ClassFile cf, MethodHandles.Lookup lookup) throws CannotCompileException
Loads a class file by a given lookup.

Parameters:
  `lookup` - used to define the class.
Throws:
  `CannotCompileException`
Since:
  3.24

### writeFile

public static void writeFile(ClassFile cf, String directoryName) throws CannotCompileException
Writes a class file.

Throws:
  `CannotCompileException`