com.google.gwt.uibinder.rebind.XMLElement.consumeSingleChildElement()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(12.2k)|赞(0)|评价(0)|浏览(115)

本文整理了Java中com.google.gwt.uibinder.rebind.XMLElement.consumeSingleChildElement()方法的一些代码示例,展示了XMLElement.consumeSingleChildElement()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLElement.consumeSingleChildElement()方法的具体详情如下:
包路径:com.google.gwt.uibinder.rebind.XMLElement
类名称:XMLElement
方法名:consumeSingleChildElement

XMLElement.consumeSingleChildElement介绍

[英]Consumes a single child element, ignoring any text nodes and throwing an exception if no child is found, or more than one child element is found.
[中]使用单个子元素,忽略任何文本节点,如果未找到子元素或找到多个子元素,则引发异常。

代码示例

代码示例来源:origin: com.google.gwt/gwt-servlet

public void parse(XMLElement elem, String fieldName, JClassType type,
   UiBinderWriter writer) throws UnableToCompleteException {

  if (writer.getOwnerClass().getUiField(fieldName).isProvided()) {
   return;
  }

  if (!writer.useLazyWidgetBuilders()) {
   writer.die("LazyPanel only works with UiBinder.useLazyWidgetBuilders enabled.");
  }

  XMLElement child = elem.consumeSingleChildElement();
  if (!writer.isWidgetElement(child)) {
   writer.die(child, "Expecting only widgets in %s", elem);
  }

  FieldWriter childField = writer.parseElementToField(child);

  String lazyPanelClassPath = LazyPanel.class.getName();
  String widgetClassPath = Widget.class.getName();

  String code = String.format(INITIALIZER_FORMAT, lazyPanelClassPath,
    widgetClassPath, childField.getNextReference());
  writer.setFieldInitializer(fieldName, code);
 }
}

代码示例来源:origin: com.google.gwt/gwt-servlet

private void parseColumns(String fieldName, UiBinderWriter writer,
  RowContent row, XMLElement child)
  throws UnableToCompleteException {
 String tagName;
 for (XMLElement cell : child.consumeChildElements()) {
  tagName = cell.getLocalName();
  if (!tagName.equals(CELL_TAG) && !tagName.equals(CUSTOMCELL_TAG)
    || !cell.getPrefix().equals(child.getPrefix())) {
   writer.die("Grid's row tag in %s may only contain %s or %s element.",
     fieldName, CELL_TAG, CUSTOMCELL_TAG);
  }
  CellContent newColumn = null;
  String styleName = cell.consumeStringAttribute(STYLE_NAME_ATTRIBUTE, null);
  if (tagName.equals(CELL_TAG)) {
   HtmlInterpreter htmlInt = HtmlInterpreter.newInterpreterForUiObject(
     writer, fieldName);
   String html = cell.consumeInnerHtml(htmlInt);
   newColumn = new CellContent(tagName, html, styleName);
  }
  if (tagName.equals(CUSTOMCELL_TAG)) {
   FieldWriter field = writer.parseElementToField(cell.consumeSingleChildElement());
   newColumn = new CellContent(tagName, field.getNextReference(),
     styleName);
  }
  row.addColumn(newColumn);
 }
}

代码示例来源:origin: com.google.gwt/gwt-servlet

XMLElement widget = child.consumeSingleChildElement();
FieldWriter childField = writer.parseElementToField(widget);
writer.addStatement("%1$s.add(%2$s, %3$s);", fieldName,

代码示例来源:origin: com.google.gwt/gwt-servlet

public void parse(XMLElement elem, String fieldName, JClassType type,
  UiBinderWriter writer) throws UnableToCompleteException {
 for (XMLElement child : elem.consumeChildElements()) {
  String ns = child.getNamespaceUri();
  String tagName = child.getLocalName();
  if (ns != null && ns.equals(elem.getNamespaceUri())
    && localTagNameIsCell(tagName)) {
   // It's a cell element, so parse its single child as a widget.
   XMLElement widget = child.consumeSingleChildElement();
   FieldWriter childField = writer.parseElementToField(widget);
   writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference());
   // Parse the cell tag's alignment & size attributes.
   parseCellAttributes(child, fieldName, childField, writer);
  } else {
   if (!writer.isWidgetElement(child)) {
    writer.die(elem, "Expected a widget or <%s:%s>, found %s",
      elem.getPrefix(), CELL_TAG.toLowerCase(Locale.ROOT), child);
   }
   // It's just a normal child, so parse it as a widget.
   FieldWriter childField = writer.parseElementToField(child);
   writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference());
  }
 }
}

代码示例来源:origin: com.google.gwt/gwt-servlet

CUSTOM_CAPTION);
customCaption = child.consumeSingleChildElement();

代码示例来源:origin: com.google.gwt/gwt-servlet

XMLElement headerElement = children.customHeader.consumeSingleChildElement();

代码示例来源:origin: com.google.gwt/gwt-servlet

