| | |
| | | { |
| | | /** Node DN. */ |
| | | DN dn; |
| | | /** |
| | | * Storage object or null if this node exist |
| | | * only to support the DIT like structuring. |
| | | */ |
| | | /** Storage object or null if this node exist only to support the DIT like structuring. */ |
| | | T element; |
| | | /** Parent. */ |
| | | Node<T> parent; |
| | |
| | | /** Previous sibling. */ |
| | | Node<T> previous; |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public String toString() |
| | | { |
| | | if (element != null) |
| | | { |
| | | return "node(" + element + ")"; |
| | | } |
| | | else |
| | | { |
| | | return "glue"; |
| | | } |
| | | return element != null ? "node(" + element + ")" : "glue"; |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | } |
| | | |
| | | /** |
| | | * Constructs a new DITCacheMap from a given Map. |
| | | * @param m existing Map to construct new |
| | | * DITCacheMap from. |
| | | */ |
| | | public DITCacheMap(Map<? extends DN, ? extends T> m) |
| | | { |
| | | this.putAll(m); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public int size() |
| | | { |
| | | return size; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isEmpty() |
| | | { |
| | | return ditCacheMap.isEmpty(); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean containsKey(Object key) |
| | | { |
| | | return get(key) != null; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean containsValue(Object value) |
| | | { |
| | |
| | | return false; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public T get(Object key) |
| | | { |
| | |
| | | return new DITSubtreeSet(key); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public T put(DN key, T value) |
| | | { |
| | |
| | | return null; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public T remove(Object key) |
| | | { |
| | |
| | | return returnValue; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Remove references to a node after it has been removed. |
| | | * @param node The node which has just been removed. |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Returns {@code true} if there are stored objects subordinate to subtree DN. |
| | | * @param key subtree DN. |
| | |
| | | return ditCacheMap.containsKey(key); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Removes a set of stored objects subordinate to subtree DN. |
| | | * @param key subtree DN. |
| | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Iterate through detached subtree counting and collecting any elements. |
| | | * |
| | |
| | | ditCacheMap.remove(node.dn); |
| | | } |
| | | |
| | | |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void putAll(Map<? extends DN, ? extends T> m) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void clear() |
| | | { |
| | |
| | | size = 0; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public Set<Entry<DN, T>> entrySet() |
| | | { |
| | |
| | | hasNext = false; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean hasNext() |
| | | { |
| | |
| | | return false; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public Entry<DN, T> next() |
| | | { |
| | |
| | | throw new NoSuchElementException(); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void remove() |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public int size() |
| | | { |
| | | return DITCacheMap.this.size(); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public Iterator<Entry<DN, T>> iterator() |
| | | { |
| | |
| | | this.value = value; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public DN getKey() |
| | | { |
| | | return key; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public T getValue() |
| | | { |
| | | return value; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public T setValue(T value) |
| | | { |
| | |
| | | @Override |
| | | public boolean isEmpty() |
| | | { |
| | | return !(new SubtreeSetIterator(this.key).hasNext()); |
| | | return !new SubtreeSetIterator(this.key).hasNext(); |
| | | } |
| | | |
| | | @Override |