package org.tldgen.mock; import org.tldgen.annotations.BodyContent; import org.tldgen.annotations.License; import org.tldgen.model.Attribute; import org.tldgen.model.Function; import org.tldgen.model.FunctionParameter; import org.tldgen.model.Library; import org.tldgen.model.LibrarySignature; import org.tldgen.model.Listener; import org.tldgen.model.Tag; import org.tldgen.model.Variable; /** * Creates mock Library data for testing * * @author ccoloma * */ public class MockLibraryFactory { /** * Create a mock {@link Library} for tests */ public Library createLibrary(String name) { LibrarySignature signature = new LibrarySignature(); signature.setDisplayName("Loom Core Tag Library"); signature.setLicense(License.APACHE); signature.setShortName(name); //builder.setTabSpaces("0"); signature.setUri("http://loom.extrema-sistemas.org/loom-core.tld"); Library library = new Library(signature); Tag tag = new Tag(); tag.setName("dummy"); tag.setExample("dummy example"); tag.setDisplayName("dummy display name"); tag.setClazz("org.tldgen.sample.DummyTag"); tag.setBodyContent(BodyContent.EMPTY); tag.setDescription("tag description with <testing description escape"); Attribute attribute = new Attribute(); attribute.setName("foo"); attribute.setDeprecated(true); attribute.setRequired(true); attribute.setRtexprvalue(false); attribute.setType("java.lang.Boolean"); tag.addAttribute(attribute); Variable var = new Variable(); var.setNameGiven("foo"); tag.addVariable(var); library.add(tag); tag = new Tag(); tag.setName("tag2"); tag.setExample("tag2 example"); tag.setDisplayName("tag2 display name"); tag.setClazz("org.tldgen.sample.extension.Tag2"); tag.setBodyContent(BodyContent.SCRIPTLESS); tag.setDescription("description of another tag"); tag.setDeprecated(true); tag.setDeprecatedMessage("example of use"); attribute = new Attribute(); attribute.setName("foo"); attribute.setRequired(false); attribute.setRtexprvalue(false); tag.addAttribute(attribute); library.add(tag); Function function = new Function(); function.setName("function0"); function.setExample("function0 example"); function.setClazz("org.tldgen.functions.DummyFunction"); library.add(function); function = new Function(); function.setName("function1"); function.setExample("function1 example"); function.setSignature("java.lang.String function0(int param1)"); FunctionParameter param = new FunctionParameter("int", "param1", "Mock description"); function.setParameters(new FunctionParameter[] { param }); function.setClazz("org.tldgen.targetfunctions.FunctionSampleUtil"); function.setReturnDescription("Returns true if the argument is 42, false otherwise. Go figure."); library.add(function); Listener listener = new Listener(); listener.setListenerClass("org.tldgen.listeners.DummyListener"); listener.setDescription("A Listener created for testing"); library.addListener(listener); return library; } }