root/doc/latex/classValuedUserInfo.tex @ 181

Revision 172, 7.4 kB (checked in by smidl, 16 years ago)

Latex doc

Line 
1\hypertarget{classValuedUserInfo}{
2\section{ValuedUserInfo$<$ T $>$ Class Template Reference}
3\label{classValuedUserInfo}\index{ValuedUserInfo@{ValuedUserInfo}}
4}
5The main userinfo template class. It should be derived whenever you need a new userinfo of a class which does not contain any subelements. It is the case of basic classes(or types) like int, string, double, etc. 
6
7
8{\tt \#include $<$userinfo.h$>$}
9
10Inheritance diagram for ValuedUserInfo$<$ T $>$:\nopagebreak
11\begin{figure}[H]
12\begin{center}
13\leavevmode
14\includegraphics[width=400pt]{classValuedUserInfo__inherit__graph}
15\end{center}
16\end{figure}
17Collaboration diagram for ValuedUserInfo$<$ T $>$:\nopagebreak
18\begin{figure}[H]
19\begin{center}
20\leavevmode
21\includegraphics[width=151pt]{classValuedUserInfo__coll__graph}
22\end{center}
23\end{figure}
24\subsection*{Static Public Member Functions}
25\begin{CompactItemize}
26\item 
27{\footnotesize template$<$class T$>$ }\\static T $\ast$ \hyperlink{classUserInfo_0f090c6525a3e8fb11634a553f467ede}{Assembly} (DOMElement \&element, const string tagName)
28\item 
29{\footnotesize template$<$class T$>$ }\\static bool \hyperlink{classUserInfo_1d402661b82feccb5265a70f65c242e1}{Disassembly} (T \&\hyperlink{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{instance}, DOMElement \&element, const string tagName, const string help)
30\item 
31{\footnotesize template$<$class T$>$ }\\static bool \hyperlink{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}{Disassembly} (T \&\hyperlink{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{instance}, DOMElement \&element, const string tagName)
32\end{CompactItemize}
33\subsection*{Protected Member Functions}
34\begin{CompactItemize}
35\item 
36\hypertarget{classValuedUserInfo_86897fcfe4666183bcecf16a23715cdb}{
37\textbf{ValuedUserInfo} (string userFriendlyTypeName)}
38\label{classValuedUserInfo_86897fcfe4666183bcecf16a23715cdb}
39
40\item 
41\hypertarget{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}{
42string \hyperlink{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}{XMLCh2str} (const XMLCh $\ast$const XMLCh\_\-str)}
43\label{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}
44
45\begin{CompactList}\small\item\em function which transcodes Xerces' XMLCh-based strings into C++ strings \item\end{CompactList}\item 
46\hypertarget{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa}{
47string \textbf{removeSpaces} (const string \&\hyperlink{classstr}{str})}
48\label{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa}
49
50\item 
51\hypertarget{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{
52virtual void \hyperlink{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{ReleaseMemory} ()}
53\label{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}
54
55\begin{CompactList}\small\item\em A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method. \item\end{CompactList}\end{CompactItemize}
56\subsection*{Protected Attributes}
57\begin{CompactItemize}
58\item 
59\hypertarget{classValuedUserInfo_10a0acb3696018386451881ebcc797ea}{
60string \hyperlink{classValuedUserInfo_10a0acb3696018386451881ebcc797ea}{value}}
61\label{classValuedUserInfo_10a0acb3696018386451881ebcc797ea}
62
63\begin{CompactList}\small\item\em string variable which is automatically binded to a proper DOMElement attribute \item\end{CompactList}\end{CompactItemize}
64\subsection*{Static Protected Attributes}
65\begin{CompactItemize}
66\item 
67static const \hyperlink{classTypedUserInfo}{TypedUserInfo}$<$ T $>$ \& \hyperlink{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{instance}
68\end{CompactItemize}
69
70
71\subsection{Detailed Description}
72\subsubsection*{template$<$typename T$>$ class ValuedUserInfo$<$ T $>$}
73
74The main userinfo template class. It should be derived whenever you need a new userinfo of a class which does not contain any subelements. It is the case of basic classes(or types) like int, string, double, etc.
75
76The only thing left is to translate its public string attribute 'value' into a value of type T and also implement conversion in the other way round. For that, an overloading of methods T$\ast$ AssemblyInstance() / bool DisassemblyInstance(T  \&instance) is fruitful. See some valued userinfo below as an example.
77
78\subsection{Member Function Documentation}
79\hypertarget{classUserInfo_0f090c6525a3e8fb11634a553f467ede}{
80\index{ValuedUserInfo@{ValuedUserInfo}!Assembly@{Assembly}}
81\index{Assembly@{Assembly}!ValuedUserInfo@{ValuedUserInfo}}
82\subsubsection[Assembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static T$\ast$ UserInfo::Assembly (DOMElement \& {\em element}, \/  const string {\em tagName})\hspace{0.3cm}{\tt  \mbox{[}inline, static, inherited\mbox{]}}}}
83\label{classUserInfo_0f090c6525a3e8fb11634a553f467ede}
84
85
86This methods tries to assembly a new instance of type T (or some of its descendant types) according to a data stored in a DOMNode named tagName within a child nodes of the passed element. If an error occurs, it returns a NULL pointer.
87
88References Attribute::Get(), and Attribute::type.\hypertarget{classUserInfo_1d402661b82feccb5265a70f65c242e1}{
89\index{ValuedUserInfo@{ValuedUserInfo}!Disassembly@{Disassembly}}
90\index{Disassembly@{Disassembly}!ValuedUserInfo@{ValuedUserInfo}}
91\subsubsection[Disassembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static bool UserInfo::Disassembly (T \& {\em instance}, \/  DOMElement \& {\em element}, \/  const string {\em tagName}, \/  const string {\em help})\hspace{0.3cm}{\tt  \mbox{[}inline, static, inherited\mbox{]}}}}
92\label{classUserInfo_1d402661b82feccb5265a70f65c242e1}
93
94
95This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node (with a help attribute filled).
96
97References Attribute::help, Attribute::Set(), and Attribute::type.
98
99Referenced by UserInfo::Disassembly(), and CompoundUserInfo$<$ T $>$::BindedElement$<$ U $>$::DisassemblyComponentsToXML().\hypertarget{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}{
100\index{ValuedUserInfo@{ValuedUserInfo}!Disassembly@{Disassembly}}
101\index{Disassembly@{Disassembly}!ValuedUserInfo@{ValuedUserInfo}}
102\subsubsection[Disassembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static bool UserInfo::Disassembly (T \& {\em instance}, \/  DOMElement \& {\em element}, \/  const string {\em tagName})\hspace{0.3cm}{\tt  \mbox{[}inline, static, inherited\mbox{]}}}}
103\label{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}
104
105
106This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node.
107
108References UserInfo::Disassembly().
109
110\subsection{Member Data Documentation}
111\hypertarget{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}{
112\index{ValuedUserInfo@{ValuedUserInfo}!instance@{instance}}
113\index{instance@{instance}!ValuedUserInfo@{ValuedUserInfo}}
114\subsubsection[instance]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ const {\bf TypedUserInfo}$<$T$>$\& {\bf TypedUserInfo}$<$ T $>$::{\bf instance}\hspace{0.3cm}{\tt  \mbox{[}static, protected, inherited\mbox{]}}}}
115\label{classTypedUserInfo_c7ad10a9ff002383518155c965ade85c}
116
117
118the only instance of this class (each type T has its own instance) which is used as a factory for processing related userinfos
119
120The documentation for this class was generated from the following file:\begin{CompactItemize}
121\item 
122work/git/mixpp/bdm/userinfo.h\end{CompactItemize}
Note: See TracBrowser for help on using the browser.