当前位置: 首页>>代码示例>>Java>>正文


Java XmlElementType.XML_EMPTY_ELEMENT_END属性代码示例

本文整理汇总了Java中com.intellij.psi.xml.XmlElementType.XML_EMPTY_ELEMENT_END属性的典型用法代码示例。如果您正苦于以下问题:Java XmlElementType.XML_EMPTY_ELEMENT_END属性的具体用法?Java XmlElementType.XML_EMPTY_ELEMENT_END怎么用?Java XmlElementType.XML_EMPTY_ELEMENT_END使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.intellij.psi.xml.XmlElementType的用法示例。


在下文中一共展示了XmlElementType.XML_EMPTY_ELEMENT_END属性的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: buildChildren

protected List<Block> buildChildren() {
  ASTNode child = myNode.getFirstChildNode();
  final Wrap attrWrap = Wrap.createWrap(getWrapType(myXmlFormattingPolicy.getAttributesWrap()), false);
  final Wrap textWrap = Wrap.createWrap(getWrapType(myXmlFormattingPolicy.getTextWrap(getTag())), true);
  final Wrap tagBeginWrap = createTagBeginWrapping(getTag());
  final Alignment attrAlignment = Alignment.createAlignment();
  final Alignment textAlignment = Alignment.createAlignment();
  final ArrayList<Block> result = new ArrayList<Block>(3);
  ArrayList<Block> localResult = new ArrayList<Block>(1);

  boolean insideTag = true;

  while (child != null) {
    if (!containsWhiteSpacesOnly(child) && child.getTextLength() > 0){

      Wrap wrap = chooseWrap(child, tagBeginWrap, attrWrap, textWrap);
      Alignment alignment = chooseAlignment(child, attrAlignment, textAlignment);

      if (child.getElementType() == XmlElementType.XML_TAG_END) {
        child = processChild(localResult,child, wrap, alignment, null);
        result.add(createTagDescriptionNode(localResult));
        localResult = new ArrayList<Block>(1);
        insideTag = true;
      }
      else if (child.getElementType() == XmlElementType.XML_START_TAG_START) {
        insideTag = false;
        if (!localResult.isEmpty()) {
          result.add(createTagContentNode(localResult));
        }
        localResult = new ArrayList<Block>(1);
        child = processChild(localResult,child, wrap, alignment, null);
      }
      else if (child.getElementType() == XmlElementType.XML_END_TAG_START) {
        insideTag = false;
        if (!localResult.isEmpty()) {
          result.add(createTagContentNode(localResult));
          localResult = new ArrayList<Block>(1);
        }
        child = processChild(localResult,child, wrap, alignment, null);
      } else if (child.getElementType() == XmlElementType.XML_EMPTY_ELEMENT_END) {
        child = processChild(localResult,child, wrap, alignment, null);
        result.add(createTagDescriptionNode(localResult));
        localResult = new ArrayList<Block>(1);
      }
      else if (isJspxJavaContainingNode(child)) {
        createJspTextNode(localResult, child, getChildIndent());
      }
      /*
      else if (child.getElementType() == ElementType.XML_TEXT) {
        child  = createXmlTextBlocks(localResult, child, wrap, alignment);
      }
      */
      else {
        final Indent indent;

        if (isJspResult(localResult)) {
          //indent = FormatterEx.getInstance().getNoneIndent();
          indent = getChildrenIndent();
        } else if (!insideTag) {
          indent = null;
        }
        else {
          indent = getChildrenIndent();
        }

        child = processChild(localResult,child, wrap, alignment, indent);
      }
    }
    if (child != null) {
      child = child.getTreeNext();
    }
  }

  if (!localResult.isEmpty()) {
    result.add(createTagContentNode(localResult));
  }

  return result;

}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:80,代码来源:XmlTagBlock.java

示例2: isXmlTagName

protected static boolean isXmlTagName(final IElementType type1, final IElementType type2) {
  if (type1 == XmlElementType.XML_NAME && type2 == XmlElementType.XML_TAG_END) return true;
  if (type1 == XmlElementType.XML_NAME && type2 == XmlElementType.XML_EMPTY_ELEMENT_END) return true;
  if (type1 == XmlElementType.XML_ATTRIBUTE && type2 == XmlElementType.XML_EMPTY_ELEMENT_END) return true;
  return type1 == XmlElementType.XML_ATTRIBUTE && type2 == XmlElementType.XML_TAG_END;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:6,代码来源:AbstractSyntheticBlock.java

示例3: shouldAddSpaceAroundTagName

private boolean shouldAddSpaceAroundTagName(final ASTNode node1, final ASTNode node2) {
  if (node1.getElementType() == XmlElementType.XML_START_TAG_START && node1.textContains('%')) return true;
  if (node2.getElementType() == XmlElementType.XML_EMPTY_ELEMENT_END && node2.textContains('%')) return true;
  return myXmlFormattingPolicy.getShouldAddSpaceAroundTagName();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:5,代码来源:SyntheticBlock.java


注:本文中的com.intellij.psi.xml.XmlElementType.XML_EMPTY_ELEMENT_END属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。