本文整理汇总了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;未经允许,请勿转载。 |
请发表评论