public void saveExpandedState() { try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator) { SeparatorList.Separator<?> separator = (SeparatorList.Separator) object; final int limit = separator.getLimit(); if (limit == 0) { //Collapsed for (Object item : separator.getGroup()) { expandedSate.put(item, limit != 0); } } else { for (int x = i + 1; x < separatorList.size(); x++) { Object xObject = separatorList.get(x); if (xObject instanceof SeparatorList.Separator) { break; } expandedSate.put(xObject, limit != 0); } } } } } finally { separatorList.getReadWriteLock().readLock().unlock(); } }
private SeparatorList.Separator<?> getSeparator(final Stockpile stockpile) { try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator) { SeparatorList.Separator<?> separator = (SeparatorList.Separator) object; Object first = separator.first(); if (first instanceof StockpileItem) { StockpileItem firstItem = (StockpileItem) first; if (firstItem.getStockpile().equals(stockpile)) { return separator; } } } } } finally { separatorList.getReadWriteLock().readLock().unlock(); } return null; }
private void expandHeader() { Material material = (Material) currentSeparator.first(); boolean expand = isHeaderCollapsed(); try { separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator<?>) { SeparatorList.Separator<?> separator = (SeparatorList.Separator<?>) object; Material currentMaterial = (Material) separator.first(); if (currentMaterial.getHeader().equals(material.getHeader())) { try { separatorList.getReadWriteLock().readLock().unlock(); separatorList.getReadWriteLock().writeLock().lock(); separator.setLimit(expand ? Integer.MAX_VALUE : 0); } finally { separatorList.getReadWriteLock().writeLock().unlock(); separatorList.getReadWriteLock().readLock().lock(); } } } } } finally { separatorList.getReadWriteLock().readLock().unlock(); } }
separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator) { SeparatorList.Separator<?> separator = (SeparatorList.Separator) object; Object xObject = separatorList.get(x); if (xObject instanceof SeparatorList.Separator) { break;
separatorList.getReadWriteLock().readLock().lock(); for (int i = 0; i < separatorList.size(); i++) { Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator) { SeparatorList.Separator<?> separator = (SeparatorList.Separator<?>) object;
Object object = separatorList.get(i); if (object instanceof SeparatorList.Separator<?>) { SeparatorList.Separator<?> separator = (SeparatorList.Separator<?>) object;