package unquietcode.tools.flapi.plugin; import unquietcode.tools.flapi.Descriptor; import unquietcode.tools.flapi.DescriptorMaker; import unquietcode.tools.flapi.Flapi; /** * @author Benjamin Fagin * @version 04-27-2012 * * A test which builds an 'email builder' descriptor. */ public class TestDescriptor implements DescriptorMaker { public Descriptor descriptor() { Descriptor builder = Flapi.builder() .setPackage("unquietcode.tools.flapi.plugin.test.builder") .setStartingMethodName("compose") .setDescriptorName("Email") .addMethod("subject(String subject)").atMost(1) .addMethod("addRecipient(String emailAddress)").atLeast(1) .addMethod("sender(String emailAddress)").exactly(1) .addMethod("body(String text)").atMost(1) .addMethod("addAttachment(java.io.File file)").any() .addMethod("send()").last(EmailMessage.class) .startBlock("ABlock", "block()") .addAnnotation(TestAnnotation.class) .withParameter("someValue", "a") .withParameter("someValues", new String[]{"a", "b"}) .finish() .any() .addEnumSelector(TestEnum.class, "test()").any() .addMethod("done()").last() .endBlock() .build(); return builder; } }