# Package org.opensaml.messaging.context.navigate

@NonnullElements package org.opensaml.messaging.context.navigate
A set of functions used to navigate and lookup data from a tree of `BaseContext`s.

Related Packages
Package
Description
org.opensaml.messaging.context
Interfaces and classes for tracking message processing state.
org.opensaml.messaging.context.httpclient
Interfaces and classes for tracking HTTP message processing state.
Class
Description
ChildContextLookup<ParentContext extends BaseContext,ChildContext extends BaseContext>
A `ContextDataLookupFunction` that gets the child context of a given parent context.
ContextDataLookupFunction<F extends BaseContext,T>
A `Function` that is used to navigate a `BaseContext` tree and extract data from it.
MessageContextLookup<StartContext extends BaseContext>
A lookup function for resolving either the inbound or outbound `MessageContext` relative to a particular `BaseContext`.
MessageContextLookup.Direction
Used to indicate the target message context.
MessageLookup<T>
A `ContextDataLookupFunction` that returns the message from a `MessageContext`.
ParentContextLookup<StartContext extends BaseContext,ParentContext extends BaseContext>
A `ContextDataLookupFunction` that gets the parent of a given context.
RecursiveTypedChildContextLookup<ChildContext extends BaseContext>
A `ContextDataLookupFunction` that peforms a depth-first search of context's children and returns the first nested child context that is an instance of the specified type.
RecursiveTypedParentContextLookup<StartContext extends BaseContext,ParentContext extends BaseContext>
A `ContextDataLookupFunction` that recurses up the parent chain of the input via `BaseContext.getParent()`, and returns the first parent context that is an instance of the specified type.
RootContextLookup<StartContext extends BaseContext,RootContext extends BaseContext>
A `ContextDataLookupFunction` that gets the root of context tree.