[172] | 1 | \hypertarget{classValuedUserInfo}{ |
---|
| 2 | \section{ValuedUserInfo$<$ T $>$ Class Template Reference} |
---|
| 3 | \label{classValuedUserInfo}\index{ValuedUserInfo@{ValuedUserInfo}} |
---|
| 4 | } |
---|
| 5 | The 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 | |
---|
| 10 | Inheritance 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} |
---|
| 17 | Collaboration 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}{ |
---|
| 42 | string \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}{ |
---|
[255] | 47 | string \textbf{removeSpaces} (const string \&str)} |
---|
[172] | 48 | \label{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa} |
---|
| 49 | |
---|
| 50 | \item |
---|
| 51 | \hypertarget{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{ |
---|
| 52 | virtual 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}{ |
---|
| 60 | string \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 |
---|
| 67 | static 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 | |
---|
| 74 | The 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 | |
---|
| 76 | The 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 | |
---|
| 86 | This 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 | |
---|
| 88 | References 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 | |
---|
| 95 | This 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 | |
---|
| 97 | References Attribute::help, Attribute::Set(), and Attribute::type. |
---|
| 98 | |
---|
| 99 | Referenced 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 | |
---|
| 106 | This 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 | |
---|
| 108 | References 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 | |
---|
| 118 | the only instance of this class (each type T has its own instance) which is used as a factory for processing related userinfos |
---|
| 119 | |
---|
| 120 | The documentation for this class was generated from the following file:\begin{CompactItemize} |
---|
| 121 | \item |
---|
| 122 | work/git/mixpp/bdm/userinfo.h\end{CompactItemize} |
---|