本文整理汇总了Java中com.intellij.psi.meta.PsiMetaData类的典型用法代码示例。如果您正苦于以下问题:Java PsiMetaData类的具体用法?Java PsiMetaData怎么用?Java PsiMetaData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PsiMetaData类属于com.intellij.psi.meta包,在下文中一共展示了PsiMetaData类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
示例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;
}
}
示例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();
}
示例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"));
}
示例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;
}
}
示例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;
}
示例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"));
}
示例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();
}
}
示例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();
}
示例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;
}
示例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;
}
示例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());
}
示例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);
}
});
}
示例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;
}