/doc/javadoc/mdfs/namenode/repositories/UserDataRepository.html

https://bitbucket.org/crholm/mdfs · HTML · 415 lines · 351 code · 44 blank · 20 comment · 0 complexity · a983977a7140f94531cb428b6ff66b6c MD5 · raw file

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!--NewPage-->
  3. <HTML>
  4. <HEAD>
  5. <!-- Generated by javadoc (build 1.6.0_23) on Thu Apr 26 19:46:16 CEST 2012 -->
  6. <TITLE>
  7. UserDataRepository
  8. </TITLE>
  9. <META NAME="date" CONTENT="2012-04-26">
  10. <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
  11. <SCRIPT type="text/javascript">
  12. function windowTitle()
  13. {
  14. if (location.href.indexOf('is-external=true') == -1) {
  15. parent.document.title="UserDataRepository";
  16. }
  17. }
  18. </SCRIPT>
  19. <NOSCRIPT>
  20. </NOSCRIPT>
  21. </HEAD>
  22. <BODY BGCOLOR="white" onload="windowTitle();">
  23. <HR>
  24. <!-- ========= START OF TOP NAVBAR ======= -->
  25. <A NAME="navbar_top"><!-- --></A>
  26. <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
  27. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  28. <TR>
  29. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  30. <A NAME="navbar_top_firstrow"><!-- --></A>
  31. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  32. <TR ALIGN="center" VALIGN="top">
  33. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  34. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  35. <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  36. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UserDataRepository.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  37. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  38. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  39. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  40. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  41. </TR>
  42. </TABLE>
  43. </TD>
  44. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  45. </EM>
  46. </TD>
  47. </TR>
  48. <TR>
  49. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  50. &nbsp;<A HREF="../../../mdfs/namenode/repositories/MetaDataRepositoryNode.html" title="class in mdfs.namenode.repositories"><B>PREV CLASS</B></A>&nbsp;
  51. &nbsp;<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories"><B>NEXT CLASS</B></A></FONT></TD>
  52. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  53. <A HREF="../../../index.html?mdfs/namenode/repositories/UserDataRepository.html" target="_top"><B>FRAMES</B></A> &nbsp;
  54. &nbsp;<A HREF="UserDataRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
  55. &nbsp;<SCRIPT type="text/javascript">
  56. <!--
  57. if(window==top) {
  58. document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  59. }
  60. //-->
  61. </SCRIPT>
  62. <NOSCRIPT>
  63. <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
  64. </NOSCRIPT>
  65. </FONT></TD>
  66. </TR>
  67. <TR>
  68. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  69. SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  70. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  71. DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  72. </TR>
  73. </TABLE>
  74. <A NAME="skip-navbar_top"></A>
  75. <!-- ========= END OF TOP NAVBAR ========= -->
  76. <HR>
  77. <!-- ======== START OF CLASS DATA ======== -->
  78. <H2>
  79. <FONT SIZE="-1">
  80. mdfs.namenode.repositories</FONT>
  81. <BR>
  82. Class UserDataRepository</H2>
  83. <PRE>
  84. java.lang.Object
  85. <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>mdfs.namenode.repositories.UserDataRepository</B>
  86. </PRE>
  87. <HR>
  88. <DL>
  89. <DT><PRE>public class <B>UserDataRepository</B><DT>extends java.lang.Object</DL>
  90. </PRE>
  91. <P>
  92. UserDataRepository stores MDFS user data that correlates to the files, authentication and so on.
  93. It is a Singelton since it is a shared recorce and are synchronized via <CODE>ReentrantLock</CODE>
  94. for allowing multiple threads. When a lock is acquired all other operations on the UserDataRepository
  95. are locked. If the thread that holds the lock fails/craches, The lock will be unlocked.
  96. <P>
  97. <P>
  98. <DL>
  99. <DT><B>Author:</B></DT>
  100. <DD>Rasmus Holm</DD>
  101. </DL>
  102. <HR>
  103. <P>
  104. <!-- ========== METHOD SUMMARY =========== -->
  105. <A NAME="method_summary"><!-- --></A>
  106. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  107. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  108. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  109. <B>Method Summary</B></FONT></TH>
  110. </TR>
  111. <TR BGCOLOR="white" CLASS="TableRowColor">
  112. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  113. <CODE>&nbsp;boolean</CODE></FONT></TD>
  114. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#addUser(java.lang.String, java.lang.String)">addUser</A></B>(java.lang.String&nbsp;name,
  115. java.lang.String&nbsp;pass)</CODE>
  116. <BR>
  117. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.</TD>
  118. </TR>
  119. <TR BGCOLOR="white" CLASS="TableRowColor">
  120. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  121. <CODE>&nbsp;boolean</CODE></FONT></TD>
  122. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#addUser(mdfs.namenode.repositories.UserDataRepositoryNode)">addUser</A></B>(<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A>&nbsp;node)</CODE>
  123. <BR>
  124. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.</TD>
  125. </TR>
  126. <TR BGCOLOR="white" CLASS="TableRowColor">
  127. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  128. <CODE>&nbsp;boolean</CODE></FONT></TD>
  129. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#authUser(java.lang.String, java.lang.String)">authUser</A></B>(java.lang.String&nbsp;name,
  130. java.lang.String&nbsp;password)</CODE>
  131. <BR>
  132. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Authenticates a user</TD>
  133. </TR>
  134. <TR BGCOLOR="white" CLASS="TableRowColor">
  135. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  136. <CODE>&nbsp;boolean</CODE></FONT></TD>
  137. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#authUser(mdfs.namenode.repositories.UserDataRepositoryNode, java.lang.String)">authUser</A></B>(<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A>&nbsp;user,
  138. java.lang.String&nbsp;password)</CODE>
  139. <BR>
  140. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Authenticates a user</TD>
  141. </TR>
  142. <TR BGCOLOR="white" CLASS="TableRowColor">
  143. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  144. <CODE>static&nbsp;<A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html" title="class in mdfs.namenode.repositories">UserDataRepository</A></CODE></FONT></TD>
  145. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#getInstance()">getInstance</A></B>()</CODE>
  146. <BR>
  147. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  148. </TR>
  149. <TR BGCOLOR="white" CLASS="TableRowColor">
  150. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  151. <CODE>&nbsp;<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A></CODE></FONT></TD>
  152. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#getUser(java.lang.String)">getUser</A></B>(java.lang.String&nbsp;name)</CODE>
  153. <BR>
  154. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fetches the user from the repository</TD>
  155. </TR>
  156. <TR BGCOLOR="white" CLASS="TableRowColor">
  157. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  158. <CODE>&nbsp;void</CODE></FONT></TD>
  159. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#load()">load</A></B>()</CODE>
  160. <BR>
  161. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loads user data repository from permanent storage</TD>
  162. </TR>
  163. <TR BGCOLOR="white" CLASS="TableRowColor">
  164. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  165. <CODE>&nbsp;<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A></CODE></FONT></TD>
  166. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#removeUser(java.lang.String)">removeUser</A></B>(java.lang.String&nbsp;name)</CODE>
  167. <BR>
  168. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a user from the repository.</TD>
  169. </TR>
  170. <TR BGCOLOR="white" CLASS="TableRowColor">
  171. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  172. <CODE>&nbsp;void</CODE></FONT></TD>
  173. <TD><CODE><B><A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html#save()">save</A></B>()</CODE>
  174. <BR>
  175. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saves the repository to permanent storage</TD>
  176. </TR>
  177. </TABLE>
  178. &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
  179. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  180. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  181. <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
  182. </TR>
  183. <TR BGCOLOR="white" CLASS="TableRowColor">
  184. <TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
  185. </TR>
  186. </TABLE>
  187. &nbsp;
  188. <P>
  189. <!-- ============ METHOD DETAIL ========== -->
  190. <A NAME="method_detail"><!-- --></A>
  191. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  192. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  193. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  194. <B>Method Detail</B></FONT></TH>
  195. </TR>
  196. </TABLE>
  197. <A NAME="getInstance()"><!-- --></A><H3>
  198. getInstance</H3>
  199. <PRE>
  200. public static <A HREF="../../../mdfs/namenode/repositories/UserDataRepository.html" title="class in mdfs.namenode.repositories">UserDataRepository</A> <B>getInstance</B>()</PRE>
  201. <DL>
  202. <DD><DL>
  203. <DT><B>Returns:</B><DD>the instance of the UserDataRepository</DL>
  204. </DD>
  205. </DL>
  206. <HR>
  207. <A NAME="addUser(mdfs.namenode.repositories.UserDataRepositoryNode)"><!-- --></A><H3>
  208. addUser</H3>
  209. <PRE>
  210. public boolean <B>addUser</B>(<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A>&nbsp;node)</PRE>
  211. <DL>
  212. <DD>1. Adds a user in the form a <A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories"><CODE>UserDataRepositoryNode</CODE></A> to the Repository where the key is the username.
  213. 2. Creates a home dir for the new user.
  214. 3. Updates permanent storage with new user.
  215. <P>
  216. <DD><DL>
  217. <DT><B>Parameters:</B><DD><CODE>node</CODE> - the UserDataRepository node to add to repositori
  218. <DT><B>Returns:</B><DD>true if successful, false if it is preexisting</DL>
  219. </DD>
  220. </DL>
  221. <HR>
  222. <A NAME="removeUser(java.lang.String)"><!-- --></A><H3>
  223. removeUser</H3>
  224. <PRE>
  225. public <A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A> <B>removeUser</B>(java.lang.String&nbsp;name)</PRE>
  226. <DL>
  227. <DD>Removes a user from the repository.
  228. <P>
  229. <DD><DL>
  230. <DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to be removed
  231. <DT><B>Returns:</B><DD>the removed users</DL>
  232. </DD>
  233. </DL>
  234. <HR>
  235. <A NAME="addUser(java.lang.String, java.lang.String)"><!-- --></A><H3>
  236. addUser</H3>
  237. <PRE>
  238. public boolean <B>addUser</B>(java.lang.String&nbsp;name,
  239. java.lang.String&nbsp;pass)</PRE>
  240. <DL>
  241. <DD>1. Adds a user in the form a <A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories"><CODE>UserDataRepositoryNode</CODE></A> but generated from name and pass to the Repository where the key is the username
  242. 2. Creates a home dir for the new user.
  243. 3. Updates permanent storage with new user.
  244. <P>
  245. <DD><DL>
  246. <DT><B>Parameters:</B><DD><CODE>name</CODE> - the username of the new user<DD><CODE>pass</CODE> - the cleartext password of the new user
  247. <DT><B>Returns:</B><DD>true if successful, false if it is preexisting</DL>
  248. </DD>
  249. </DL>
  250. <HR>
  251. <A NAME="getUser(java.lang.String)"><!-- --></A><H3>
  252. getUser</H3>
  253. <PRE>
  254. public <A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A> <B>getUser</B>(java.lang.String&nbsp;name)</PRE>
  255. <DL>
  256. <DD>Fetches the user from the repository
  257. <P>
  258. <DD><DL>
  259. <DT><B>Parameters:</B><DD><CODE>name</CODE> - the username of the user that is requested
  260. <DT><B>Returns:</B><DD>the user, null if it dose not exist</DL>
  261. </DD>
  262. </DL>
  263. <HR>
  264. <A NAME="authUser(java.lang.String, java.lang.String)"><!-- --></A><H3>
  265. authUser</H3>
  266. <PRE>
  267. public boolean <B>authUser</B>(java.lang.String&nbsp;name,
  268. java.lang.String&nbsp;password)</PRE>
  269. <DL>
  270. <DD>Authenticates a user
  271. <P>
  272. <DD><DL>
  273. <DT><B>Parameters:</B><DD><CODE>name</CODE> - username as a String<DD><CODE>password</CODE> - clear text password
  274. <DT><B>Returns:</B><DD>true if valid, false if wrong password</DL>
  275. </DD>
  276. </DL>
  277. <HR>
  278. <A NAME="authUser(mdfs.namenode.repositories.UserDataRepositoryNode, java.lang.String)"><!-- --></A><H3>
  279. authUser</H3>
  280. <PRE>
  281. public boolean <B>authUser</B>(<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories">UserDataRepositoryNode</A>&nbsp;user,
  282. java.lang.String&nbsp;password)</PRE>
  283. <DL>
  284. <DD>Authenticates a user
  285. <P>
  286. <DD><DL>
  287. <DT><B>Parameters:</B><DD><CODE>user</CODE> - the node that the password is checked against<DD><CODE>password</CODE> -
  288. <DT><B>Returns:</B><DD>true if valid, false if wrong password</DL>
  289. </DD>
  290. </DL>
  291. <HR>
  292. <A NAME="load()"><!-- --></A><H3>
  293. load</H3>
  294. <PRE>
  295. public void <B>load</B>()</PRE>
  296. <DL>
  297. <DD>Loads user data repository from permanent storage
  298. <P>
  299. <DD><DL>
  300. </DL>
  301. </DD>
  302. </DL>
  303. <HR>
  304. <A NAME="save()"><!-- --></A><H3>
  305. save</H3>
  306. <PRE>
  307. public void <B>save</B>()</PRE>
  308. <DL>
  309. <DD>Saves the repository to permanent storage
  310. <P>
  311. <DD><DL>
  312. </DL>
  313. </DD>
  314. </DL>
  315. <!-- ========= END OF CLASS DATA ========= -->
  316. <HR>
  317. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  318. <A NAME="navbar_bottom"><!-- --></A>
  319. <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
  320. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  321. <TR>
  322. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  323. <A NAME="navbar_bottom_firstrow"><!-- --></A>
  324. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  325. <TR ALIGN="center" VALIGN="top">
  326. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  327. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  328. <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  329. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UserDataRepository.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  330. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  331. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  332. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  333. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  334. </TR>
  335. </TABLE>
  336. </TD>
  337. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  338. </EM>
  339. </TD>
  340. </TR>
  341. <TR>
  342. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  343. &nbsp;<A HREF="../../../mdfs/namenode/repositories/MetaDataRepositoryNode.html" title="class in mdfs.namenode.repositories"><B>PREV CLASS</B></A>&nbsp;
  344. &nbsp;<A HREF="../../../mdfs/namenode/repositories/UserDataRepositoryNode.html" title="class in mdfs.namenode.repositories"><B>NEXT CLASS</B></A></FONT></TD>
  345. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  346. <A HREF="../../../index.html?mdfs/namenode/repositories/UserDataRepository.html" target="_top"><B>FRAMES</B></A> &nbsp;
  347. &nbsp;<A HREF="UserDataRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
  348. &nbsp;<SCRIPT type="text/javascript">
  349. <!--
  350. if(window==top) {
  351. document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  352. }
  353. //-->
  354. </SCRIPT>
  355. <NOSCRIPT>
  356. <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
  357. </NOSCRIPT>
  358. </FONT></TD>
  359. </TR>
  360. <TR>
  361. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  362. SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  363. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  364. DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  365. </TR>
  366. </TABLE>
  367. <A NAME="skip-navbar_bottom"></A>
  368. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  369. <HR>
  370. </BODY>
  371. </HTML>