\hypertarget{classorg_1_1libelektra_1_1KDB}{}\doxysection{org.\+libelektra.\+KDB Class Reference}
\label{classorg_1_1libelektra_1_1KDB}\index{org.libelektra.KDB@{org.libelektra.KDB}}


Represents a session with the Elektra key database.  




Inherits Auto\+Closeable.

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_ad3dcc3e348d1c841c7eda0bb00c54167}{close}} ()  throws KDBException 
\begin{DoxyCompactList}\small\item\em Closes the \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session and frees native resources associated with it. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a154ff14bf882539824205f1145b07dcd}{close}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} warnings\+Key)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Closes the \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session and frees native resources associated with it. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}{get}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} parent\+Key)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Fetches at least all keys that are sub-\/keys or children of sub-\/keys of the supplied parent key. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a251f5770cfca818d66e76ddb2bacda52}{get}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} key\+Set, \mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} parent\+Key)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Fetches at least all keys that are sub-\/keys or children of sub-\/keys of the supplied parent key. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a392433ad094e6342eaffba3d0e23c927}{set}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} key\+Set, \mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} parent\+Key)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Will update changed keys of the given. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_aa39a2e68dd16f19eac0d882ef9965f62}{open}} ()  throws KDBException 
\begin{DoxyCompactList}\small\item\em Opens a new \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}{open}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} contract)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Opens \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session using the specified. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a428614b70194f7950cef2cd2b6808c00}{open}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} warnings\+Key)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Opens a new \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a9a86b916fa54d87c63ac1739dd62d083}{open}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} contract, \mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} warnings\+Key)  throws KDBException 
\begin{DoxyCompactList}\small\item\em Opens \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session using the specified. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a59e0b873e6da61251e749c92321cd288}{gopts\+Contract}} (String\mbox{[}$\,$\mbox{]} args, String\mbox{[}$\,$\mbox{]} env, \mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} parent\+Key, \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} gopts\+Config)
\begin{DoxyCompactList}\small\item\em Creates a contract \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} for use with \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}{KDB\#open(\+Key\+Set)}} that mounts and configures the. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a115ad45076785a06b653736e52b79f81}{gopts\+Contract}} (\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} contract, String\mbox{[}$\,$\mbox{]} args, String\mbox{[}$\,$\mbox{]} env, \mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} parent\+Key, \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} gopts\+Config)
\begin{DoxyCompactList}\small\item\em Writes a contract into a specified \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} for use with \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}{KDB\#open(\+Key\+Set)}} that mounts and configures the. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
Pointer \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_acf520512f87da2f11be9dab9a3bc1bb0}{get\+Pointer}} ()
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Represents a session with the Elektra key database. 

@api\+Note Close after usage, or simply use a try-\/with-\/resources statement 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_ad3dcc3e348d1c841c7eda0bb00c54167}\label{classorg_1_1libelektra_1_1KDB_ad3dcc3e348d1c841c7eda0bb00c54167}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!close@{close}}
\index{close@{close}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{close()}{close()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void org.\+libelektra.\+KDB.\+close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}}



Closes the \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session and frees native resources associated with it. 


\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if opening the session fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em KDBClosed\+Exception} & if this session has already been closed \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a154ff14bf882539824205f1145b07dcd}\label{classorg_1_1libelektra_1_1KDB_a154ff14bf882539824205f1145b07dcd}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!close@{close}}
\index{close@{close}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{close()}{close()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void org.\+libelektra.\+KDB.\+close (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{warnings\+Key }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}}



Closes the \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session and frees native resources associated with it. 


\begin{DoxyParams}{Parameters}
{\em warnings\+Key} & Used to store warnings, which may occur during closing the session, in this key\textquotesingle{}s meta data \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if opening the session fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em KDBClosed\+Exception} & if this session has already been closed \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{warningsKey }

\end{DoxyCode}
 is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classorg_1_1libelektra_1_1Key_a5d30d6ae5fe427011e7062a878aea0a9}{Key\+::create()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}\label{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!get@{get}}
\index{get@{get}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} org.\+libelektra.\+KDB.\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{parent\+Key }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}}



Fetches at least all keys that are sub-\/keys or children of sub-\/keys of the supplied parent key. 

Note\+: Resulting key set may contain more keys than requested


