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


Java XmlElementType.XML_ENTITY_REF属性代码示例

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


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

示例1: getNameFromEntityRef

@Nullable
protected static String getNameFromEntityRef(final CompositeElement compositeElement, final IElementType xmlEntityDeclStart) {
  final ASTNode node = compositeElement.findChildByType(xmlEntityDeclStart);
  if (node == null) return null;
  ASTNode name = node.getTreeNext();

  if (name != null && name.getElementType() == TokenType.WHITE_SPACE) {
    name = name.getTreeNext();
  }

  if (name != null && name.getElementType() == XmlElementType.XML_ENTITY_REF) {
    final StringBuilder builder = new StringBuilder();

    ((XmlElement)name.getPsi()).processElements(new PsiElementProcessor() {
      @Override
      public boolean execute(@NotNull final PsiElement element) {
        builder.append(element.getText());
        return true;
      }
    }, name.getPsi());
    if (builder.length() > 0) return builder.toString();
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:XmlElementImpl.java

示例2: getNameFromEntityRef

@Nullable
protected static String getNameFromEntityRef(final CompositeElement compositeElement, final IElementType xmlEntityDeclStart) {
  final ASTNode node = compositeElement.findChildByType(xmlEntityDeclStart);
  if (node == null) return null;
  ASTNode name = node.getTreeNext();

  if (name != null && name.getElementType() == TokenType.WHITE_SPACE) {
    name = name.getTreeNext();
  }

  if (name != null && name.getElementType() == XmlElementType.XML_ENTITY_REF) {
    final StringBuilder builder = new StringBuilder();

    ((XmlElement)name.getPsi()).processElements(new PsiElementProcessor() {
      public boolean execute(@NotNull final PsiElement element) {
        builder.append(element.getText());
        return true;
      }
    }, name.getPsi());
    if (builder.length() > 0) return builder.toString();
  }
  return null;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:23,代码来源:XmlElementImpl.java

示例3: isEntityRef

private boolean isEntityRef(final ASTNode node) {
  return node.getElementType() == XmlElementType.XML_ENTITY_REF;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:3,代码来源:SyntheticBlock.java

示例4: isIncluded

@Override
public boolean isIncluded(PsiFile targetFile)
{
	ASTNode child = findChildByType(XmlTokenType.XML_CONDITIONAL_SECTION_START);

	if(child != null)
	{
		child = child.getTreeNext();

		if(child != null && child.getElementType() == TokenType.WHITE_SPACE)
		{
			child = child.getTreeNext();
		}

		if(child != null)
		{
			IElementType elementType = child.getElementType();
			if(elementType == XmlTokenType.XML_CONDITIONAL_INCLUDE)
			{
				return true;
			}
			if(elementType == XmlTokenType.XML_CONDITIONAL_IGNORE)
			{
				return false;
			}

			if(elementType == XmlElementType.XML_ENTITY_REF)
			{
				XmlEntityRef xmlEntityRef = (XmlEntityRef) child.getPsi();

				final String text = xmlEntityRef.getText();
				String name = text.substring(1, text.length() - 1);

				PsiElement psiElement = targetFile != null ? XmlEntityCache.getCachedEntity(targetFile, name) : null;

				if(psiElement instanceof XmlEntityDecl)
				{
					final XmlEntityDecl decl = (XmlEntityDecl) psiElement;

					if(decl.isInternalReference())
					{
						for(ASTNode e = decl.getNode().getFirstChildNode(); e != null; e = e.getTreeNext())
						{
							if(e.getElementType() == XmlElementType.XML_ATTRIBUTE_VALUE)
							{
								final boolean b = StringUtil.stripQuotesAroundValue(e.getText()).equals("INCLUDE");
								return b;
							}
						}
					}
				}
			}
		}
	}
	return false;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:56,代码来源:XmlConditionalSectionImpl.java


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