\label{doc_usecases_core_UC_keyname_hierarchy_md_md_doc_usecases_core_UC_keyname_hierarchy}%
\Hypertarget{doc_usecases_core_UC_keyname_hierarchy_md_md_doc_usecases_core_UC_keyname_hierarchy}%
 \hypertarget{doc_usecases_core_UC_keyname_hierarchy_md_autotoc_md4764}{}\doxysection{Summary}\label{doc_usecases_core_UC_keyname_hierarchy_md_autotoc_md4764}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily libelektra-\/core}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Core, Caller
\item {\bfseries{Brief\+:}} Hierarchy comparison between {\ttfamily Key}\textquotesingle{}s
\end{DoxyItemize}\hypertarget{doc_usecases_core_UC_keyname_hierarchy_md_autotoc_md4765}{}\doxysection{Scenarios}\label{doc_usecases_core_UC_keyname_hierarchy_md_autotoc_md4765}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}}
\begin{DoxyItemize}
\item \mbox{\hyperlink{doc_usecases_core_UC_key_create_md}{\`{}\+Key\`{} K1 has been created}}
\item \mbox{\hyperlink{doc_usecases_core_UC_key_create_md}{\`{}\+Key\`{} K2 has been created}}
\end{DoxyItemize}
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item Caller \mbox{\hyperlink{doc_usecases_core_UC_key_name_md}{reads names}} N1 and N2 of {\ttfamily Key} K1 and {\ttfamily Key} K2
\item Caller requests hierarchy comparison between N1 and N2
\item Core returns one of these results
\begin{DoxyItemize}
\item N1 and N2 do not form a hierarchy
\item N1 is the same as N2
\item N2 is a direct child of N1 in the hierarchy
\item N2 is a descendant of N1 in the hierarchy
\end{DoxyItemize}
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}} -\/
\item {\bfseries{Error scenario\+:}} -\/
\item {\bfseries{Postcondition\+:}} -\/
\item {\bfseries{Non-\/functional Constraints\+:}}
\begin{DoxyItemize}
\item The hierarchy comparison MUST form a {\itshape partial order} over {\ttfamily Key}s.
\item Each of the possible results MAY be a single value, but it MAY also be a whole class of value (e.\+g. negative integer). 
\end{DoxyItemize}
\end{DoxyItemize}