\begin{DoxyParams}{Parameters}
{\em parent\+Key} & Root key which name is used to fetch keys below. This key is also used to store warnings, which may occur during the operation, in this key\textquotesingle{}s meta data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
New \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} containing the fetched keys 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if loading keys fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em KDBClosed\+Exception} & if this session has already been closed \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a251f5770cfca818d66e76ddb2bacda52}\label{classorg_1_1libelektra_1_1KDB_a251f5770cfca818d66e76ddb2bacda52}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!get@{get}}
\index{get@{get}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} org.\+libelektra.\+KDB.\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{key\+Set,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{parent\+Key }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}}



Fetches at least all keys that are sub-\/keys or children of sub-\/keys of the supplied parent key. 

Note\+: Resulting key set may contain more keys than requested


\begin{DoxyParams}{Parameters}
{\em key\+Set} & \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} used to store the fetched keys \\
\hline
{\em parent\+Key} & Root key which name is used to fetch keys below it. This key is also used to store warnings, which may occur during the operation, in this key\textquotesingle{}s meta data. It is recommended to use the most specific
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 possible. (e.\+g. using
\begin{DoxyCode}{1}
\DoxyCodeLine{system:/ }

\end{DoxyCode}
 is rarely the most specific) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session, enabling a fluent interface 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if loading keys fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em KDBClosed\+Exception} & if this session has already been closed \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{keySet }

\end{DoxyCode}
 or
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{keySet }

\end{DoxyCode}
 or
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}{get(\+Key)}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_acf520512f87da2f11be9dab9a3bc1bb0}\label{classorg_1_1libelektra_1_1KDB_acf520512f87da2f11be9dab9a3bc1bb0}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!getPointer@{getPointer}}
\index{getPointer@{getPointer}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{getPointer()}{getPointer()}}
{\footnotesize\ttfamily Pointer org.\+libelektra.\+KDB.\+get\+Pointer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}

