private void addItemUnconditionally(@NonNull String fqn, @NonNull Item item) { String pkg = getPackage(fqn); Map<String, List<Item>> classMap = itemMap.get(pkg); if (classMap == null) { classMap = Maps.newHashMapWithExpectedSize(100); itemMap.put(pkg, classMap); } List<Item> items = classMap.get(fqn); if (items == null) { items = Lists.newArrayList(); classMap.put(fqn, items); } items.add(item); }
private void removeItem(@NonNull String classFqn, @NonNull Item item) { String pkg = getPackage(classFqn); Map<String, List<Item>> classMap = itemMap.get(pkg); if (classMap != null) { List<Item> items = classMap.get(classFqn); if (items != null) { items.remove(item); if (items.isEmpty()) { classMap.remove(classFqn); if (classMap.isEmpty()) { itemMap.remove(pkg); } } } } }
private void removeItem(@NonNull String classFqn, @NonNull Item item) { String pkg = getPackage(classFqn); Map<String, List<Item>> classMap = itemMap.get(pkg); if (classMap != null) { List<Item> items = classMap.get(classFqn); if (items != null) { items.remove(item); if (items.isEmpty()) { classMap.remove(classFqn); if (classMap.isEmpty()) { itemMap.remove(pkg); } } } } }
@Nullable private Item findItem(@NonNull String fqn, @NonNull Item item) { String pkg = getPackage(fqn); Map<String, List<Item>> classMap = itemMap.get(pkg); if (classMap == null) { return null; } List<Item> items = classMap.get(fqn); if (items == null) { return null; } for (Item existing : items) { if (existing.equals(item)) { return existing; } } return null; }
@Nullable private Item findItem(@NonNull String fqn, @NonNull Item item) { String pkg = getPackage(fqn); Map<String, List<Item>> classMap = itemMap.get(pkg); if (classMap == null) { return null; } List<Item> items = classMap.get(fqn); if (items == null) { return null; } for (Item existing : items) { if (existing.equals(item)) { return existing; } } return null; }
private void addItem(@NonNull String fqn, @NonNull Item item) { // Not part of the API? if (apiFilter != null && item.isFiltered(apiFilter)) { if (isListIgnored()) { info("Skipping API because it is not part of the API file: " + item); } filteredCount++; return; } String pkg = getPackage(fqn); Map<String, List<Item>> classMap = itemMap.get(pkg); if (classMap == null) { classMap = Maps.newHashMapWithExpectedSize(100); itemMap.put(pkg, classMap); } List<Item> items = classMap.get(fqn); if (items == null) { items = Lists.newArrayList(); classMap.put(fqn, items); } items.add(item); }