/** * Create a wrapper service implementation based on a published goal. */ public static Object createServiceImplementation(BDIAgent agent, Class<?> type, String[] methodnames, String[] goalnames) { // if(methodnames==null || methodnames.length==0) // throw new IllegalArgumentException("At least one method-goal mapping must be given."); Map<String, String> gn = new HashMap<String, String>(); for(int i=0; i<methodnames.length; i++) { gn.put(methodnames[i], goalnames[i]); } return Proxy.newProxyInstance(agent.getClassLoader(), new Class[]{type}, new GoalDelegationHandler(agent, gn)); }
/** * Create a wrapper service implementation based on a published goal. */ public static Object createServiceImplementation(IInternalAccess agent, Class<?> type, String[] methodnames, String[] goalnames) { // if(methodnames==null || methodnames.length==0) // throw new IllegalArgumentException("At least one method-goal mapping must be given."); Map<String, String> gn = new HashMap<String, String>(); for(int i=0; i<methodnames.length; i++) { gn.put(methodnames[i], goalnames[i]); } return Proxy.newProxyInstance(agent.getClassLoader(), new Class[]{type}, new GoalDelegationHandler(agent, gn, type)); } }