@Test public void testGenerateHashCode() throws ClassNotFoundException { plugin.generateHashCodeMethod(aModel, aClass); final JMethod generatedMethod = aClass.getMethod("hashCode", new JType[] {}); assertThat(generatedMethod, not(nullValue())); assertThat(generatedMethod.type().fullName(), equalTo("int")); }
@Test public void testGenerateToString() { plugin.generateToStringMethod(aModel, aClass); final JMethod generatedMethod = aClass.getMethod("toString", new JType[0]); assertThat(generatedMethod, not(nullValue())); assertThat(generatedMethod.type().fullName(), equalTo(String.class.getName())); }
@Test public void testGenerateEquals() throws ClassNotFoundException { plugin.generateEqualsMethod(aModel, aClass); final JMethod generatedMethod = aClass.getMethod("equals", new JType[] {aModel.parseType("java.lang.Object")}); assertThat(generatedMethod, not(nullValue())); assertThat(generatedMethod.type().fullName(), equalTo("boolean")); }
/** * Returns the <code>setProperty(...)</code> method for the given field outline or <code>null * </code> if no such method exists. * * @param fieldOutline field outline. * @return The <code>setProperty(...)</code> method for the given field outline or <code>null * </code> if no such method exists. */ public static JMethod setter(FieldOutline fieldOutline) { final JMethod getter = getter(fieldOutline); final JType type = getter != null ? getter.type() : fieldOutline.getRawType(); final JDefinedClass theClass = fieldOutline.parent().implClass; final String publicName = fieldOutline.getPropertyInfo().getName(true); final String name = "set" + publicName; return theClass.getMethod(name, new JType[] {type}); }
private void addVarArgsWither( Filter filter, JMethod wither, JDefinedClass bldrCls, JClass paramType) throws JClassAlreadyExistsException { JMethod method = bldrCls.method(wither.mods().getValue(), wither.type(), wither.name()); if (filter.getTitle() != null) { method.javadoc().add(String.format("<p>%s</p>", filter.getTitle())); } JVar param = method.varParam(paramType, wither.listParams()[0].name()); method .body() ._return(JExpr.invoke(wither).arg(immutableList.staticInvoke("copyOf").arg(param))); }
public void run(Set<ClassOutline> sorted, JDefinedClass transformer) { for (ClassOutline classOutline : sorted) { // skip over abstract classes if (!classOutline.target.isAbstract()) { // add the accept method to the bean JDefinedClass beanImpl = classOutline.implClass; JMethod acceptMethod = beanImpl.method(JMod.PUBLIC, Object.class, "accept"); JTypeVar genericType = acceptMethod.generify("T"); acceptMethod.type(genericType); JVar vizParam = acceptMethod.param(transformer.narrow(genericType), "aTransformer"); JBlock block = acceptMethod.body(); block._return(vizParam.invoke("transform").arg(JExpr._this())); } } }