Package jadex.bdiv3
Class ASMBDIClassGenerator
- java.lang.Object
- 
- jadex.bdiv3.AbstractAsmBdiClassGenerator
- 
- jadex.bdiv3.ASMBDIClassGenerator
 
 
- 
- All Implemented Interfaces:
- IBDIClassGenerator
 - Direct Known Subclasses:
- ByteKeepingASMBDIClassGenerator
 
 public class ASMBDIClassGenerator extends AbstractAsmBdiClassGenerator 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class jadex.bdiv3.AbstractAsmBdiClassGeneratorAbstractAsmBdiClassGenerator.MethodBeliefs
 
- 
 - 
Field Summary- 
Fields inherited from class jadex.bdiv3.AbstractAsmBdiClassGeneratornodehelper, ophelper
 - 
Fields inherited from interface jadex.bdiv3.IBDIClassGeneratorAGENT_FIELD_NAME, DYNAMIC_BELIEF_UPDATEMETHOD_PREFIX, GLOBALNAME_FIELD_NAME, INIT_EXPRESSIONS_METHOD_PREFIX
 
- 
 - 
Constructor SummaryConstructors Constructor Description ASMBDIClassGenerator()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidenhanceSetter(java.lang.String iclname, org.objectweb.asm.tree.MethodNode mn, java.lang.String belname)Enhance setter method with unobserve oldvalue at the beginning and event call at the endprotected java.util.Set<java.lang.String>findBeliefs(org.objectweb.asm.tree.ClassNode cn, org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> others)Find beliefs accessed in methods.protected java.util.Set<java.lang.String>findParameters(org.objectweb.asm.tree.ClassNode cn, org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> others, MGoal mgoal)Find parameters accessed in methods.java.util.List<java.lang.Class<?>>generateBDIClass(java.lang.String clname, BDIModel model, java.lang.ClassLoader dummycl)Generate class.java.util.List<java.lang.Class<?>>generateBDIClass(java.lang.String clname, BDIModel model, java.lang.ClassLoader dummycl, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> done)Generate class.static voidmain(java.lang.String[] args)protected voidreplaceNativeGetter(java.lang.String iclname, org.objectweb.asm.tree.MethodNode mn, java.lang.String belname)Replace native getter for abstract belief.protected voidreplaceNativeSetter(java.lang.String iclname, org.objectweb.asm.tree.MethodNode mn, java.lang.String belname)Replace native setter for abstract belief.java.lang.Class<?>toClass(java.lang.String name, byte[] data, java.lang.ClassLoader loader, java.security.ProtectionDomain domain)Transform byte Array into Class and define it in classloader.java.lang.Class<?>toClass(java.lang.String name, byte[] data, java.lang.ClassLoader loader, java.security.ProtectionDomain domain, boolean redefine)Transform byte Array into Class and define it in classloader.protected voidtransformArrayStores(org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.lang.String iclname)Transform array store instructions for beliefs.protected voidtransformConstructor(org.objectweb.asm.tree.ClassNode cn, org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.util.List<java.lang.String> tododyn, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> others)- 
Methods inherited from class jadex.bdiv3.AbstractAsmBdiClassGeneratoraddBeliefEventsToConditions, checkEnhanced, findMethodBelief, getGoal, isAgentClass, isAgentOrCapa, isEnhanced, isEnhanced, isGoal, isGoalClass, isPlan, isPlanClass, isPlanMethod, transformClassNode
 
- 
 
- 
- 
- 
Method Detail- 
generateBDIClasspublic java.util.List<java.lang.Class<?>> generateBDIClass(java.lang.String clname, BDIModel model, java.lang.ClassLoader dummycl) throws JadexBDIGenerationExceptionGenerate class.- Specified by:
- generateBDIClassin interface- IBDIClassGenerator
- Specified by:
- generateBDIClassin class- AbstractAsmBdiClassGenerator
- Returns:
- the List of classes generated.
- Throws:
- JadexBDIGenerationException
 
 - 
generateBDIClasspublic java.util.List<java.lang.Class<?>> generateBDIClass(java.lang.String clname, BDIModel model, java.lang.ClassLoader dummycl, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> done) throws JadexBDIGenerationExceptionGenerate class.- Throws:
- JadexBDIGenerationException
 
 - 
replaceNativeGetterprotected void replaceNativeGetter(java.lang.String iclname, org.objectweb.asm.tree.MethodNode mn, java.lang.String belname)Description copied from class:AbstractAsmBdiClassGeneratorReplace native getter for abstract belief.- Specified by:
- replaceNativeGetterin class- AbstractAsmBdiClassGenerator
 
 - 
replaceNativeSetterprotected void replaceNativeSetter(java.lang.String iclname, org.objectweb.asm.tree.MethodNode mn, java.lang.String belname)Description copied from class:AbstractAsmBdiClassGeneratorReplace native setter for abstract belief.- Specified by:
- replaceNativeSetterin class- AbstractAsmBdiClassGenerator
 
 - 
enhanceSetterprotected void enhanceSetter(java.lang.String iclname, org.objectweb.asm.tree.MethodNode mn, java.lang.String belname)Description copied from class:AbstractAsmBdiClassGeneratorEnhance setter method with unobserve oldvalue at the beginning and event call at the end- Specified by:
- enhanceSetterin class- AbstractAsmBdiClassGenerator
 
 - 
transformConstructorprotected void transformConstructor(org.objectweb.asm.tree.ClassNode cn, org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.util.List<java.lang.String> tododyn, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> others)- Specified by:
- transformConstructorin class- AbstractAsmBdiClassGenerator
- Parameters:
- cn- the class which contains the constructor
- mn- The Constructor method node
- tododyn- list of dynamic beliefs
 
 - 
transformArrayStoresprotected void transformArrayStores(org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.lang.String iclname)Transform array store instructions for beliefs.- Specified by:
- transformArrayStoresin class- AbstractAsmBdiClassGenerator
 
 - 
toClasspublic java.lang.Class<?> toClass(java.lang.String name, byte[] data, java.lang.ClassLoader loader, java.security.ProtectionDomain domain)Transform byte Array into Class and define it in classloader.- Returns:
- the loaded class or null, if the class is not valid, such as Map.entry "inner Classes".
 
 - 
toClasspublic java.lang.Class<?> toClass(java.lang.String name, byte[] data, java.lang.ClassLoader loader, java.security.ProtectionDomain domain, boolean redefine)Transform byte Array into Class and define it in classloader.- Returns:
- the loaded class or null, if the class is not valid, such as Map.entry "inner Classes".
 
 - 
findBeliefsprotected java.util.Set<java.lang.String> findBeliefs(org.objectweb.asm.tree.ClassNode cn, org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> others)Find beliefs accessed in methods.- Specified by:
- findBeliefsin class- AbstractAsmBdiClassGenerator
 
 - 
findParametersprotected java.util.Set<java.lang.String> findParameters(org.objectweb.asm.tree.ClassNode cn, org.objectweb.asm.tree.MethodNode mn, BDIModel model, java.util.Map<java.lang.String,org.objectweb.asm.tree.ClassNode> others, MGoal mgoal)Find parameters accessed in methods.- Specified by:
- findParametersin class- AbstractAsmBdiClassGenerator
 
 - 
mainpublic static void main(java.lang.String[] args) throws java.lang.Exception- Throws:
- java.lang.Exception
 
 
- 
 
-