public void parse(XMLElement elem, String fieldName, JClassType type,
  UiBinderWriter writer) throws UnableToCompleteException {
 // Parse children.
 for (XMLElement child : elem.consumeChildElements()) {
  // Parse position element.
  if (isPositionElement(elem, child)) {
   // Parse position.
   String left = child.consumeRequiredIntAttribute("left");
   String top = child.consumeRequiredIntAttribute("top");
   // Add child widget.
   XMLElement widgetElem = child.consumeSingleChildElement();
   FieldWriter widgetField = writer.parseElementToField(widgetElem);
   writer.addStatement("%1$s.add(%2$s, %3$s, %4$s);", fieldName,
     widgetField.getNextReference(), left, top);
   continue;
  }
  // Parse Widget.
  if (writer.isWidgetElement(child)) {
   FieldWriter widgetFieldName = writer.parseElementToField(child);
   writer.addStatement("%1$s.add(%2$s);", fieldName, widgetFieldName.getNextReference());
   continue;
  }
  // die
  writer.die(child, "Expecting only <%s:%s> or widget children in %s",
    elem.getPrefix(), AT, elem);
 }
}

代码示例来源:origin: com.google.gwt/gwt-servlet

XMLElement widget = child.consumeSingleChildElement();
if (!writer.isWidgetElement(widget)) {
 writer.die(elem, "%s must contain a widget, but found %s", child,

代码示例来源:origin: com.google.gwt/gwt-servlet

writer.declareTemplateCall(html, fieldName));
} else if (children.customHeader != null) {
 XMLElement headerElement = children.customHeader.consumeSingleChildElement();

代码示例来源:origin: com.google.gwt/gwt-servlet

childField.getNextReference(), writer.declareTemplateCall(html, fieldName), size);
} else if (children.customHeader != null) {
 XMLElement headerElement = children.customHeader.consumeSingleChildElement();
 String size = children.customHeader.consumeRequiredDoubleAttribute("size");
 if (!writer.isWidgetElement(headerElement)) {

代码示例来源:origin: com.jhickman/gxt-uibinder

@Override
  public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException {

    XMLElement childElement = elem.consumeSingleChildElement();
    String childField = writer.parseElementToField(childElement);
    
    writer.setFieldInitializerAsConstructor(fieldName, type, childField);
  }
}

代码示例来源:origin: com.jhickman/gxt-uibinder

public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException {
  
  XMLElement childElement = elem.consumeSingleChildElement();
  if ( ! writer.isWidgetElement(childElement) ) {
    writer.die(elem, "Child element must be a widget type. Found: %s", childElement);
  }
  
  String widget = writer.parseElementToField(childElement);
  writer.setFieldInitializerAsConstructor(fieldName, type, widget);
}

代码示例来源:origin: com.jhickman/gxt-uibinder

public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer) throws UnableToCompleteException {
  XMLElement menu = elem.consumeSingleChildElement();
  
  if ( ! isMenuElement(writer, menu)) {
    writer.die(elem, "%s must contain a Menu, but found %s", elem, menu);
  }
  
  
  String menuItemText = elem.consumeStringAttribute("text");
  String menuFieldName = writer.parseElementToField(menu);
  writer.setFieldInitializerAsConstructor(fieldName, type, menuItemText, menuFieldName);
}

代码示例来源:origin: com.google.gwt/gwt-servlet

FieldWriter childField = writer.parseElementToField(layerElem.consumeSingleChildElement());
writer.addStatement("%1$s.add(%2$s);", fieldName, childField.getNextReference());

代码示例来源:origin: net.wetheinter/gwt-user

private void parseColumns(String fieldName, UiBinderWriter writer,
  RowContent row, XMLElement child)
  throws UnableToCompleteException {
 String tagName;
 for (XMLElement cell : child.consumeChildElements()) {
  tagName = cell.getLocalName();
  if (!tagName.equals(CELL_TAG) && !tagName.equals(CUSTOMCELL_TAG)
    || !cell.getPrefix().equals(child.getPrefix())) {
   writer.die("Grid's row tag in %s may only contain %s or %s element.",
     fieldName, CELL_TAG, CUSTOMCELL_TAG);
  }
  CellContent newColumn = null;
  String styleName = cell.consumeStringAttribute(STYLE_NAME_ATTRIBUTE, null);
  if (tagName.equals(CELL_TAG)) {
   HtmlInterpreter htmlInt = HtmlInterpreter.newInterpreterForUiObject(
     writer, fieldName);
   String html = cell.consumeInnerHtml(htmlInt);
   newColumn = new CellContent(tagName, html, styleName);
  }
  if (tagName.equals(CUSTOMCELL_TAG)) {
   FieldWriter field = writer.parseElementToField(cell.consumeSingleChildElement());
   newColumn = new CellContent(tagName, field.getNextReference(),
     styleName);
  }
  row.addColumn(newColumn);
 }
}

代码示例来源:origin: net.wetheinter/gwt-user