\begin{DoxyReturn}{Returns}
JNA pointer to the native pointer for this key set 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em KDBClosed\+Exception} & if this \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session has already been closed \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a115ad45076785a06b653736e52b79f81}\label{classorg_1_1libelektra_1_1KDB_a115ad45076785a06b653736e52b79f81}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!goptsContract@{goptsContract}}
\index{goptsContract@{goptsContract}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{goptsContract()}{goptsContract()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static void org.\+libelektra.\+KDB.\+gopts\+Contract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{contract,  }\item[{String\mbox{[}$\,$\mbox{]}}]{args,  }\item[{String\mbox{[}$\,$\mbox{]}}]{env,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{parent\+Key,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{gopts\+Config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Writes a contract into a specified \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} for use with \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}{KDB\#open(\+Key\+Set)}} that mounts and configures the. 


\begin{DoxyCode}{0}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 plugin


\begin{DoxyParams}{Parameters}
{\em contract} & \mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}} set to write the contract to \\
\hline
{\em args} & Arguments that will be converted into
\begin{DoxyCode}{1}
\DoxyCodeLine{argc }

\end{DoxyCode}
 and
\begin{DoxyCode}{1}
\DoxyCodeLine{argv }

\end{DoxyCode}
 for
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 \\
\hline
{\em env} & Environment variables that
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 will use \\
\hline
{\em parent\+Key} & Parent key that should be used by
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 . Only the key name is copied. The key can be deleted immediately after calling this function. \\
\hline
{\em gopts\+Config} & Config used for mounting the
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 plugin \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em Illegal\+Argument\+Exception} & if any of the arguments are
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{contract }

\end{DoxyCode}
 ,
\begin{DoxyCode}{1}
\DoxyCodeLine{goptsConfig }

\end{DoxyCode}
 or
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if any of the specified parameters is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a59e0b873e6da61251e749c92321cd288}\label{classorg_1_1libelektra_1_1KDB_a59e0b873e6da61251e749c92321cd288}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!goptsContract@{goptsContract}}
\index{goptsContract@{goptsContract}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{goptsContract()}{goptsContract()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} org.\+libelektra.\+KDB.\+gopts\+Contract (\begin{DoxyParamCaption}\item[{String\mbox{[}$\,$\mbox{]}}]{args,  }\item[{String\mbox{[}$\,$\mbox{]}}]{env,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{parent\+Key,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{gopts\+Config }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Creates a contract \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} for use with \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}{KDB\#open(\+Key\+Set)}} that mounts and configures the. 


\begin{DoxyCode}{0}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 plugin


\begin{DoxyParams}{Parameters}
{\em args} & Arguments that will be converted into
\begin{DoxyCode}{1}
\DoxyCodeLine{argc }

\end{DoxyCode}
 and
\begin{DoxyCode}{1}
\DoxyCodeLine{argv }

\end{DoxyCode}
 for
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 \\
\hline
{\em env} & Environment variables that
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 will use \\
\hline
{\em parent\+Key} & Parent key that should be used by
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 . Only the key name is copied. The key can be deleted immediately after calling this function. \\
\hline
{\em gopts\+Config} & Config used for mounting the
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 plugin \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
New \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} containing the contract 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em Illegal\+Argument\+Exception} & if any of the arguments are
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{goptsConfig }

\end{DoxyCode}
 or
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if any of the specified parameters is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet_aa3851e13c627e32f02275636806e30cc}{Key\+Set\+::release()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_aa39a2e68dd16f19eac0d882ef9965f62}\label{classorg_1_1libelektra_1_1KDB_aa39a2e68dd16f19eac0d882ef9965f62}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!open@{open}}
\index{open@{open}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{open()}{open()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} org.\+libelektra.\+KDB.\+open (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Opens a new \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session. 

\begin{DoxyReturn}{Returns}
New \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if opening the session fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a428614b70194f7950cef2cd2b6808c00}\label{classorg_1_1libelektra_1_1KDB_a428614b70194f7950cef2cd2b6808c00}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!open@{open}}
\index{open@{open}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{open()}{open()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} org.\+libelektra.\+KDB.\+open (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{warnings\+Key }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Opens a new \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session. 


\begin{DoxyParams}{Parameters}
{\em warnings\+Key} & Used to store warnings, which may occur during opening the session, in this key\textquotesingle{}s meta data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
New \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if opening the session fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{warningsKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{warningsKey }

\end{DoxyCode}
 is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classorg_1_1libelektra_1_1Key_a5d30d6ae5fe427011e7062a878aea0a9}{Key\+::create()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}\label{classorg_1_1libelektra_1_1KDB_aef39eb915bde91758ced77e42c1888f2}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!open@{open}}
\index{open@{open}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{open()}{open()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} org.\+libelektra.\+KDB.\+open (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{contract }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Opens \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session using the specified. 


\begin{DoxyCode}{0}
\DoxyCodeLine{contract }

\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em contract} & Contract configuring the
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 plugin \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
New \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if opening the session fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{contract }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{contract }

\end{DoxyCode}
 is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a59e0b873e6da61251e749c92321cd288}{gopts\+Contract(\+String\mbox{[}$\,$\mbox{]}, String\mbox{[}$\,$\mbox{]}, Key, Key\+Set)}} 

\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a115ad45076785a06b653736e52b79f81}{gopts\+Contract(\+Key\+Set, String\mbox{[}$\,$\mbox{]}, String\mbox{[}$\,$\mbox{]}, Key, Key\+Set)}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a9a86b916fa54d87c63ac1739dd62d083}\label{classorg_1_1libelektra_1_1KDB_a9a86b916fa54d87c63ac1739dd62d083}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!open@{open}}
\index{open@{open}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{open()}{open()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} org.\+libelektra.\+KDB.\+open (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{contract,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{warnings\+Key }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Opens \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session using the specified. 


\begin{DoxyCode}{0}
\DoxyCodeLine{contract }

\end{DoxyCode}



\begin{DoxyParams}{Parameters}
{\em contract} & Contract configuring the
\begin{DoxyCode}{1}
\DoxyCodeLine{gopts }

\end{DoxyCode}
 plugin \\
\hline
{\em warnings\+Key} & Used to store warnings, which may occur during opening the session, in this key\textquotesingle{}s meta data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
New \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} session 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}} & if opening the session fails -\/ see specialization of \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}} \\
\hline
{\em Illegal\+State\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{contract }

\end{DoxyCode}
 or
\begin{DoxyCode}{1}
\DoxyCodeLine{warningsKey }

\end{DoxyCode}
 has already been released \\
\hline
{\em Illegal\+Argument\+Exception} & if
\begin{DoxyCode}{1}
\DoxyCodeLine{contract }

\end{DoxyCode}
 or
\begin{DoxyCode}{1}
\DoxyCodeLine{warningsKey }

\end{DoxyCode}
 is
\begin{DoxyCode}{1}
\DoxyCodeLine{\textcolor{keyword}{null} }

\end{DoxyCode}
 \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classorg_1_1libelektra_1_1Key_a5d30d6ae5fe427011e7062a878aea0a9}{Key\+::create()}} 

