Top Description Inners Constructors Methods
org.eclipse.lsp4j.util

public final Class DocumentSymbols

extends Object
Class Inheritance
Imports
java.util.ArrayDeque, .Iterator, .Queue, org.eclipse.lsp4j.DocumentSymbol, org.eclipse.lsp4j.jsonrpc.util.Preconditions

Utilities for document symbols.

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected abstract static class
protected static class

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static Iterator<DocumentSymbol>
asIterator(DocumentSymbol documentSymbol)

Returns an unmodifiable iterator over the document symbols using the breath-first traversal.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

DocumentSymbolsback to summary
private DocumentSymbols()

Method Detail

asIteratorback to summary
public static Iterator<DocumentSymbol> asIterator(DocumentSymbol documentSymbol)

Returns an unmodifiable iterator over the document symbols using the breath-first traversal. That is, all the symbols of depth 0 are returned, then depth 1, then 2, and so on.

It does not guarantee a well defined behavior of the resulting iterator if you modify the structure while the iteration is in progress.

org.eclipse.lsp4j.util back to summary

protected abstract Class DocumentSymbols.BreadthFirstIterator<T>

extends Object
implements Iterator<T>
Class Inheritance
All Implemented Interfaces
java.util.Iterator
Known Direct Subclasses
org.eclipse.lsp4j.util.DocumentSymbols.DocumentSymbolIterator

Field Summary

Modifier and TypeField and Description
private final Queue<T>

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected abstract Iterable<T>
getChildren(T node)

Returns with the children (direct descendants) of the node argument.

public boolean
hasNext()

Implements java.util.Iterator.hasNext.

Returns true if the iteration has more elements.

public T
next()

Implements java.util.Iterator.next.

Returns the next element in the iteration.

public void
remove()

Overrides default java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation).

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

queueback to summary
private final Queue<T> queue

Constructor Detail

BreadthFirstIteratorback to summary
protected BreadthFirstIterator(T root)

Method Detail

getChildrenback to summary
protected abstract Iterable<T> getChildren(T node)

Returns with the children (direct descendants) of the node argument. If the argument does not have any children, clients are allowed to return null.

hasNextback to summary
public boolean hasNext()

Implements java.util.Iterator.hasNext.

Doc from java.util.Iterator.hasNext.

Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Annotations
@Override
nextback to summary
public T next()

Implements java.util.Iterator.next.

Doc from java.util.Iterator.next.

Returns the next element in the iteration.

Annotations
@Override
removeback to summary
public void remove()

Overrides default java.util.Iterator.remove.

Doc from java.util.Iterator.remove.

Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to next.

The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method, unless an overriding class has specified a concurrent modification policy.

The behavior of an iterator is unspecified if this method is called after a call to the forEachRemaining method.

Annotations
@Override
org.eclipse.lsp4j.util back to summary

protected Class DocumentSymbols.DocumentSymbolIterator

extends DocumentSymbols.BreadthFirstIterator<DocumentSymbol>
Class Inheritance

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected Iterable<DocumentSymbol>
getChildren(DocumentSymbol node)

Implements abstract org.eclipse.lsp4j.util.DocumentSymbols.BreadthFirstIterator.getChildren.

Returns with the children (direct descendants) of the node argument.

Inherited from org.eclipse.lsp4j.util.DocumentSymbols.BreadthFirstIterator:
hasNextnextremove

Constructor Detail

DocumentSymbolIteratorback to summary
protected DocumentSymbolIterator(DocumentSymbol documentSymbol)

Method Detail

getChildrenback to summary
protected Iterable<DocumentSymbol> getChildren(DocumentSymbol node)

Implements abstract org.eclipse.lsp4j.util.DocumentSymbols.BreadthFirstIterator.getChildren.

Doc from org.eclipse.lsp4j.util.DocumentSymbols.BreadthFirstIterator.getChildren.

Returns with the children (direct descendants) of the node argument. If the argument does not have any children, clients are allowed to return null.

Annotations
@Override