private void attachToParent(Node<E> toDelete, Node<E> toConnect) { attachToParentNoBalance(toDelete, toConnect); if (toDelete.isBlack()) { balanceDelete(toConnect); } }
@Override public E first() { if (!isEmpty()) { Node<E> node = root.getLeftMostNode(); return node.entries[node.leftIndex]; } return null; }
/** * Create an element in current state. * @return the c-list insertion point for undo. */ public int create(final E element) { final int c = search(created, element.getKey()); addCreated(element, c); return c; }
/** Decrement the number of blocks scheduled. */ void decrementBlocksScheduled(StorageType t) { if (prevApproxBlocksScheduled.get(t) > 0) { prevApproxBlocksScheduled.subtract(t, 1); } else if (currApproxBlocksScheduled.get(t) > 0) { currApproxBlocksScheduled.subtract(t, 1); } // its ok if both counters are zero. }
/** * Clear the set. Resize it to the original capacity. */ @Override public void clear() { super.clear(); this.head = null; this.tail = null; this.resetBookmark(); }
/** * Pull a string entry from a stanza. * * @param name entry to look for * * @return the entry */ public String getValue(String name) throws InvalidXmlException { String ret = getValueOrNull(name); if (ret == null) { throw new InvalidXmlException("no entry found for " + name); } return ret; }
@Override protected void toXml(ContentHandler contentHandler) throws SAXException { XMLUtils.addSaxString(contentHandler, "SNAPSHOTROOT", snapshotRoot); XMLUtils.addSaxString(contentHandler, "SNAPSHOTOLDNAME", snapshotOldName); XMLUtils.addSaxString(contentHandler, "SNAPSHOTNEWNAME", snapshotNewName); appendRpcIdsToXml(contentHandler, rpcClientId, rpcCallId); }
@Override public E last() { if (!isEmpty()) { Node<E> node = root.getRightMostNode(); return node.entries[node.rightIndex]; } return null; }
private Node<E> cachedOrNewNode(E entry) { Node<E> node = (cachedNode != null) ? cachedNode : new Node<E>(); cachedNode = null; nodeCount++; // Since BlockIDs are always increasing for new blocks it is best to // add values on the left side to enable quicker inserts on the right node.addEntryLeft(entry); return node; }
@Override public void clear() { modCount++; if (!isEmpty()) { size = 0; nodeCount = 0; cacheAndClear(root); root = null; } }
@Override public int getLength() { return BITS.getLength(); } }
@Override public boolean hasNext() { checkForModification(); return node != null; }
@Override @SuppressWarnings("unchecked") public boolean contains(Object obj) { return get((E) obj) != null; }
@Override protected void toXml(ContentHandler contentHandler) throws SAXException { XMLUtils.addSaxString(contentHandler, "SRC", src); appendXAttrsToXml(contentHandler, xAttrs); appendRpcIdsToXml(contentHandler, rpcClientId, rpcCallId); }
private TreeSetIterator(FoldedTreeSet<E> tree) { this.tree = tree; this.iteratorModCount = tree.modCount; if (!tree.isEmpty()) { this.node = tree.root.getLeftMostNode(); this.index = this.node.leftIndex; } }
@Override protected void toXml(ContentHandler contentHandler) throws SAXException { XMLUtils.addSaxString(contentHandler, "SRC", src); appendXAttrsToXml(contentHandler, xAttrs); appendRpcIdsToXml(contentHandler, rpcClientId, rpcCallId); }