[ https://issues.apache.org/jira/browse/TWILL-54?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Terence Yim updated TWILL-54: ----------------------------- Fix Version/s: (was: 0.9.0) > Add a better way to programmatically build a TwillSpecification > --------------------------------------------------------------- > > Key: TWILL-54 > URL: https://issues.apache.org/jira/browse/TWILL-54 > Project: Apache Twill > Issue Type: Improvement > Components: api > Reporter: Andreas Neumann > Assignee: Alvin Wang > > I am writing a framework that builds a Twill app from a specification. While > the builder pattern is convenient and foolproof for verbose construction of > the app spec, it is cumbersome to use programmatically: > TwillSpecification.Builder.MoreRunnable builder = > > TwillSpecification.Builder.with().setName(className).withRunnable(); > // iterate over my spec and add runnables > TwillSpecification.Builder.RunnableSetter setter = null; > for (...) { > ResourceSpecification resources = ... > String name = ... > TwillRunnable runnable = ... > setter = setter == null ? > builder.add(name, runnable, resources).noLocalFiles() : > builder.add(name, runnable, resources).noLocalFiles(); > } > } > // iterate over my spec and configure the order of runnables > TwillSpecification.Builder.NextOrder nextOrder = null; > for (...) { > String runnableName = ... // my logic > String[] runnableNames = ... // my logic > nextOrder = nextOrder == null ? > setter.withOrder().begin(runnableName, runnableNames) : > nextOrder.nextWhenCompleted(runnableName, runnableNames); > } > return nextOrder == null ? setter.anyOrder().build() : > nextOrder.build(); > If would be easier if I did not have to use the builder pattern... -- This message was sent by Atlassian JIRA (v6.3.4#6332)