Type dataType = importer.toType(model.getType());
SimpleName cacheName = names.create("cache");
FieldDeclaration cache = factory.newFieldDeclaration(
null,
new AttributeBuilder(factory)
.Private()
.toAttributes(),
dataType,
cacheName,
model.createNewInstance(dataType));
SimpleName argumentName = names.create("arg");
List<Statement> statements = Lists.create();
Iterator<FragmentNode> iter = downstream.iterator();
while (iter.hasNext()) {
FragmentNode node = iter.next();
if (iter.hasNext()) {
statements.add(model.assign(cacheName, argumentName));
statements.add(new ExpressionBuilder(factory, node.getName())
.method(FlowElementProcessor.RESULT_METHOD_NAME, cacheName)
.toStatement());
} else {
statements.add(new ExpressionBuilder(factory, node.getName())
.method(FlowElementProcessor.RESULT_METHOD_NAME, argumentName)
.toStatement());
}
}
MethodDeclaration result = factory.newMethodDeclaration(
null,
new AttributeBuilder(factory)
.annotation(importer.toType(Override.class))
.Public()
.toAttributes(),
factory.newBasicType(BasicTypeKind.VOID),
factory.newSimpleName(FlowElementProcessor.RESULT_METHOD_NAME),