List of usage examples for com.google.gwt.uibinder.rebind XMLElement consumeRequiredAttribute
public String consumeRequiredAttribute(String name, JType... types) throws UnableToCompleteException
From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.ComponentParser.java
License:Apache License
/** * FIXME - only works for String value's * //from w w w.j a v a 2s . com * @param elem * @param fieldName * @param writer */ private void consumeDataChildren(XMLElement elem, String fieldName, UiBinderWriter writer) throws UnableToCompleteException { Interpreter<Boolean> interpreter = new SimpleInterpreter(elem.getNamespaceUri(), "data"); JClassType stringType = writer.getOracle().findType("java.lang.String"); for (XMLElement child : elem.consumeChildElements(interpreter)) { String key = child.consumeRequiredAttribute("key", stringType); String value = child.consumeRequiredAttribute("value", stringType); writer.addStatement("%s.setData(%s, %s);", fieldName, key, value); } }
From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.custom.PortalParser.java
License:Apache License
@Override public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { JClassType integerType = writer.getOracle().findType("java.lang.Integer"); JClassType doubleType = writer.getOracle().findType("java.lang.Double"); String columnCountAttribute = elem.consumeRequiredAttribute("numColumns", integerType); Integer columnCount = Integer.valueOf(columnCountAttribute); Interpreter<Boolean> interpreter = new SimpleInterpreter(elem.getNamespaceUri(), "column"); int columnIndex = 0; for (XMLElement column : elem.consumeChildElements(interpreter)) { String width = column.consumeAttribute("width", doubleType); if (width != null) { writer.addStatement("%s.setColumnWidth(%d, %s);", fieldName, columnIndex, width); }//from w ww . jav a2 s . co m for (XMLElement columnChild : column.consumeChildElements()) { String childField = writer.parseElementToField(columnChild); writer.addStatement("%s.add(%s, %d);", fieldName, childField, columnIndex); } columnIndex++; } if (columnIndex > columnCount) { writer.die(elem, "numColumns set to %s, but found %s", columnCountAttribute, columnIndex); } writer.setFieldInitializerAsConstructor(fieldName, type, "" + columnIndex); }
From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.form.SimpleComboBoxParser.java
License:Apache License
private String parseChildElement(XMLElement elem, JClassType valueType, UiBinderWriter writer) throws UnableToCompleteException { if ("value".equals(elem.getLocalName())) { return String.format("\"%s\"", elem.consumeInnerTextEscapedAsHtmlStringLiteral(new TextInterpreter(writer))); } else if ("item".equals(elem.getLocalName())) { return elem.consumeRequiredAttribute("value", valueType); }/*from w ww. j a v a 2 s . c o m*/ writer.die(elem, "Unknown child element of SimpleComboBox"); return null; // will never get here }
From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.treepanel.TreePanelParser.java
License:Apache License
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException { JClassType treePanelType = writer.getOracle().findType(GxtClassnameConstants.TREEPANEL); JClassType treeStoreType = writer.getOracle().findType(GxtClassnameConstants.TREESTORE); String store = elem.consumeRequiredAttribute("store", treeStoreType); writer.setFieldInitializerAsConstructor(fieldName, treePanelType, store); }