\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a59e0b873e6da61251e749c92321cd288}{gopts\+Contract(\+String\mbox{[}$\,$\mbox{]}, String\mbox{[}$\,$\mbox{]}, Key, Key\+Set)}} 

\mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a115ad45076785a06b653736e52b79f81}{gopts\+Contract(\+Key\+Set, String\mbox{[}$\,$\mbox{]}, String\mbox{[}$\,$\mbox{]}, Key, Key\+Set)}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classorg_1_1libelektra_1_1KDB_a392433ad094e6342eaffba3d0e23c927}\label{classorg_1_1libelektra_1_1KDB_a392433ad094e6342eaffba3d0e23c927}} 
\index{org.libelektra.KDB@{org.libelektra.KDB}!set@{set}}
\index{set@{set}!org.libelektra.KDB@{org.libelektra.KDB}}
\doxysubsubsection{\texorpdfstring{set()}{set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB}{KDB}} org.\+libelektra.\+KDB.\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}}}]{key\+Set,  }\item[{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key}{Key}}}]{parent\+Key }\end{DoxyParamCaption}) throws \mbox{\hyperlink{classorg_1_1libelektra_1_1KDBException}{KDBException}}\hspace{0.3cm}{\ttfamily [inline]}}



Will update changed keys of the given. 


\begin{DoxyCode}{0}
\DoxyCodeLine{keySet }

\end{DoxyCode}
 in the backend. \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}{get(\+Key)}} or \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a251f5770cfca818d66e76ddb2bacda52}{get(\+Key\+Set, Key)}} has to be called before this function may be executed.


\begin{DoxyParams}{Parameters}
{\em key\+Set} & \mbox{\hyperlink{classorg_1_1libelektra_1_1KeySet}{Key\+Set}} which contains keys to be updated in the backend \\
\hline
{\em parent\+Key} & Specify which part of the given
\begin{DoxyCode}{1}
\DoxyCodeLine{keySet }

\end{DoxyCode}
 is of interest for you. This key is also used to store warnings, which may occur during the operation, in this key\textquotesingle{}s meta data. In general it is highly recommended, that you use the same
\begin{DoxyCode}{1}
\DoxyCodeLine{parentKey }

\end{DoxyCode}
 used to fetch the
\begin{DoxyCode}{1}
\DoxyCodeLine{keySet }

\end{DoxyCode}
 with \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}{get(\+Key)}} or \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a251f5770cfca818d66e76ddb2bacda52}{get(\+Key\+Set, Key)}}. You promise to only modify or remove keys below this key. All others would be passed back as they were retrieved by
\begin{DoxyCode}{1}
\DoxyCodeLine{keySet }

\end{DoxyCode}
 with \mbox{\hyperlink{classorg_1_1libelektra_1_1KDB_a1668a8f1b44e082d577f58b1963141dd}{get(\+Key)}}. Cascading keys (starting with 
\begin{DoxyCode}{1}
\DoxyCodeLine{/ }

\end{DoxyCode}
 ) will set the path in all namespaces. A nameless key as created by \{\mbox{\hyperlink{classorg_1_1libelektra_1_1Key_a5d30d6ae5fe427011e7062a878aea0a9}{\} will commit all changes in the key\+Set  . This parameter is an optimization to only save keys of mountpoints affected by the specified parent\+Key  . This does not necessarily mean that only changes to keys below that parent\+Key  are saved.  This  KDB\} session, enabling a fluent interface  KDBException if storing keys fails -\/ see specialization of  KDBException\}  KDBClosed\+Exception if this session has already been closed  Illegal\+State\+Exception if key\+Set  or parent\+Key  has already been released  Illegal\+Argument\+Exception if key\+Set  or parent\+Key  is null  }}\\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
KDB.\+java\end{DoxyCompactItemize}
