TraversalHelp

class TraversalHelp(searchPackages: DocSearchPackages)

Searches classpath for @Traversal|@TraversalSource and @Doc annotations (via reflection). Used for .help step. There are two use cases for this, which require slightly different implementations

  1. myDomain.help - for the node starter steps
  2. myDomain.someNodeType.help - for steps that are available a specific node type

For use case 2, we also take into account all parent traits of a node type, recursively. I.e. if SomeNodeType has a base type SomeBaseType, and there are steps defined for Traversal[SomeBaseType], we will include those in the results.

Value parameters:
searchPackages:

The base packages that we scan for - we're not scanning the entire classpath

Companion:
object
class Object
trait Matchable
class Any

Value members

Concrete methods

def forElementSpecificSteps(elementClass: Class[_], verbose: Boolean): String

Concrete fields

lazy val forTraversalSources: String
lazy val genericNodeStepDocs: Iterable[StepDoc]
lazy val genericStepDocs: Iterable[StepDoc]
lazy val stepDocsByElementType: Map[Class[_], List[StepDoc]]

Scans the entire classpath for classes annotated with @TraversalExt (using java reflection), to then extract the @Doc annotations for all steps, and group them by the elementType (e.g. node.Method).

Scans the entire classpath for classes annotated with @TraversalExt (using java reflection), to then extract the @Doc annotations for all steps, and group them by the elementType (e.g. node.Method).