• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PsiMetaData类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.psi.meta.PsiMetaData的典型用法代码示例。如果您正苦于以下问题:Java PsiMetaData类的具体用法?Java PsiMetaData怎么用?Java PsiMetaData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



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

示例1: getNamespace

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Nullable
private static String getNamespace(final XmlFile xmlFile, final Project project) {
    //Stupid HTTP module XSD weirdo
    if (xmlFile.getName().contains("mule-httpn.xsd"))
        return "http://www.mulesoft.org/schema/mule/http";
    /////

    final XmlDocument document = xmlFile.getDocument();
    if (document != null) {
        final PsiMetaData metaData = document.getMetaData();
        if (metaData instanceof XmlNSDescriptorImpl) {
            return ((XmlNSDescriptorImpl) metaData).getDefaultNamespace();
        }
    }
    return null;
}
 
开发者ID:machaval,项目名称:mule-intellij-plugins,代码行数:17,代码来源:MuleSchemaProvider.java


示例2: getName

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
private static String getName(final LookupItem item){
  final String presentableText = item.getPresentableText();
  if (presentableText != null) return presentableText;
  final Object o = item.getObject();
  String name = null;
  if (o instanceof PsiElement) {
    final PsiElement element = (PsiElement)o;
    if (element.isValid()) {
      name = PsiUtilCore.getName(element);
    }
  }
  else if (o instanceof PsiMetaData) {
    name = ((PsiMetaData)o).getName();
  }
  else if (o instanceof PresentableLookupValue ) {
    name = ((PresentableLookupValue)o).getPresentation();
  }
  else {
    name = String.valueOf(o);
  }
  if (name == null){
    name = "";
  }

  return name;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:DefaultLookupItemRenderer.java


示例3: getStringToReplace

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
private static String getStringToReplace(PsiElement element, String newName, boolean nonJava, final RenamePsiElementProcessor theProcessor) {
  if (element instanceof PsiMetaOwner) {
    final PsiMetaOwner psiMetaOwner = (PsiMetaOwner)element;
    final PsiMetaData metaData = psiMetaOwner.getMetaData();
    if (metaData != null) {
      return metaData.getName();
    }
  }

  if (theProcessor != null) {
    String result = theProcessor.getQualifiedNameAfterRename(element, newName, nonJava);
    if (result != null) {
      return result;
    }
  }

  if (element instanceof PsiNamedElement) {
    return newName;
  }
  else {
    LOG.error("Unknown element type : " + element);
    return null;
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:RenameUtil.java


示例4: getNodeText

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Override
@NotNull
public String getNodeText(@NotNull PsiElement element, boolean useFullName) {
  if (element instanceof XmlTag) {
    final XmlTag xmlTag = (XmlTag)element;
    final PsiMetaData metaData = xmlTag.getMetaData();
    final String name = metaData != null ? DescriptiveNameUtil.getMetaDataName(metaData) : xmlTag.getName();

    String presentableName = metaData == null ? "<" + name + ">" : name;
    return presentableName+" of file "+xmlTag.getContainingFile().getName();
  }
  if (element instanceof XmlAttributeValue) {
    return ((XmlAttributeValue)element).getValue();
  }
  if (element instanceof PsiNamedElement) {
    return ((PsiNamedElement)element).getName();
  }
  return element.getText();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:XmlFindUsagesProvider.java


示例5: bindToElement

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Override
public PsiElement bindToElement(@NotNull PsiElement element) throws IncorrectOperationException {
  PsiMetaData metaData = null;

  if (element instanceof PsiMetaOwner){
    final PsiMetaOwner owner = (PsiMetaOwner)element;
    metaData = owner.getMetaData();

    if (metaData instanceof XmlElementDescriptor){
      return getTagElement().setName(metaData.getName(getElement())); // TODO: need to evaluate new ns prefix
    }
  } else if (element instanceof PsiFile) {
    final XmlTag tagElement = getTagElement();
    if (tagElement == null || !myStartTagFlag) return tagElement;
    String newElementName = ((PsiFile)element).getName();
    final int index = newElementName.lastIndexOf('.');

    // TODO: need to evaluate new ns prefix
    newElementName = prependNamespacePrefix(newElementName.substring(0, index), tagElement.getNamespacePrefix());

    return getTagElement().setName(newElementName);
  }

  final XmlTag tag = getTagElement();
  throw new IncorrectOperationException("Cant bind to not a xml element definition!"+element+","+metaData + "," + tag + "," + (tag != null ? tag.getDescriptor() : "unknown descriptor"));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:TagNameReference.java


示例6: getStringToReplace

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
private static String getStringToReplace(PsiElement element, String newName, boolean nonJava, final RenamePsiElementProcessor theProcessor) {
  if (element instanceof PsiMetaOwner) {
    final PsiMetaOwner psiMetaOwner = (PsiMetaOwner)element;
    final PsiMetaData metaData = psiMetaOwner.getMetaData();
    if (metaData != null) {
      return metaData.getName();
    }
  }

  if (theProcessor != null) {
    String result = theProcessor.getQualifiedNameAfterRename(element, newName, nonJava);
    if (result != null) {
      return result;
    }
  }

  if (element instanceof PsiNamedElement) {
    return newName;
  }
  else {
    LOG.error("Unknown element type");
    return null;
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:25,代码来源:RenameUtil.java


示例7: getNsDescriptor

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Nullable
static XmlNSDescriptor getNsDescriptor(XmlElement element) {
  final XmlElement parentThatProvidesMetaData = PsiTreeUtil
    .getParentOfType(CompletionUtilCoreImpl.getOriginalElement(element), XmlDocument.class, XmlMarkupDecl.class);

  if (parentThatProvidesMetaData instanceof XmlDocument) {
    final XmlDocument document = (XmlDocument)parentThatProvidesMetaData;
    XmlNSDescriptor rootTagNSDescriptor = document.getRootTagNSDescriptor();
    if (rootTagNSDescriptor == null) rootTagNSDescriptor = (XmlNSDescriptor)document.getMetaData();
    return rootTagNSDescriptor;
  } else if (parentThatProvidesMetaData instanceof XmlMarkupDecl) {
    final XmlMarkupDecl markupDecl = (XmlMarkupDecl)parentThatProvidesMetaData;
    final PsiMetaData psiMetaData = markupDecl.getMetaData();

    if (psiMetaData instanceof XmlNSDescriptor) {
      return (XmlNSDescriptor)psiMetaData;
    }
  }

  return null;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:22,代码来源:DtdResolveUtil.java


示例8: bindToElement

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
public PsiElement bindToElement(@NotNull PsiElement element) throws IncorrectOperationException {
  PsiMetaData metaData = null;

  if (element instanceof PsiMetaOwner){
    final PsiMetaOwner owner = (PsiMetaOwner)element;
    metaData = owner.getMetaData();

    if (metaData instanceof XmlElementDescriptor){
      return getTagElement().setName(metaData.getName(getElement())); // TODO: need to evaluate new ns prefix
    }
  } else if (element instanceof PsiFile) {
    final XmlTag tagElement = getTagElement();
    if (tagElement == null || !myStartTagFlag) return tagElement;
    String newElementName = ((PsiFile)element).getName();
    final int index = newElementName.lastIndexOf('.');

    // TODO: need to evaluate new ns prefix
    newElementName = prependNamespacePrefix(newElementName.substring(0, index), tagElement.getNamespacePrefix());

    return getTagElement().setName(newElementName);
  }

  final XmlTag tag = getTagElement();
  throw new IncorrectOperationException("Cant bind to not a xml element definition!"+element+","+metaData + "," + tag + "," + (tag != null ? tag.getDescriptor() : "unknown descriptor"));
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:26,代码来源:TagNameReference.java


示例9: getNodeText

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@NotNull
public String getNodeText(@NotNull PsiElement element, boolean useFullName) {
  if (element instanceof XmlTag) {
    final XmlTag xmlTag = (XmlTag)element;
    final PsiMetaData metaData = xmlTag.getMetaData();
    final String name = metaData != null ? DescriptiveNameUtil.getMetaDataName(metaData) : xmlTag.getName();
    return UsageViewBundle.message("usage.target.xml.tag.of.file", metaData == null ? "<" + name + ">" : name, xmlTag.getContainingFile().getName());
  }
  else if (element instanceof XmlAttributeValue) {
    return ((XmlAttributeValue)element).getValue();
  }
  if (element instanceof PsiNamedElement) {
    return ((PsiNamedElement)element).getName();
  } else {
    return element.getText();
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:18,代码来源:XmlFindUsagesProvider.java


示例10: getNodeText

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Override
@NotNull
public String getNodeText(@NotNull PsiElement element, boolean useFullName)
{
	if(element instanceof XmlTag)
	{
		final XmlTag xmlTag = (XmlTag) element;
		final PsiMetaData metaData = xmlTag.getMetaData();
		final String name = metaData != null ? DescriptiveNameUtil.getMetaDataName(metaData) : xmlTag.getName();

		String presentableName = metaData == null ? "<" + name + ">" : name;
		return presentableName + " of file " + xmlTag.getContainingFile().getName();
	}
	if(element instanceof XmlAttributeValue)
	{
		return ((XmlAttributeValue) element).getValue();
	}
	if(element instanceof PsiNamedElement)
	{
		return ((PsiNamedElement) element).getName();
	}
	return element.getText();
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:24,代码来源:XmlFindUsagesProvider.java


示例11: getAvailableNamespaces

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Override
@NotNull
public Set<String> getAvailableNamespaces(@NotNull XmlFile file, @Nullable String tagName) {
    final Module module = ModuleUtil.findModuleForPsiElement(file);
    Map<String, XmlFile> schemas = getSchemas(module);
    Set<String> namespaces = new HashSet<>();

    try {
        for (XmlFile xsd : schemas.values()) {
            final XmlDocument document = xsd.getDocument();
            if (document != null) {
                final PsiMetaData metaData = document.getMetaData();
                if (metaData instanceof XmlNSDescriptorImpl) {
                    XmlNSDescriptorImpl descriptor = (XmlNSDescriptorImpl) metaData;
                    String defaultNamespace = descriptor.getDefaultNamespace();

                    //Stupid HTTP module XSD weirdo
                    if (xsd.getName().contains("mule-httpn"))
                        defaultNamespace = "http://www.mulesoft.org/schema/mule/http";
                    /////

                    if (StringUtils.isNotEmpty(defaultNamespace)) {
                        if (StringUtils.isNotEmpty(tagName)) {
                            XmlElementDescriptor elementDescriptor = descriptor.getElementDescriptor(tagName, defaultNamespace);
                            if (elementDescriptor != null) {
                                namespaces.add(defaultNamespace);
                            }
                        } else {
                            namespaces.add(defaultNamespace);
                        }
                    }
                }
            }
        }
    } catch (Exception e) {
        //e.printStackTrace();
    }
    return namespaces;
}
 
开发者ID:machaval,项目名称:mule-intellij-plugins,代码行数:40,代码来源:MuleSchemaProvider.java


示例12: isXSD

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
private static boolean isXSD(final XmlFile xmlFile) {
    final XmlDocument document = xmlFile.getDocument();
    if (document != null) {
        final PsiMetaData metaData = document.getMetaData();
        if (metaData instanceof XmlNSDescriptorImpl) {
            return true;
        }
    }
    return false;
}
 
开发者ID:machaval,项目名称:mule-intellij-plugins,代码行数:11,代码来源:MuleSchemaProvider.java


示例13: checkName

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
public static boolean checkName(@NotNull PsiElement element, @NotNull String name, final PsiElement context) {
  if (element instanceof PsiMetaOwner) {
    final PsiMetaData data = ((PsiMetaOwner) element).getMetaData();
    if (data != null) return name.equals(data.getName(context));
  }
  return element instanceof PsiNamedElement && name.equals(((PsiNamedElement)element).getName());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:PsiUtil.java


示例14: withMetaData

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
public Self withMetaData(final ElementPattern<? extends PsiMetaData> metaDataPattern) {
  return with(new PatternCondition<T>("withMetaData") {
    @Override
    public boolean accepts(@NotNull final T t, final ProcessingContext context) {
      return t instanceof PsiMetaOwner && metaDataPattern.accepts(((PsiMetaOwner)t).getMetaData(), context);
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:PsiElementPattern.java


示例15: getName

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
/**
 * @return name for element using element structure info
 */
@Nullable
public static String getName(PsiElement element) {
  String name = null;
  if (element instanceof PsiMetaOwner) {
    final PsiMetaData data = ((PsiMetaOwner) element).getMetaData();
    if (data != null) {
      name = data.getName(element);
    }
  }
  if (name == null && element instanceof PsiNamedElement) {
    name = ((PsiNamedElement) element).getName();
  }
  return name;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:PsiUtilCore.java


示例16: getElementDescription

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Override
public String getElementDescription(@NotNull final PsiElement psiElement, @NotNull final ElementDescriptionLocation location) {
  if (!(location instanceof UsageViewTypeLocation)) return null;

  if (psiElement instanceof PsiMetaOwner) {
    final PsiMetaData metaData = ((PsiMetaOwner)psiElement).getMetaData();
    if (metaData instanceof PsiPresentableMetaData) {
      return ((PsiPresentableMetaData)metaData).getTypeName();
    }
  }

  if (psiElement instanceof PsiFile) {
    return LangBundle.message("terms.file");
  }
  if (psiElement instanceof PsiDirectory) {
    return LangBundle.message("terms.directory");
  }

  final Language lang = psiElement.getLanguage();
  FindUsagesProvider provider = LanguageFindUsages.INSTANCE.forLanguage(lang);
  final String type = provider.getType(psiElement);
  if (StringUtil.isNotEmpty(type)) {
    return type;
  }

  return TypePresentationService.getService().getTypePresentableName(psiElement.getClass());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:28,代码来源:UsageViewTypeLocation.java


示例17: bindDataToElement

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
public static void bindDataToElement(final PsiElement element, final PsiMetaData data) {
  CachedValue<PsiMetaData> value =
    CachedValuesManager.getManager(element.getProject()).createCachedValue(new CachedValueProvider<PsiMetaData>() {
      @Override
      public Result<PsiMetaData> compute() {
        data.init(element);
        return new Result<PsiMetaData>(data, data.getDependences());
      }
    });
  element.putUserData(META_DATA_KEY, value);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:MetaRegistry.java


示例18: addMetadataBinding

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
/**
 * @see com.intellij.psi.meta.MetaDataContributor
 * @deprecated
 */
public static <T extends PsiMetaData> void addMetadataBinding(ElementFilter filter,
                                                              Class<T> aMetadataClass,
                                                              Disposable parentDisposable) {
  final MyBinding binding = new MyBinding(filter, aMetadataClass);
  addBinding(binding);
  Disposer.register(parentDisposable, new Disposable() {
    @Override
    public void dispose() {
      ourBindings.remove(binding);
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:MetaRegistry.java


示例19: objectToLookupItem

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
public static LookupElement objectToLookupItem(final @NotNull Object object) {
  if (object instanceof LookupElement) return (LookupElement)object;

  String s = null;
  TailType tailType = TailType.NONE;
  if (object instanceof PsiElement){
    s = PsiUtilCore.getName((PsiElement)object);
  }
  else if (object instanceof PsiMetaData) {
    s = ((PsiMetaData)object).getName();
  }
  else if (object instanceof String) {
    s = (String)object;
  }
  else if (object instanceof Template) {
    s = ((Template) object).getKey();
  }
  else if (object instanceof PresentableLookupValue) {
    s = ((PresentableLookupValue)object).getPresentation();
  }
  if (s == null) {
    throw new AssertionError("Null string for object: " + object + " of class " + object.getClass());
  }

  LookupItem item = new LookupItem(object, s);

  if (object instanceof LookupValueWithUIHint && ((LookupValueWithUIHint) object).isBold()) {
    item.setBold();
  }
  item.setAttribute(LookupItem.TAIL_TYPE_ATTR, tailType);
  return item;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:33,代码来源:CompletionData.java


示例20: getElementDescription

import com.intellij.psi.meta.PsiMetaData; //导入依赖的package包/类
@Override
public String getElementDescription(@NotNull final PsiElement element, @NotNull final ElementDescriptionLocation location) {
  if (!(location instanceof UsageViewShortNameLocation)) return null;

  if (element instanceof PsiMetaOwner) {
    PsiMetaData metaData = ((PsiMetaOwner)element).getMetaData();
    if (metaData!=null) return DescriptiveNameUtil.getMetaDataName(metaData);
  }

  if (element instanceof PsiNamedElement) {
    return ((PsiNamedElement)element).getName();
  }
  return "";
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:UsageViewShortNameLocation.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ByGradientValue类代码示例发布时间:2022-05-22
下一篇:
Java XSLoader类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap