Package net.sf.cglib.proxy

## Class Mixin

- java.lang.Object
- - net.sf.cglib.proxy.Mixin

    public abstract class Mixin
    extends java.lang.Object

`Mixin` allows multiple objects to be combined into a single larger object. The methods in the generated object simply call the original methods in the underlying "delegate" objects.

Version:
  $Id: Mixin.java,v 1.7 2005/09/27 11:42:27 baliuka Exp $
Author:
  Chris Nokleberg

### Nested Class Summary

Nested Classes
`static class` `Mixin.Generator`

### Field Summary

Fields
`static int` `STYLE_BEANS`
`static int` `STYLE_EVERYTHING`
`static int` `STYLE_INTERFACES`

### Constructor Summary

Constructors
`Mixin()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static Mixin` `create​(java.lang.Class[] interfaces, java.lang.Object[] delegates)` Helper method to create an interface mixin.
`static Mixin` `create​(java.lang.Object[] delegates)` Helper method to create an interface mixin.
`static Mixin` `createBean​(java.lang.ClassLoader loader, java.lang.Object[] beans)` Helper method to create a bean mixin.
`static Mixin` `createBean​(java.lang.Object[] beans)`
`static java.lang.Class[]` `getClasses​(java.lang.Object[] delegates)`
`abstract Mixin` `newInstance​(java.lang.Object[] delegates)`

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

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

### Field Detail

#### STYLE_INTERFACES

    public static final int STYLE_INTERFACES

See Also:
  Constant Field Values

#### STYLE_BEANS

    public static final int STYLE_BEANS

See Also:
  Constant Field Values

#### STYLE_EVERYTHING

    public static final int STYLE_EVERYTHING

See Also:
  Constant Field Values

### Constructor Detail

#### Mixin

    public Mixin()

### Method Detail

#### newInstance

    public abstract Mixin newInstance​(java.lang.Object[] delegates)

#### create

    public static Mixin create​(java.lang.Object[] delegates)

Helper method to create an interface mixin. For finer control over the generated instance, use a new instance of `Mixin` instead of this static method. TODO

#### create

    public static Mixin create​(java.lang.Class[] interfaces,
                               java.lang.Object[] delegates)

Helper method to create an interface mixin. For finer control over the generated instance, use a new instance of `Mixin` instead of this static method. TODO

#### createBean

    public static Mixin createBean​(java.lang.Object[] beans)

#### createBean

    public static Mixin createBean​(java.lang.ClassLoader loader,
                                   java.lang.Object[] beans)

Helper method to create a bean mixin. For finer control over the generated instance, use a new instance of `Mixin` instead of this static method. TODO

#### getClasses

    public static java.lang.Class[] getClasses​(java.lang.Object[] delegates)