\label{doc_usecases_core_UC_keyset_lookup_cascading_md_md_doc_usecases_core_UC_keyset_lookup_cascading}%
\Hypertarget{doc_usecases_core_UC_keyset_lookup_cascading_md_md_doc_usecases_core_UC_keyset_lookup_cascading}%
 \hypertarget{doc_usecases_core_UC_keyset_lookup_cascading_md_autotoc_md4507}{}\doxysection{Summary}\label{doc_usecases_core_UC_keyset_lookup_cascading_md_autotoc_md4507}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily libelektra-\/core}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Core, Caller
\item {\bfseries{Brief\+:}} Caller looks up {\ttfamily Key} with cascading name in existing {\ttfamily Key\+Set}
\end{DoxyItemize}\hypertarget{doc_usecases_core_UC_keyset_lookup_cascading_md_autotoc_md4508}{}\doxysection{Scenarios}\label{doc_usecases_core_UC_keyset_lookup_cascading_md_autotoc_md4508}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{doc_usecases_core_UC_keyset_create_md}{\`{}\+Key\+Set\`{} has been created}}
\item (Only Alternative) Specification for desired {\ttfamily Key} exists and contains links
\end{DoxyItemize}
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item Caller asks Core to look up {\ttfamily Key} by cascading name in {\ttfamily Key\+Set}
\item Core checks for specification matching desired {\ttfamily Key}
\item Core does not find specification
\item Core tries equivalent name in all appropriate namespaces in correct order
\item If a matching {\ttfamily Key} is found, Core returns a {\ttfamily Key $\ast$} to it. The name of the {\ttfamily Key} will be read-\/only, otherwise it is modifiable.
\item Otherwise, Core returns {\ttfamily NULL}
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}}
\begin{DoxyItemize}
\item Caller asks Core to look up {\ttfamily Key} by cascading name in {\ttfamily Key\+Set}
\item Core checks for specification matching desired {\ttfamily Key}
\item Core finds specification
\item Core tries links from specification and equivalent names in appropriate namespaces in correct order
\item If a matching {\ttfamily Key} is found, Core returns a {\ttfamily Key $\ast$} to it. The name of the {\ttfamily Key} will be read-\/only, otherwise it is modifiable.
\item Otherwise, Core returns {\ttfamily NULL}
\end{DoxyItemize}
\item {\bfseries{Error scenario\+:}} -\/
\item {\bfseries{Postcondition\+:}}
\begin{DoxyItemize}
\item The returned index value MUST be valid and correct until new {\ttfamily Key}(s) are inserted into or removed from the {\ttfamily Key\+Set}.
\end{DoxyItemize}
\item {\bfseries{Non-\/functional Constraints\+:}} -\/ 
\end{DoxyItemize}