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

Java WeakHashMap类代码示例

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

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



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

示例1: onFacetAdded

import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
private void onFacetAdded(final Facet facet) {
  boolean firstFacet = myFacetsByType.isEmpty();
  final FacetTypeId typeId = facet.getTypeId();
  WeakHashMap<Facet, Boolean> facets = myFacetsByType.get(typeId);
  if (facets == null) {
    facets = new WeakHashMap<Facet, Boolean>();
    myFacetsByType.put(typeId, facets);
  }
  boolean firstFacetOfType = facets.isEmpty();
  facets.put(facet, true);

  if (firstFacet) {
    getAllFacetsMulticaster().firstFacetAdded();
  }
  getAllFacetsMulticaster().facetAdded(facet);

  final EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(typeId);
  if (dispatcher != null) {
    if (firstFacetOfType) {
      dispatcher.getMulticaster().firstFacetAdded();
    }
    //noinspection unchecked
    dispatcher.getMulticaster().facetAdded(facet);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:ProjectWideFacetListenersRegistryImpl.java


示例2: getPsiElementsAt

import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
@NotNull
private static Collection<PsiElement> getPsiElementsAt(Point point, Editor editor) {
  if (editor.isDisposed()) {
    return Collections.emptySet();
  }

  Project project = editor.getProject();
  if (project == null || project.isDisposed()) {
    return Collections.emptySet();
  }

  final PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project);
  final Document document = editor.getDocument();
  PsiFile psiFile = documentManager.getPsiFile(document);
  if (psiFile == null || psiFile instanceof PsiCompiledElement || !psiFile.isValid()) {
    return Collections.emptySet();
  }

  final Set<PsiElement> elements = Collections.newSetFromMap(new WeakHashMap<PsiElement, Boolean>());
  final int offset = editor.logicalPositionToOffset(editor.xyToLogicalPosition(point));
  if (documentManager.isCommitted(document)) {
    ContainerUtil.addIfNotNull(elements, InjectedLanguageUtil.findElementAtNoCommit(psiFile, offset));
  }
  for (PsiFile file : psiFile.getViewProvider().getAllFiles()) {
    ContainerUtil.addIfNotNull(elements, file.findElementAt(offset));
  }

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


示例3: onFacetRemoved

import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
private void onFacetRemoved(final Facet facet, final boolean before) {
  final FacetTypeId typeId = facet.getTypeId();
  WeakHashMap<Facet, Boolean> facets = myFacetsByType.get(typeId);
  boolean lastFacet;
  if (facets != null) {
    facets.remove(facet);
    lastFacet = facets.isEmpty();
    if (lastFacet) {
      myFacetsByType.remove(typeId);
    }
  }
  else {
    lastFacet = true;
  }
  final EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(typeId);
  if (dispatcher != null) {
    if (before) {
      //noinspection unchecked
      dispatcher.getMulticaster().beforeFacetRemoved(facet);
    }
    else {
      //noinspection unchecked
      dispatcher.getMulticaster().facetRemoved(facet);
      if (lastFacet) {
        dispatcher.getMulticaster().allFacetsRemoved();
      }
    }
  }

  if (before) {
    getAllFacetsMulticaster().beforeFacetRemoved(facet);
  }
  else {
    getAllFacetsMulticaster().facetRemoved(facet);
    if (myFacetsByType.isEmpty()) {
      getAllFacetsMulticaster().allFacetsRemoved();
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:40,代码来源:ProjectWideFacetListenersRegistryImpl.java


示例4: getInstance

import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
public static PythonSdkPathCache getInstance(@NotNull Project project, @NotNull Sdk sdk) {
  synchronized (KEY) {
    Map<Project, PythonSdkPathCache> cacheMap = sdk.getUserData(KEY);
    if (cacheMap == null) {
      cacheMap = new WeakHashMap<Project, PythonSdkPathCache>();
      sdk.putUserData(KEY, cacheMap);
    }
    PythonSdkPathCache cache = cacheMap.get(project);
    if (cache == null) {
      cache = new PythonSdkPathCache(project, sdk);
      cacheMap.put(project, cache);
    }
    return cache;
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:PythonSdkPathCache.java


示例5: getPsiElementsAt

import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
@Nonnull
private static Collection<PsiElement> getPsiElementsAt(Point point, Editor editor) {
  if (editor.isDisposed()) {
    return Collections.emptySet();
  }

  Project project = editor.getProject();
  if (project == null || project.isDisposed()) {
    return Collections.emptySet();
  }

  final PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project);
  final Document document = editor.getDocument();
  PsiFile psiFile = documentManager.getPsiFile(document);
  if (psiFile == null || psiFile instanceof PsiCompiledElement || !psiFile.isValid()) {
    return Collections.emptySet();
  }

  final Set<PsiElement> elements = Collections.newSetFromMap(new WeakHashMap<PsiElement, Boolean>());
  final int offset = editor.logicalPositionToOffset(editor.xyToLogicalPosition(point));
  if (documentManager.isCommitted(document)) {
    ContainerUtil.addIfNotNull(elements, InjectedLanguageUtil.findElementAtNoCommit(psiFile, offset));
  }
  for (PsiFile file : psiFile.getViewProvider().getAllFiles()) {
    ContainerUtil.addIfNotNull(elements, file.findElementAt(offset));
  }

  return elements;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:30,代码来源:ImageOrColorPreviewManager.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Java VehicleWheel类代码示例发布时间:2022-05-22
下一篇:
Java FeedEntity类代码示例发布时间: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