private ClassTree addFields(GenerationUtils gu, TreeMaker make, TypeElement typeElement, ClassTree classTree) throws IOException { for (int i = 0; i < attributes.length; i++) { VariableTree field = gu.createField(typeElement, gu.createModifiers(Modifier.PRIVATE), (String) attributes[i][0], (String) attributes[i][1], null); classTree = make.insertClassMember(classTree, i, field); //TODO: generate Javadoc } return classTree; }
private ClassTree addProperty(final String name, final Class type, final boolean getter, final boolean setter, ClassTree ctree, Tree tree, WorkingCopy wc) { TreeMaker make = wc.getTreeMaker(); ClassTree newctree = ctree; VariableTree vtree = TreeMakerUtils.createPropertyField(wc, name, type); newctree = make.insertClassMember(newctree, ctree.getMembers().indexOf(tree), vtree); MethodTree mtree = null; if (getter) { mtree = TreeMakerUtils.createPropertyGetterMethod(wc, name, type); newctree = make.insertClassMember(newctree, newctree.getMembers().indexOf(tree), mtree); } if (setter) { mtree = TreeMakerUtils.createPropertySetterMethod(wc, name, type); newctree = make.insertClassMember(newctree, newctree.getMembers().indexOf(tree), mtree); } return newctree; }
/** * Inserts the given fields in the given class after any fields already existing * in the class (if any, otherwise the fields are inserted at the beginning * of the class). * * @param classTree the class to add fields to; cannot be null. * @param fieldTrees the fields to be added; cannot be null. * @return the class containing the new fields; never null. */ public ClassTree addClassFields(ClassTree classTree, List<? extends VariableTree> fieldTrees) { Parameters.notNull("classTree", classTree); // NOI18N Parameters.notNull("fieldTrees", fieldTrees); // NOI18N int firstNonFieldIndex = 0; Iterator<? extends Tree> memberTrees = classTree.getMembers().iterator(); while (memberTrees.hasNext() && memberTrees.next().getKind() == Tree.Kind.VARIABLE) { firstNonFieldIndex++; } TreeMaker make = getTreeMaker(); ClassTree newClassTree = classTree; for (VariableTree fieldTree : fieldTrees) { newClassTree = make.insertClassMember(newClassTree, firstNonFieldIndex, fieldTree); firstNonFieldIndex++; } return newClassTree; }
modifiedClassTree = make.addClassMember(classTree, newMethod); } else { modifiedClassTree = make.insertClassMember(classTree, insertIndex, newMethod);
NewClassTree changeSupportConstructor = make.NewClass(null, Collections.EMPTY_LIST, make.QualIdent(changeSupportElement), Collections.singletonList(make.Identifier("this")), null); VariableTree changeSupport = make.Variable(modifiers, "changeSupport", changeSupportType, changeSupportConstructor); // NOI18N modifiedClass = make.insertClassMember(clazz, 0, changeSupport);
modifiedClass = make.insertClassMember(modifiedClass, 0, var);
ParameterizedTypeTree collectionTree = make.ParameterizedType(make.QualIdent(collectionElement), Collections.singletonList(make.QualIdent(detailElement))); VariableTree field = make.Variable(modifiers, masterFieldName, collectionTree, null); ClassTree modifiedClass = make.insertClassMember(clazz, fieldIndex, field); wc.rewrite(clazz, modifiedClass);
TypeElement masterElement = wc.getElements().getTypeElement(masterInfo[1]); VariableTree field = make.Variable(modifiers, detailFieldName, make.QualIdent(masterElement), null); ClassTree modifiedClass = make.insertClassMember(clazz, fieldIndex, field); wc.rewrite(clazz, modifiedClass);
ClassTree newClazz = clazz; for (int i = members.size() - 1; i >= 0; i--) { newClazz = tm.insertClassMember(newClazz, index, members.get(i));
idx = Math.min(maxIndex, idx); return copy.getTreeMaker().insertClassMember(clazz, idx, member);