/** * Test if method is replaced. * @param m Method to test. * @return True, if is replaced. */ public boolean isReplaced(Method m) { return replacements!=null && replacements.containsKey(new MethodInfo(m)); }
/** * Create a new belief. */ public MBelief(MethodInfo target, String impl, boolean dynamic, UnparsedExpression updaterate, Set<String> beliefevents, Collection<EventType> rawevents) { this((FieldInfo)null, impl, dynamic, updaterate, beliefevents, rawevents); if(target.getName().startsWith("get")) { this.mgetter = target; name = target.getName().substring(3); } else if(target.getName().startsWith("is")) { this.mgetter = target; name = target.getName().substring(2); } else// if(target.getName().startsWith("set")) { this.msetter = target; name = target.getName().substring(3); } name = name.substring(0, 1).toLowerCase()+name.substring(1); }
/** * Process an object. * @param object The object. * @param targetcl If not null, the traverser should make sure that the result object is compatible with the class loader, * e.g. by cloning the object using the class loaded from the target class loader. * @return The processed object. */ public Object process(Object object, Type type, List<ITraverseProcessor> processors, Traverser traverser, Map<Object, Object> traversed, boolean clone, ClassLoader targetcl, Object context) { IEncodingContext ec = (IEncodingContext) context; traversed.put(object, traversed.size()); ec.writeClass(MethodInfo.class); MethodInfo mi = (MethodInfo) object; ec.writeVarInt(2); ec.writeString("name"); traverser.doTraverse(mi.getName(), String.class, traversed, processors, clone, targetcl, context); ec.writeString("ParameterTypes"); Class<?>[] paramclasses = mi.getParameterTypes(targetcl); traverser.doTraverse(paramclasses, null, traversed, processors, clone, targetcl, context); return object; } }
annot.addMemberValue("value", new StringMemberValue(methodmapper.getName(), constpool)); Class<?>[] ptypes = methodmapper.getParameterTypes(classloader); ArrayMemberValue vals = new ArrayMemberValue(new ClassMemberValue(constpool), constpool); MemberValue[] mvals = new MemberValue[methodmapper.getParameterTypeInfos().length]; for(int i=0; i<mvals.length; i++)
methodnfproperties = new HashMap<MethodInfo, Map<String,INFProperty<?,?>>>(); Map<String,INFProperty<?,?>> nfmap = methodnfproperties.get(new MethodInfo(m)); if(nfmap == null) methodnfproperties.put(new MethodInfo(m), nfmap); addNFProperties(key.getMethod(internalaccess.getClassLoader()).getAnnotation(NFProperties.class), nfmap, ser, key);
Method m = msetter.getMethod(cl); m.invoke(object, new Object[]{value});
for(MethodInfo mi: props.keySet()) if(tmp.contains(mi.getName())) doublenames.add(mi.getName()); tmp.add(mi.getName()); String name = doublenames.contains(mi.getName())? mi.getNameWithParameters(): mi.getName(); NFPropertyContainerNode pcn = (NFPropertyContainerNode)model.getNode(NFPropertyContainerNode.getId(getId(), name)); if(pcn==null) pcn = new NFPropertyContainerNode(name, mi.toString(), RequiredServiceNode.this, (AsyncSwingTreeModel)model, tree, ea, null, mi, info);
/** * */ public MethodInfo getContextConditionMethod(ClassLoader cl) { if(clazz!=null) { if(contextconditionmethod==null && !MI_NOTFOUND.equals(contextconditionmethod)) { synchronized(this) { if(contextconditionmethod==null && !MI_NOTFOUND.equals(contextconditionmethod)) { Class<?> body = clazz.getType(cl); contextconditionmethod = getMethod(body, PlanContextCondition.class, cl); if(contextconditionmethod==null) contextconditionmethod = MI_NOTFOUND; } } } } return MI_NOTFOUND.equals(contextconditionmethod)? null: contextconditionmethod; }
/** * Encode the object. */ public Object encode(Object object, Class<?> clazz, List<ITraverseProcessor> processors, Traverser traverser, Map<Object, Object> traversed, boolean clone, IEncodingContext ec) { ec.writeBoolean(false); MethodInfo mi = (MethodInfo) object; ec.writeVarInt(2); ec.writeString("name"); traverser.traverse(mi.getName(), String.class, traversed, processors, clone, ec.getClassLoader(), ec); ec.writeString("parameterTypes"); Class<?>[] paramclasses = mi.getParameterTypes(ec.getClassLoader()); traverser.traverse(paramclasses, null, traversed, processors, clone, ec.getClassLoader(), ec); return object; }
annot.addMemberValue("value", new StringMemberValue(methodmapper.getName(), constpool)); Class<?>[] ptypes = methodmapper.getParameterTypes(classloader); ArrayMemberValue vals = new ArrayMemberValue(new ClassMemberValue(constpool), constpool); MemberValue[] mvals = new MemberValue[methodmapper.getParameterTypeInfos().length]; for(int i=0; i<mvals.length; i++)
Method m = mgetter.getMethod(cl); ret = m.getReturnType();
/** * */ public MethodInfo getFailedMethod(ClassLoader cl) { if(clazz!=null) { if(failedmethod==null && !MI_NOTFOUND.equals(failedmethod)) { synchronized(this) { if(failedmethod==null && !MI_NOTFOUND.equals(failedmethod)) { Class<?> body = clazz.getType(cl); failedmethod = getMethod(body, PlanFailed.class); if(failedmethod==null) failedmethod = MI_NOTFOUND; } } } } return MI_NOTFOUND.equals(failedmethod)? null: failedmethod; }
/** * Test if method is synchronous. * @param m Method to test. * @return True, if is synchronous. */ public boolean isSynchronous(Method m) { return synchronous!=null && synchronous.contains(new MethodInfo(m)); }
/** * Encode the object. */ public Object encode(Object object, Class<?> clazz, List<ITraverseProcessor> processors, Traverser traverser, Map<Object, Object> traversed, boolean clone, EncodingContext ec) { ec.writeBoolean(false); MethodInfo mi = (MethodInfo) object; ec.writeVarInt(2); ec.writeString("name"); traverser.traverse(mi.getName(), String.class, traversed, processors, clone, ec.getClassLoader(), ec); ec.writeString("parameterTypes"); Class<?>[] paramclasses = mi.getParameterTypes(ec.getClassLoader()); traverser.traverse(paramclasses, null, traversed, processors, clone, ec.getClassLoader(), ec); return object; }
/** * Create a new belief. */ public MBelief(MethodInfo target, String impl, boolean dynamic, long updaterate, String[] events, Collection<EventType> rawevents) { this((FieldInfo)null, impl, dynamic, updaterate, events, rawevents); if(target.getName().startsWith("get")) { this.mgetter = target; name = target.getName().substring(3); } else if(target.getName().startsWith("is")) { this.mgetter = target; name = target.getName().substring(2); } else// if(target.getName().startsWith("set")) { this.msetter = target; name = target.getName().substring(3); } name = name.substring(0, 1).toLowerCase()+name.substring(1); }
Method m = msetter.getMethod(cl); m.invoke(object, new Object[]{value});
/** * */ public MethodInfo getPassedMethod(ClassLoader cl) { if(clazz!=null) { if(passedmethod==null && !MI_NOTFOUND.equals(passedmethod)) { synchronized(this) { if(passedmethod==null && !MI_NOTFOUND.equals(passedmethod)) { Class<?> body = clazz.getType(cl); passedmethod = getMethod(body, PlanPassed.class, cl); if(passedmethod==null) passedmethod = MI_NOTFOUND; } } } } return MI_NOTFOUND.equals(passedmethod)? null: passedmethod; }
/** * Test if method is excluded. * @param m Method to test. * @return True, if is excluded. */ public boolean isExcluded(Method m) { return excluded!=null && excluded.contains(new MethodInfo(m)); }