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.Modifier and Type | Class and Description |
---|---|
static class |
Mixin.Generator |
(package private) static interface |
Mixin.MixinKey |
private static class |
Mixin.Route |
Modifier and Type | Field and Description |
---|---|
private static Mixin.MixinKey |
KEY_FACTORY |
private static java.util.Map |
ROUTE_CACHE |
static int |
STYLE_BEANS |
static int |
STYLE_EVERYTHING |
static int |
STYLE_INTERFACES |
Constructor and Description |
---|
Mixin() |
Modifier and Type | Method and Description |
---|---|
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) |
private static Mixin.Route |
route(java.lang.Object[] delegates) |
private static final Mixin.MixinKey KEY_FACTORY
private static final java.util.Map ROUTE_CACHE
public static final int STYLE_INTERFACES
public static final int STYLE_BEANS
public static final int STYLE_EVERYTHING
public abstract Mixin newInstance(java.lang.Object[] delegates)
public static Mixin create(java.lang.Object[] delegates)
Mixin
instead of this static method.
TODOpublic static Mixin create(java.lang.Class[] interfaces, java.lang.Object[] delegates)
Mixin
instead of this static method.
TODOpublic static Mixin createBean(java.lang.Object[] beans)
public static Mixin createBean(java.lang.ClassLoader loader, java.lang.Object[] beans)
Mixin
instead of this static method.
TODOpublic static java.lang.Class[] getClasses(java.lang.Object[] delegates)
private static Mixin.Route route(java.lang.Object[] delegates)