\label{doc_usecases_core_UC_key_create_md_md_doc_usecases_core_UC_key_create}%
\Hypertarget{doc_usecases_core_UC_key_create_md_md_doc_usecases_core_UC_key_create}%
 \hypertarget{doc_usecases_core_UC_key_create_md_autotoc_md4487}{}\doxysection{Summary}\label{doc_usecases_core_UC_key_create_md_autotoc_md4487}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily libelektra-\/core}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Core, Caller
\item {\bfseries{Brief\+:}} Caller creates new {\ttfamily Key} instance
\end{DoxyItemize}\hypertarget{doc_usecases_core_UC_key_create_md_autotoc_md4488}{}\doxysection{Scenarios}\label{doc_usecases_core_UC_key_create_md_autotoc_md4488}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}}
\begin{DoxyItemize}
\item The name used to create a {\ttfamily Key} must be valid
\end{DoxyItemize}
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item Caller requests to create a new {\ttfamily Key} with a given name
\item Core instantiates a {\ttfamily Key} with the given name, no value and no metadata and returns it
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}}
\begin{DoxyItemize}
\item Caller requests to create a new {\ttfamily Key}, with a given name and a value and/or metadata
\item Core instantiates a {\ttfamily Key}, with the given name, value, and metadata and returns it
\end{DoxyItemize}
\item {\bfseries{Error scenario\+:}} -\/
\item {\bfseries{Postcondition\+:}}
\begin{DoxyItemize}
\item {\ttfamily Key} exists and is usable by Caller
\item {\ttfamily Key} has name defined by Caller
\item {\ttfamily Key} has value defined by Caller, if given, and no value otherwise
\item {\ttfamily Key} has metadata defined by Caller, if given and no metadata otherwise
\end{DoxyItemize}
\item {\bfseries{Non-\/functional Constraints\+:}} -\/ 
\end{DoxyItemize}