Skip to content

Instantly share code, notes, and snippets.

@christiangoudreau
Last active December 16, 2015 22:19
Show Gist options
  • Save christiangoudreau/5506008 to your computer and use it in GitHub Desktop.
Save christiangoudreau/5506008 to your computer and use it in GitHub Desktop.
#macro(initColumns $columnsInitializerDefinitions)
#foreach (${type} in ${columnsInitializerDefinitions.getColumns()})
#set($dtoCanonicalName = ${columnsInitializerDefinitions.getDtoCanonicalName()})
#set($returnCellCanonicalName = ${type.getReturnCellCanonicalName()})
private void init${type.getMethodCapitalizedName()}Column(CellTable<${dtoCanonicalName}> table) {
Column<${dtoCanonicalName}, ${returnCellCanonicalName}> column
= new Column<${dtoCanonicalName}, ${returnCellCanonicalName}>(new ${type.getCellCanonicalName()}()) {
@Override
public ${returnCellCanonicalName} getValue(${dtoCanonicalName} object) {
return object.${type.method.getName()}();
}};
table.addColumn(column, "${type.getColumn().headerName()}");
}
#end
#end
#macro(callInitColumns $columnsInitializerDefinitions)
#foreach (${type} in ${columnsInitializerDefinitions.getColumns()})
init${type.getMethodCapitalizedName()}Column(table);
#end
#end
#macro(initEmptyMethods $columnsInitializerDefinitions)
#foreach (${type} in ${columnsInitializerDefinitions.getColumns()})
public ${type.getMethod().getReturnType().getQualifiedSourceName()} ${type.getMethod().getName()}() {
return null;
}
#end
#end
package ${packageName};
import com.google.gwt.core.shared.GWT;
import com.google.gwt.dom.client.Style;
import com.google.gwt.user.cellview.client.CellTable;
import com.google.gwt.user.cellview.client.Column;
public class ${implName}Impl implements ${implName} {
@Override
public void initializeColumns(CellTable<${columnsInitializerDefinitions.getDtoCanonicalName()}> table) {
#callInitColumns(${columnsInitializerDefinitions})
}
#initColumns(${columnsInitializerDefinitions})
#initEmptyMethods(${columnsInitializerDefinitions})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment