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


Java BidirectionalMap.getKeysByValue方法代码示例

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


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

示例1: getPrefixByNamespace

import com.intellij.util.containers.BidirectionalMap; //导入方法依赖的package包/类
@Override
public String getPrefixByNamespace(String namespace)
{
	BidirectionalMap<String, String> map = getNamespaceMap();
	if(map != null)
	{
		List<String> keysByValue = map.getKeysByValue(namespace);
		final String ns = keysByValue == null || keysByValue.isEmpty() ? null : keysByValue.get(0);
		if(ns != null)
		{
			return ns;
		}
	}
	XmlTag parentTag = getParentTag();
	if(parentTag != null)
	{
		return parentTag.getPrefixByNamespace(namespace);
	}
	//The prefix 'xml' is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace. It MAY, but need not, be declared
	if(XmlUtil.XML_NAMESPACE_URI.equals(namespace))
	{
		return XML_NS_PREFIX;
	}
	return null;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:26,代码来源:XmlTagImpl.java

示例2: getAttributeValue

import com.intellij.util.containers.BidirectionalMap; //导入方法依赖的package包/类
@Override
public String getAttributeValue(String _name, String namespace) {
  if (namespace == null) {
    return getAttributeValue(_name);
  }

  XmlTagImpl current = this;
  PsiElement parent = getParent();

  while (current != null) {
    BidirectionalMap<String, String> map = current.initNamespaceMaps(parent);
    if (map != null) {
      List<String> keysByValue = map.getKeysByValue(namespace);
      if (keysByValue != null && !keysByValue.isEmpty()) {

        for (String prefix : keysByValue) {
          if (prefix != null && !prefix.isEmpty()) {
            final String value = getAttributeValue(prefix + ":" + _name);
            if (value != null) return value;
          }
        }
      }
    }

    current = parent instanceof XmlTag ? (XmlTagImpl)parent : null;
    parent = parent.getParent();
  }

  if (namespace.isEmpty() || getNamespace().equals(namespace)) {
    return getAttributeValue(_name);
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:34,代码来源:XmlTagImpl.java

示例3: getPrefixByNamespace

import com.intellij.util.containers.BidirectionalMap; //导入方法依赖的package包/类
@Override
public String getPrefixByNamespace(String namespace) {
  final PsiElement parent = getParent();
  BidirectionalMap<String, String> map = initNamespaceMaps(parent);
  if (map != null) {
    List<String> keysByValue = map.getKeysByValue(namespace);
    final String ns = keysByValue == null || keysByValue.isEmpty() ? null : keysByValue.get(0);
    if (ns != null) return ns;
  }
  if (parent instanceof XmlTag) return ((XmlTag)parent).getPrefixByNamespace(namespace);
  //The prefix 'xml' is by definition bound to the namespace name http://www.w3.org/XML/1998/namespace. It MAY, but need not, be declared
  if (XmlUtil.XML_NAMESPACE_URI.equals(namespace)) return XML_NS_PREFIX;
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:XmlTagImpl.java

示例4: getPrefixForURI

import com.intellij.util.containers.BidirectionalMap; //导入方法依赖的package包/类
@Nullable
public String getPrefixForURI(String uri, XmlElement context) {
  final BidirectionalMap<String, String> bidiMap = new BidirectionalMap<String, String>();
  bidiMap.putAll(Namespace.makeMap(myNamespaceTableModel.getNamespaces()));
  final List<String> list = bidiMap.getKeysByValue(uri);
  return list != null && list.size() > 0 ? list.get(0) : null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:EditContextDialog.java

示例5: getAttributeValue

import com.intellij.util.containers.BidirectionalMap; //导入方法依赖的package包/类
@Override
public String getAttributeValue(String _name, String namespace) {
  if (namespace == null) {
    return getAttributeValue(_name);
  }

  XmlTagImpl current = this;
  PsiElement parent = getParent();

  while (current != null) {
    BidirectionalMap<String, String> map = current.initNamespaceMaps(parent);
    if (map != null) {
      List<String> keysByValue = map.getKeysByValue(namespace);
      if (keysByValue != null && !keysByValue.isEmpty()) {

        for (String prefix : keysByValue) {
          if (prefix != null && prefix.length() > 0) {
            final String value = getAttributeValue(prefix + ":" + _name);
            if (value != null) return value;
          }
        }
      }
    }

    current = parent instanceof XmlTag ? (XmlTagImpl)parent : null;
    parent = parent.getParent();
  }

  if (namespace.length() == 0 || getNamespace().equals(namespace)) {
    return getAttributeValue(_name);
  }
  return null;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:34,代码来源:XmlTagImpl.java

示例6: getAttributeValue

import com.intellij.util.containers.BidirectionalMap; //导入方法依赖的package包/类
@Override
public String getAttributeValue(String _name, String namespace)
{
	if(namespace == null)
	{
		return getAttributeValue(_name);
	}

	XmlTagImpl current = this;
	while(true)
	{
		BidirectionalMap<String, String> map = current.getNamespaceMap();
		if(map != null)
		{
			List<String> keysByValue = map.getKeysByValue(namespace);
			if(keysByValue != null && !keysByValue.isEmpty())
			{

				for(String prefix : keysByValue)
				{
					if(prefix != null && !prefix.isEmpty())
					{
						final String value = getAttributeValue(prefix + ":" + _name);
						if(value != null)
						{
							return value;
						}
					}
				}
			}
		}

		PsiElement parent = current.getParent();
		if(!(parent instanceof XmlTag))
		{
			break;
		}
		current = (XmlTagImpl) parent;
	}

	if(namespace.isEmpty() || getNamespace().equals(namespace))
	{
		return getAttributeValue(_name);
	}
	return null;
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:47,代码来源:XmlTagImpl.java


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