public abstract class CompositeModel extends Object implements org.qi4j.functional.VisitableHierarchy<Object,Object>, Dependencies, org.qi4j.api.composite.CompositeDescriptor
Modifier and Type | Field and Description |
---|---|
protected CompositeMethodsModel |
compositeMethodsModel |
protected MixinsModel |
mixinsModel |
protected Class<? extends org.qi4j.api.composite.Composite> |
proxyClass |
protected Constructor<? extends org.qi4j.api.composite.Composite> |
proxyConstructor |
protected StateModel |
stateModel |
DEPENDENCIES_FUNCTION
Modifier | Constructor and Description |
---|---|
protected |
CompositeModel(Iterable<Class<?>> types,
org.qi4j.api.common.Visibility visibility,
org.qi4j.api.common.MetaInfo metaInfo,
MixinsModel mixinsModel,
StateModel stateModel,
CompositeMethodsModel compositeMethodsModel) |
Modifier and Type | Method and Description |
---|---|
<ThrowableType extends Throwable> |
accept(org.qi4j.functional.HierarchicalVisitor<? super Object,? super Object,ThrowableType> visitor) |
Iterable<DependencyModel> |
dependencies() |
Object |
invoke(MixinsInstance mixins,
Object proxy,
Method method,
Object[] args,
org.qi4j.spi.module.ModuleSpi moduleInstance) |
boolean |
isAssignableTo(Class<?> type) |
<T> T |
metaInfo(Class<T> infoType) |
MixinsModel |
mixinsModel() |
Iterable<Class<?>> |
mixinTypes() |
org.qi4j.api.composite.Composite |
newProxy(InvocationHandler invocationHandler) |
<T> T |
newProxy(InvocationHandler invocationHandler,
Class<T> mixinType) |
Class<?> |
primaryType() |
StateModel |
state() |
String |
toString() |
Iterable<Class<?>> |
types() |
org.qi4j.api.common.Visibility |
visibility() |
protected final MixinsModel mixinsModel
protected final CompositeMethodsModel compositeMethodsModel
protected final StateModel stateModel
protected Class<? extends org.qi4j.api.composite.Composite> proxyClass
protected Constructor<? extends org.qi4j.api.composite.Composite> proxyConstructor
protected CompositeModel(Iterable<Class<?>> types, org.qi4j.api.common.Visibility visibility, org.qi4j.api.common.MetaInfo metaInfo, MixinsModel mixinsModel, StateModel stateModel, CompositeMethodsModel compositeMethodsModel)
public StateModel state()
public <T> T metaInfo(Class<T> infoType)
metaInfo
in interface org.qi4j.api.structure.MetaInfoHolder
public org.qi4j.api.common.Visibility visibility()
visibility
in interface org.qi4j.api.composite.ModelDescriptor
public boolean isAssignableTo(Class<?> type)
isAssignableTo
in interface org.qi4j.api.composite.ModelDescriptor
public MixinsModel mixinsModel()
public Class<?> primaryType()
primaryType
in interface org.qi4j.api.composite.CompositeDescriptor
public Iterable<Class<?>> mixinTypes()
mixinTypes
in interface org.qi4j.api.composite.CompositeDescriptor
public Iterable<DependencyModel> dependencies()
dependencies
in interface Dependencies
public <ThrowableType extends Throwable> boolean accept(org.qi4j.functional.HierarchicalVisitor<? super Object,? super Object,ThrowableType> visitor) throws ThrowableType extends Throwable
public final Object invoke(MixinsInstance mixins, Object proxy, Method method, Object[] args, org.qi4j.spi.module.ModuleSpi moduleInstance) throws Throwable
Throwable
public org.qi4j.api.composite.Composite newProxy(InvocationHandler invocationHandler) throws org.qi4j.api.common.ConstructionException
org.qi4j.api.common.ConstructionException
public <T> T newProxy(InvocationHandler invocationHandler, Class<T> mixinType) throws IllegalArgumentException
IllegalArgumentException