public class MicroModel
extends CacheableKernelModel
Modifier and Type | Class and Description |
---|---|
static class |
MicroModel.ServiceInjectionInfo
Struct for injection info.
|
Modifier and Type | Field and Description |
---|---|
protected java.util.List<FieldInfo> |
agentinjections
The agent injection targets.
|
protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,MethodInfo> |
agentmethods
The agent methods for given annotations (if any).
|
protected MultiCollection<java.lang.String,Tuple2<FieldInfo,java.lang.String>> |
argumentinjections
The argument injection targets.
|
protected java.lang.ClassLoader |
classloader
The class loader.
|
protected java.util.List<FieldInfo> |
featureinjections
The feature injection targets.
|
protected java.util.List<FieldInfo> |
parentinjections
The parent injection targets.
|
protected ClassInfo |
pojoclass
The micro agent class.
|
protected java.util.Map<java.lang.String,Tuple3<FieldInfo,java.lang.String,java.lang.String>> |
resultinjections
The result injection targets.
|
protected java.util.List<ServiceCallInfo> |
servicecalls
The service value calls.
|
protected MultiCollection<java.lang.String,MicroModel.ServiceInjectionInfo> |
serviceinjections
The service injection targets.
|
Constructor and Description |
---|
MicroModel(IModelInfo modelinfo)
Create a new model.
|
Modifier and Type | Method and Description |
---|---|
void |
addAgentInjection(FieldInfo field)
Add an injection field.
|
void |
addArgumentInjection(java.lang.String name,
FieldInfo field,
java.lang.String convert)
Add an injection field.
|
void |
addFeatureInjection(java.lang.String name,
FieldInfo field)
Add an injection field.
|
void |
addParentInjection(FieldInfo field)
Add an injection field.
|
void |
addResultInjection(java.lang.String name,
FieldInfo field,
java.lang.String convert,
java.lang.String convback)
Add an injection field.
|
void |
addServiceCall(ServiceCallInfo call)
Add an call field.
|
void |
addServiceInjection(java.lang.String name,
FieldInfo field,
boolean lazy)
Add an injection field.
|
void |
addServiceInjection(java.lang.String name,
MethodInfo method)
Add an injection method.
|
void |
addServiceInjection(java.lang.String name,
MethodInfo method,
boolean query)
Add an injection field.
|
FieldInfo[] |
getAgentInjections()
Get the agent injection fields.
|
MethodInfo |
getAgentMethod(java.lang.Class<? extends java.lang.annotation.Annotation> ann)
Get an agent method.
|
java.lang.String[] |
getArgumentInjectionNames()
Get the argument injection names.
|
Tuple2<FieldInfo,java.lang.String>[] |
getArgumentInjections(java.lang.String name)
Get the argument injection fields.
|
java.lang.ClassLoader |
getClassloader()
Get the classloader.
|
FieldInfo[] |
getFeatureInjections()
Get the feature injection fields.
|
FieldInfo[] |
getParentInjections()
Get the parentinjections fields.
|
ClassInfo |
getPojoClass()
Get the pojo class.
|
Tuple3<FieldInfo,java.lang.String,java.lang.String> |
getResultInjection(java.lang.String name)
Get the result injection field.
|
java.lang.String[] |
getResultInjectionNames()
Get the Result injection names.
|
java.util.List<ServiceCallInfo> |
getServiceCalls()
Get the service call fields.
|
java.lang.String[] |
getServiceInjectionNames()
Get the service injection names.
|
MicroModel.ServiceInjectionInfo[] |
getServiceInjections(java.lang.String name)
Get the service injection fields.
|
void |
setAgentMethod(java.lang.Class<? extends java.lang.annotation.Annotation> ann,
MethodInfo mi)
Set an agent method.
|
void |
setClassloader(java.lang.ClassLoader classloader)
Set the classloader.
|
void |
setPojoClass(ClassInfo pojoclass)
Set the pojo class.
|
void |
setServiceCalls(java.util.List<ServiceCallInfo> servicecalls)
Set the service calls.
|
protected ClassInfo pojoclass
protected java.util.List<FieldInfo> agentinjections
protected java.util.List<FieldInfo> parentinjections
protected MultiCollection<java.lang.String,Tuple2<FieldInfo,java.lang.String>> argumentinjections
protected java.util.Map<java.lang.String,Tuple3<FieldInfo,java.lang.String,java.lang.String>> resultinjections
protected MultiCollection<java.lang.String,MicroModel.ServiceInjectionInfo> serviceinjections
protected java.util.List<FieldInfo> featureinjections
protected java.lang.ClassLoader classloader
protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,MethodInfo> agentmethods
protected java.util.List<ServiceCallInfo> servicecalls
public MicroModel(IModelInfo modelinfo)
public void addAgentInjection(FieldInfo field)
field
- The field.public FieldInfo[] getAgentInjections()
public void addParentInjection(FieldInfo field)
field
- The field.public FieldInfo[] getParentInjections()
public void addArgumentInjection(java.lang.String name, FieldInfo field, java.lang.String convert)
name
- The name.field
- The field.public Tuple2<FieldInfo,java.lang.String>[] getArgumentInjections(java.lang.String name)
public java.lang.String[] getArgumentInjectionNames()
public void addResultInjection(java.lang.String name, FieldInfo field, java.lang.String convert, java.lang.String convback)
name
- The name.field
- The field.public Tuple3<FieldInfo,java.lang.String,java.lang.String> getResultInjection(java.lang.String name)
public java.lang.String[] getResultInjectionNames()
public void addServiceInjection(java.lang.String name, FieldInfo field, boolean lazy)
name
- The name.field
- The field.public void addServiceInjection(java.lang.String name, MethodInfo method)
name
- The name.method
- The method.public void addServiceInjection(java.lang.String name, MethodInfo method, boolean query)
name
- The name.method
- The method.public MicroModel.ServiceInjectionInfo[] getServiceInjections(java.lang.String name)
public java.lang.String[] getServiceInjectionNames()
public void addFeatureInjection(java.lang.String name, FieldInfo field)
name
- The name.field
- The field.public FieldInfo[] getFeatureInjections()
public void addServiceCall(ServiceCallInfo call)
name
- The name.field
- The field.public java.util.List<ServiceCallInfo> getServiceCalls()
public void setServiceCalls(java.util.List<ServiceCallInfo> servicecalls)
public ClassInfo getPojoClass()
public void setPojoClass(ClassInfo pojoclass)
pojoclass
- The pojoclass to setpublic java.lang.ClassLoader getClassloader()
public void setClassloader(java.lang.ClassLoader classloader)
classloader
- The classloader to set.public void setAgentMethod(java.lang.Class<? extends java.lang.annotation.Annotation> ann, MethodInfo mi)
public MethodInfo getAgentMethod(java.lang.Class<? extends java.lang.annotation.Annotation> ann)