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


Java WeakHashMap类代码示例

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