/**
 * Parses the root UiBinder element, and kicks off the parsing of the rest of
 * the document.
 */
public FieldWriter parse(XMLElement elem) throws UnableToCompleteException {
 if (!writer.isBinderElement(elem)) {
  writer.die(elem, "Bad prefix on <%s:%s>? The root element must be in "
    + "xml namespace \"%s\" (usually with prefix \"ui:\"), "
    + "but this has prefix \"%s\"", elem.getPrefix(),
    elem.getLocalName(), binderUri, elem.getPrefix());
 }
 if (!TAG.equals(elem.getLocalName())) {
  writer.die(elem, "Root element must be %s:%s", elem.getPrefix(), TAG);
 }
 findResources(elem);
 messagesWriter.findMessagesConfig(elem);
 XMLElement uiRoot = elem.consumeSingleChildElement();
 return writer.parseElementToField(uiRoot);
}

代码示例来源:origin: com.vaadin.external.gwt/gwt-user

/**
 * Parses the root UiBinder element, and kicks off the parsing of the rest of
 * the document.
 */
public FieldWriter parse(XMLElement elem) throws UnableToCompleteException {
 if (!writer.isBinderElement(elem)) {
  writer.die(elem, "Bad prefix on <%s:%s>? The root element must be in "
    + "xml namespace \"%s\" (usually with prefix \"ui:\"), "
    + "but this has prefix \"%s\"", elem.getPrefix(),
    elem.getLocalName(), binderUri, elem.getPrefix());
 }
 if (!TAG.equals(elem.getLocalName())) {
  writer.die(elem, "Root element must be %s:%s", elem.getPrefix(), TAG);
 }
 findResources(elem);
 messagesWriter.findMessagesConfig(elem);
 XMLElement uiRoot = elem.consumeSingleChildElement();
 return writer.parseElementToField(uiRoot);
}

代码示例来源:origin: com.jhickman/gwt-customuibinder

@Override
public String parse(XMLElement elem) throws UnableToCompleteException {
  if (!writer.isBinderElement(elem)) {
    writer.die(elem, "Bad prefix on <%s:%s>? The root element must be in "
        + "xml namespace \"%s\" (usually with prefix \"ui:\"), "
        + "but this has prefix \"%s\"", elem.getPrefix(),
        elem.getLocalName(), binderUri, elem.getPrefix());
  }
  
  if (!TAG.equals(elem.getLocalName())) {
    writer.die(elem, "Root element must be %s:%", elem.getPrefix(), TAG);
  }
  
  reflector.callMethod("findResources", new Class[]{XMLElement.class}, elem);
  
  findCustomResources(elem);
  
  MessagesWriter messagesWriter = reflector.getField("messagesWriter");
  messagesWriter .findMessagesConfig(elem);
  XMLElement uiRoot = elem.consumeSingleChildElement();
  return writer.parseElementToField(uiRoot);
}

代码示例来源:origin: com.jhickman/gxt-uibinder

protected void handleTopBottomComponents(XMLElement elem, String fieldName,
    UiBinderWriter writer) throws UnableToCompleteException {
  Interpreter<Boolean> topBottomComponentInterpreter = new TopBottomComponentInterpreter(elem.getNamespaceUri());
  
  for(XMLElement child : elem.consumeChildElements(topBottomComponentInterpreter)) {
    XMLElement widget = child.consumeSingleChildElement();
    
    if ( ! isComponentElement(writer, widget)) {
      writer.die(elem, "%s must contain a GXT Component, but found %s", child, widget);
    }
    
    
    
    String widgetName = writer.parseElementToField(widget);
    String methodName = SupportedChildLocalNames.valueOf(child.getLocalName()).getMethodName();
    writer.addStatement("%s.%s(%s);", fieldName, methodName, widgetName);
  }
}

代码示例来源:origin: net.wetheinter/gwt-user

public void parse(XMLElement elem, String fieldName, JClassType type,
  UiBinderWriter writer) throws UnableToCompleteException {
 // Parse children.
 for (XMLElement child : elem.consumeChildElements()) {
  // Parse position element.
  if (isPositionElement(elem, child)) {
   // Parse position.
   String left = child.consumeRequiredIntAttribute("left");
   String top = child.consumeRequiredIntAttribute("top");
   // Add child widget.
   XMLElement widgetElem = child.consumeSingleChildElement();
   FieldWriter widgetField = writer.parseElementToField(widgetElem);
   writer.addStatement("%1$s.add(%2$s, %3$s, %4$s);", fieldName,
     widgetField.getNextReference(), left, top);
   continue;
  }
  // Parse Widget.
  if (writer.isWidgetElement(child)) {
   FieldWriter widgetFieldName = writer.parseElementToField(child);
   writer.addStatement("%1$s.add(%2$s);", fieldName, widgetFieldName.getNextReference());
   continue;
  }
  // die
  writer.die(child, "Expecting only <%s:%s> or widget children in %s",
    elem.getPrefix(), AT, elem);
 }
}

相关文章

XMLElement类方法