List of usage examples for com.google.gwt.uibinder.rebind.model OwnerClass getOwnerType
public JClassType getOwnerType()
From source file:com.jhickman.web.gwt.gxtuibinder.rebind.GxtHandlerEvaluator.java
License:Apache License
public void run(IndentedWriter writer, FieldManager fieldManager, String uiOwner, OwnerClass ownerClass, MortalLogger logger, TypeOracle oracle) throws UnableToCompleteException { for (JMethod method : getUiHandlers(ownerClass.getOwnerType())) { String boundMethod = method.getName(); if (method.isPrivate()) { logger.die("Method '%s' cannot be private.", boundMethod); }/*from w w w.j a v a 2 s .c om*/ // Retrieves both event and handler types. JParameter[] parameters = method.getParameters(); if (parameters.length != 1) { logger.die("Method '%s' must have a single event parameter defined.", boundMethod); } JClassType eventType = parameters[0].getType().isClass(); GxtUiHandler annotation = method.getAnnotation(GxtUiHandler.class); String eventTypeName = annotation.eventType().toString(); if (eventTypeName == null) { logger.die("Parameter '%s' cannot be null.", "eventType"); } String handlerVarName = HANDLER_BASE_NAME + (++varCounter); writeHandler(writer, uiOwner, handlerVarName, eventType, boundMethod, oracle); JClassType events = oracle.findType(GxtClassnameConstants.EVENTS); for (String objectName : annotation.uiField()) { writer.write("%s.addListener(%s.%s, %s);", objectName, events.getQualifiedSourceName(), eventTypeName, handlerVarName); } } }