private List<TypeBodyDeclaration> createMembers() throws IOException { List<TypeBodyDeclaration> results = new ArrayList<>(); results.addAll(driver.getFields(context, model)); results.addAll(createPropertyAccessors()); results.addAll(driver.getMethods(context, model)); return results; }
/** * Emits the projective model. * * @throws IOException if failed to emit a source program */ public void emit() throws IOException { driver.generateResources(context, model); context.emit( f.newInterfaceDeclaration( new JavadocBuilder(f) .text( Messages.getString("ProjectiveModelEmitter.javadocClass"), // $NON-NLS-1$ context.getDescription(model)) .toJavadoc(), createModifiers(), context.getTypeName(), driver.getInterfaces(context, model), createMembers())); }
private MethodDeclaration createOptionGetter(PropertyDeclaration property) throws IOException { assert property != null; return f.newMethodDeclaration( new JavadocBuilder(f) .text( Messages.getString("ProjectiveModelEmitter.javadocOptionGetter"), // $NON-NLS-1$ context.getDescription(property)) .returns() .text(context.getDescription(property)) .toJavadoc(), driver.getMemberAnnotations(context, property), Collections.emptyList(), context.getFieldType(property), context.getOptionGetterName(property), Collections.emptyList(), 0, Collections.emptyList(), null); }
private List<Attribute> createModifiers() throws IOException { List<Attribute> results = new ArrayList<>(); results.addAll(driver.getTypeAnnotations(context, model)); results.addAll(new AttributeBuilder(f).Public().toAttributes()); return results; }