add all attachments
authorDerrick Brashear <shadow@dementia.org>
Tue, 29 Jun 2010 21:58:38 +0000 (17:58 -0400)
committerDerrick Brashear <shadow@dementia.org>
Tue, 29 Jun 2010 21:58:38 +0000 (17:58 -0400)
40 files changed:
AFSLore/JavaAdminAPI/ACL.Entry.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/ACL.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AFSAdminException.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AFSException.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AFSFileException.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AFSLibraryLoader.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AFSSecurityException.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AFSShutdownHandler.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/AdminTest.java [new file with mode: 0644]
AFSLore/JavaAdminAPI/Authenticate.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Cell.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/ErrorTable.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/File.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/FileInputStream.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/FileOutputStream.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Group.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/K5PasswordPolicy.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/K5User.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Key.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/PTSEntry.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Partition.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Process.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Server.ExecutableTime.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Server.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/Token.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/User.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/VersionInfo.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/VersionInfo.java [new file with mode: 0644]
AFSLore/JavaAdminAPI/Volume.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/copyright.html [new file with mode: 0644]
AFSLore/JavaAdminAPI/file.gif [new file with mode: 0644]
AFSLore/JavaAdminAPI/folder.gif [new file with mode: 0644]
AFSLore/JavaAdminAPI/jafs-1.2.10a-diff.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/jafs-1.2.9-diff.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/jafs-1.2.9b-diff.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/jafs-diff.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/openafs-jafs-API-v1.4.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/openafs-jafs-API-v2.2.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/openafs-jafs-API-v2.tar.gz [new file with mode: 0644]
AFSLore/JavaAdminAPI/openafs-jafsadm-API-v1.3.tar.gz [new file with mode: 0644]

diff --git a/AFSLore/JavaAdminAPI/ACL.Entry.html b/AFSLore/JavaAdminAPI/ACL.Entry.html
new file mode 100644 (file)
index 0000000..3d5752d
--- /dev/null
@@ -0,0 +1,1098 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:36 PDT 2003 -->
+<TITLE>
+ACL.Entry (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.ACL.Entry,ACL.Entry class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ACL.Entry (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ACL.Entry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/ACL.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ACL.Entry.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class ACL.Entry</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<B>org.openafs.jafs.ACL.Entry</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/openafs/jafs/ACL.html">ACL</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public static final class <B>ACL.Entry</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DL>
+
+<P>
+AFS ACL Entry Class.
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ772">Managing Access Control Lists</A>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>2.0, 04/18/2001 - Completely revised class for efficiency., 3.0, 05/01/2002 - Converted class to an inner class.</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.ACL.Entry">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#ADMIN">ADMIN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask administer constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#DELETE">DELETE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask delete constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#INSERT">INSERT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask insert constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#LOCK">LOCK</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask lock constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#LOOKUP">LOOKUP</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask lookup constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#READ">READ</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask read constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#WRITE">WRITE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACL Mask write constant</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#ACL.Entry()">ACL.Entry</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new ACL entry with all permission bits set to <code>false</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#ACL.Entry(int)">ACL.Entry</A></B>(int&nbsp;permissionsMask)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new ACL entry setting each permission bit to its appropriate 
+ value according to the <code>permissionsMask</code> specified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#ACL.Entry(java.lang.String)">ACL.Entry</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;user)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new ACL entry with all permission bits set to <code>false</code>
+ and sets the associated user or group name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#ACL.Entry(java.lang.String, int)">ACL.Entry</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;user,
+          int&nbsp;permissionsMask)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new ACL entry setting each permission bit to its appropriate 
+ value according to the <code>permissionsMask</code> specified
+ and sets the associated user or group name.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canAdmin()">canAdmin</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>administer</code> access.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canDelete()">canDelete</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>delete</code> access.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()">canInsert</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>insert</code> access.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLock()">canLock</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits the <code>lock</code> authority.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLookup()">canLookup</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits lookup access.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canRead()">canRead</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>read</code> access.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canWrite()">canWrite</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>write</code> access.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#equals(org.openafs.jafs.ACL.Entry)">equals</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether two <code>ACL.Entry</code> objects are equal, based on associated
+ username and permission bits.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getPermissionsMask()">getPermissionsMask</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this entry's permission mask.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getUser()">getUser</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the user <B>or</B> group name associated with this ACL entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setAdmin(boolean)">setAdmin</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>administer</code> rights for directories.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setDelete(boolean)">setDelete</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>delete</code> access for directories.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setInsert(boolean)">setInsert</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>insert</code> access for directories.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setLock(boolean)">setLock</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>lock</code> access for files.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setLookup(boolean)">setLookup</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>lookup</code> access for directories.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setPermissions(int)">setPermissions</A></B>(int&nbsp;permissionsMask)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set this entry's permission bits according to the value of the 
+ <code>permissionsMask</code> specified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setRead(boolean)">setRead</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>read</code> access for files.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setUser(java.lang.String)">setUser</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;user)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the user <B>or</B> group name associated with this ACL entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setWrite(boolean)">setWrite</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the ACL permission to accomodate <code>write</code> access for files.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a String representation of this <CODE>ACL.Entry</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="READ"><!-- --></A><H3>
+READ</H3>
+<PRE>
+public static final int <B>READ</B></PRE>
+<DL>
+<DD>ACL Mask read constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.READ">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="WRITE"><!-- --></A><H3>
+WRITE</H3>
+<PRE>
+public static final int <B>WRITE</B></PRE>
+<DL>
+<DD>ACL Mask write constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.WRITE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="INSERT"><!-- --></A><H3>
+INSERT</H3>
+<PRE>
+public static final int <B>INSERT</B></PRE>
+<DL>
+<DD>ACL Mask insert constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.INSERT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="LOOKUP"><!-- --></A><H3>
+LOOKUP</H3>
+<PRE>
+public static final int <B>LOOKUP</B></PRE>
+<DL>
+<DD>ACL Mask lookup constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.LOOKUP">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DELETE"><!-- --></A><H3>
+DELETE</H3>
+<PRE>
+public static final int <B>DELETE</B></PRE>
+<DL>
+<DD>ACL Mask delete constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.DELETE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="LOCK"><!-- --></A><H3>
+LOCK</H3>
+<PRE>
+public static final int <B>LOCK</B></PRE>
+<DL>
+<DD>ACL Mask lock constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.LOCK">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ADMIN"><!-- --></A><H3>
+ADMIN</H3>
+<PRE>
+public static final int <B>ADMIN</B></PRE>
+<DL>
+<DD>ACL Mask administer constant
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ACL.Entry.ADMIN">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ACL.Entry()"><!-- --></A><H3>
+ACL.Entry</H3>
+<PRE>
+public <B>ACL.Entry</B>()</PRE>
+<DL>
+<DD>Constructs a new ACL entry with all permission bits set to <code>false</code>.
+<P>
+</DL>
+<HR>
+
+<A NAME="ACL.Entry(java.lang.String)"><!-- --></A><H3>
+ACL.Entry</H3>
+<PRE>
+public <B>ACL.Entry</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;user)</PRE>
+<DL>
+<DD>Constructs a new ACL entry with all permission bits set to <code>false</code>
+ and sets the associated user or group name.
+<P>
+<DT><B>Parameters:</B><DD><CODE>user</CODE> - The user or group name associated with this entry</DL>
+<HR>
+
+<A NAME="ACL.Entry(int)"><!-- --></A><H3>
+ACL.Entry</H3>
+<PRE>
+public <B>ACL.Entry</B>(int&nbsp;permissionsMask)</PRE>
+<DL>
+<DD>Constructs a new ACL entry setting each permission bit to its appropriate 
+ value according to the <code>permissionsMask</code> specified.
+<P>
+<DT><B>Parameters:</B><DD><CODE>permissionsMask</CODE> - An integer representation of the permissoin 
+                                rights of this entry<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canRead()"><CODE>canRead()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canWrite()"><CODE>canWrite()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLookup()"><CODE>canLookup()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canDelete()"><CODE>canDelete()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLock()"><CODE>canLock()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canAdmin()"><CODE>canAdmin()</CODE></A></DL>
+<HR>
+
+<A NAME="ACL.Entry(java.lang.String, int)"><!-- --></A><H3>
+ACL.Entry</H3>
+<PRE>
+public <B>ACL.Entry</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;user,
+                 int&nbsp;permissionsMask)</PRE>
+<DL>
+<DD>Constructs a new ACL entry setting each permission bit to its appropriate 
+ value according to the <code>permissionsMask</code> specified
+ and sets the associated user or group name.
+<P>
+<DT><B>Parameters:</B><DD><CODE>permissionsMask</CODE> - An integer representation of the permissoin 
+                                rights of this entry<DD><CODE>user</CODE> - The username or group associated with this entry<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canRead()"><CODE>canRead()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canWrite()"><CODE>canWrite()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLookup()"><CODE>canLookup()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canDelete()"><CODE>canDelete()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLock()"><CODE>canLock()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#canAdmin()"><CODE>canAdmin()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ACL.Entry.html#setUser(java.lang.String)"><CODE>setUser(java.lang.String)</CODE></A></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setPermissions(int)"><!-- --></A><H3>
+setPermissions</H3>
+<PRE>
+public void <B>setPermissions</B>(int&nbsp;permissionsMask)</PRE>
+<DL>
+<DD>Set this entry's permission bits according to the value of the 
+ <code>permissionsMask</code> specified.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>permissionsMask</CODE> - An integer representation of the permissoin 
+                                rights of this entry<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getPermissionsMask()"><CODE>getPermissionsMask()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPermissionsMask()"><!-- --></A><H3>
+getPermissionsMask</H3>
+<PRE>
+public int <B>getPermissionsMask</B>()</PRE>
+<DL>
+<DD>Returns this entry's permission mask.
+
+ <p> <B>Permission Mask</B><BR>
+ 01 - READ  <BR>
+ 02 - WRITE <BR>
+ 04 - INSERT<BR>
+ 08 - LOOKUP<BR>
+ 16 - DELETE<BR>
+ 32 - LOCK  <BR>
+ 64 - ADMIN <BR>
+
+ <p> Any combination of the above mask values would equate to a valid combination of 
+ permission settings.  For example, if the permission mask was <B>11</B>, the ACL permissions
+ would be as follows: <code>read</code> (1), <code>write</code> (2), and <code>lookup</code> (8).<BR>
+ [1 + 2 + 8 = 11]
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An integer representation (mask) of the permissoin rights of this entry</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUser()"><!-- --></A><H3>
+getUser</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getUser</B>()</PRE>
+<DL>
+<DD>Returns the user <B>or</B> group name associated with this ACL entry.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>String representation of the user or group name associated with this entry.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUser(java.lang.String)"><!-- --></A><H3>
+setUser</H3>
+<PRE>
+public void <B>setUser</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;user)</PRE>
+<DL>
+<DD>Sets the user <B>or</B> group name associated with this ACL entry.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>user</CODE> - representation of the user or group name associated with this entry.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canRead()"><!-- --></A><H3>
+canRead</H3>
+<PRE>
+public boolean <B>canRead</B>()</PRE>
+<DL>
+<DD><IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>read</code> access.
+
+ <p> This permission enables a user to read the contents of files in the directory 
+ and to obtain complete status information for the files (read/retrieve the file 
+ attributes).
+
+ <p><FONT COLOR="666699"><IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>File Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to files in 
+ a directory, rather than the directory itself or its subdirectories. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>read</code> access of
+          files; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRead(boolean)"><!-- --></A><H3>
+setRead</H3>
+<PRE>
+public void <B>setRead</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>read</code> access for files.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>read</code> access.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canRead()"><CODE>canRead()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canLookup()"><!-- --></A><H3>
+canLookup</H3>
+<PRE>
+public boolean <B>canLookup</B>()</PRE>
+<DL>
+<DD><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits lookup access.
+
+ <p> This permission functions as something of a gate keeper for access to the directory 
+ and its files, because a user must have it in order to exercise any other permissions. 
+ In particular, a user must have this permission to access anything in the directory's 
+ subdirectories, even if the ACL on a subdirectory grants extensive permissions.
+
+ <p> This permission enables a user to list the names of the files and subdirectories in 
+ the directory (this does not permit read access to its respective entries), obtain 
+ complete status information for the directory element itself, and examine the directory's 
+ ACL.
+
+ <p> This permission does not enable a user to read the contents of a file in the 
+ directory.
+
+ <p> Similarly, this permission does not enable a user to lookup the contents of, 
+ obtain complete status information for, or examine the ACL of the subdirectory of 
+ the directory. Those operations require the <code>lookup</code> permission on the ACL
+ of the subdirectory itself.
+
+ <p><FONT COLOR="666699"><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>Directory Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to the 
+ directory itself. For example, the <code>insert</code> permission (see: <A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>)
+ does not control addition of data to a file, but rather creation of a new file or 
+ subdirectory. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>lookup</code> access for
+          directories; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLookup(boolean)"><!-- --></A><H3>
+setLookup</H3>
+<PRE>
+public void <B>setLookup</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>lookup</code> access for directories.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>lookup</code> access.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLookup()"><CODE>canLookup()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canInsert()"><!-- --></A><H3>
+canInsert</H3>
+<PRE>
+public boolean <B>canInsert</B>()</PRE>
+<DL>
+<DD><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>insert</code> access.
+
+ <p> This permission enables a user to add new files to the directory, either by creating 
+ or copying, and to create new subdirectories. It does not extend into any subdirectories,
+ which are protected by their own ACLs.
+
+ <p><FONT COLOR="666699"><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>Directory Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to the 
+ directory itself. For example, the <code>insert</code> permission (see: <A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>)
+ does not control addition of data to a file, but rather creation of a new file or 
+ subdirectory. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>insert</code> access for
+          directories; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInsert(boolean)"><!-- --></A><H3>
+setInsert</H3>
+<PRE>
+public void <B>setInsert</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>insert</code> access for directories.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>insert</code> access.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canDelete()"><!-- --></A><H3>
+canDelete</H3>
+<PRE>
+public boolean <B>canDelete</B>()</PRE>
+<DL>
+<DD><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>delete</code> access.
+
+ <p> This permission enables a user to remove files and subdirectories from the directory 
+ or move them into other directories (assuming that the user has the <code>insert</code>
+ (see: <A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>) permission on the ACL of the other directories).
+
+ <p><FONT COLOR="666699"><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>Directory Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to the 
+ directory itself. For example, the <code>insert</code> permission (see: <A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>)
+ does not control addition of data to a file, but rather creation of a new file or 
+ subdirectory. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>delete</code> access for
+          directories; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDelete(boolean)"><!-- --></A><H3>
+setDelete</H3>
+<PRE>
+public void <B>setDelete</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>delete</code> access for directories.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>delete</code> rights.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canDelete()"><CODE>canDelete()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canWrite()"><!-- --></A><H3>
+canWrite</H3>
+<PRE>
+public boolean <B>canWrite</B>()</PRE>
+<DL>
+<DD><IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>write</code> access.
+
+ <p> This permission enables a user to modify the contents of files in the directory 
+ and to change their operating system specific mode bits. 
+
+ <p><FONT COLOR="666699"><IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>File Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to files in 
+ a directory, rather than the directory itself or its subdirectories. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>write</code> access for
+          files; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setWrite(boolean)"><!-- --></A><H3>
+setWrite</H3>
+<PRE>
+public void <B>setWrite</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>write</code> access for files.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>write</code> access.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canWrite()"><CODE>canWrite()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canLock()"><!-- --></A><H3>
+canLock</H3>
+<PRE>
+public boolean <B>canLock</B>()</PRE>
+<DL>
+<DD><IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits the <code>lock</code> authority.
+
+ <p> This permission enables the user to run programs that issue system calls to 
+ lock files in the directory. 
+
+ <p><FONT COLOR="666699"><IMG SRC="file.gif" ALT="File Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>File Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to files in 
+ a directory, rather than the directory itself or its subdirectories. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>lock</code> authority for
+          files; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLock(boolean)"><!-- --></A><H3>
+setLock</H3>
+<PRE>
+public void <B>setLock</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>lock</code> access for files.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>lock</code> rights.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLock()"><CODE>canLock()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canAdmin()"><!-- --></A><H3>
+canAdmin</H3>
+<PRE>
+public boolean <B>canAdmin</B>()</PRE>
+<DL>
+<DD><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> Tests whether the ACL permits <code>administer</code> access.
+
+ <p> This permission enables a user to change the directory's ACL. Members of the 
+ <code>system:administrators</code> group implicitly have this permission on every 
+ directory (that is, even if that group does not appear on the ACL). Similarly, the 
+ owner of a directory implicitly has this permission on its ACL and those of all 
+ directories below it that he or she owns. 
+
+ <p><FONT COLOR="666699"><IMG SRC="folder.gif" ALT="Directory Permission" WIDTH="16" HEIGHT="16" BORDER="0"> <U><B>Directory Permission</B></U></FONT><BR>
+ This permission is meaningful with respect to the 
+ directory itself. For example, the <code>insert</code> permission (see: <A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>canInsert()</CODE></A>)
+ does not control addition of data to a file, but rather creation of a new file or 
+ subdirectory. 
+
+ <p> Documentation reference: 
+ <A HREF="http://www.transarc.com/Library/documentation/afs/3.6/unix/en_US/HTML/AdminGd/auagd020.htm#HDRWQ782">The AFS ACL Permissions</A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the ACL permits <code>administer</code> access for
+          directories; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAdmin(boolean)"><!-- --></A><H3>
+setAdmin</H3>
+<PRE>
+public void <B>setAdmin</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Sets the ACL permission to accomodate <code>administer</code> rights for directories.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - boolean flag that denotes the permission bit for <code>administer</code> rights.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canAdmin()"><CODE>canAdmin()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</PRE>
+<DL>
+<DD>Tests whether two <code>ACL.Entry</code> objects are equal, based on associated
+ username and permission bits.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - the ACL.Entry to test
+<DT><B>Returns:</B><DD>whether the specifed ACL.Entry is the same as this ACL.Entry</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a String representation of this <CODE>ACL.Entry</CODE>
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representation of this <CODE>ACL.Entry</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ACL.Entry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/ACL.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ACL.Entry.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/ACL.html b/AFSLore/JavaAdminAPI/ACL.html
new file mode 100644 (file)
index 0000000..0d51977
--- /dev/null
@@ -0,0 +1,1111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:36 PDT 2003 -->
+<TITLE>
+ACL (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.ACL,ACL class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ACL (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ACL.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ACL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class ACL</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<B>org.openafs.jafs.ACL</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Comparable.html">Comparable</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ACL</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Comparable.html">Comparable</A></DL>
+
+<P>
+An abstract representation of AFS file and directory pathnames.
+
+ This class is an extension of the standard Java File class with file-based 
+ manipulation methods overridden by integrated AFS native methods.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>2.2, 03/24/2003 - Added new Delta ACL functionality and changes 
+                            from Stonehenge., 2.0, 04/18/2001 - Completely revised class for efficiency.</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.ACL">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AFS ACL Entry Class.
+
+ </TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#ACL(java.lang.String)">ACL</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#ACL(java.lang.String, boolean)">ACL</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;path,
+    boolean&nbsp;init)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#addNegativeEntries(org.openafs.jafs.ACL.Entry[])">addNegativeEntries</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the provided list of negative ACL entries to this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#addNegativeEntry(org.openafs.jafs.ACL.Entry)">addNegativeEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a single negative ACL entry to this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#addNegativeExpungeEntry(org.openafs.jafs.ACL.Entry)">addNegativeExpungeEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a negative ACL entry to the list of negative ACL entries to be 
+ expunged; used in Delta ACLs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#addPositiveEntries(org.openafs.jafs.ACL.Entry[])">addPositiveEntries</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the provided list of positive ACL entries to this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#addPositiveEntry(org.openafs.jafs.ACL.Entry)">addPositiveEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a single positive ACL entry to this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#addPositiveExpungeEntry(org.openafs.jafs.ACL.Entry)">addPositiveExpungeEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a positive ACL entry to the list of positive ACL entries to be 
+ expunged; used in Delta ACLs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#compareTo(org.openafs.jafs.ACL)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;acl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares two ACL objects respective to their paths and does not
+ factor any other attribute.    </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#compareTo(java.lang.Object)">compareTo</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#containsNegative(org.openafs.jafs.ACL.Entry)">containsNegative</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this ACL contains the specified ACL entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#containsPositiveEntry(org.openafs.jafs.ACL.Entry)">containsPositiveEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this ACL contains the specified ACL entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#equals(org.openafs.jafs.ACL)">equals</A></B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;acl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether two <code>ACL</code> objects are equal, based on their 
+ paths and permission bits.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#flush()">flush</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the ACL to AFS, making all changes immediately effective.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getDeltaACL(org.openafs.jafs.ACL)">getDeltaACL</A></B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;acl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a "Delta ACL", which is an ACL that represents only the difference
+ (delta) of two ACLs, relative to the current ACL instance by the provided
+ ACL specified by <code>acl</code>.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getEntryCount()">getEntryCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of ACL entries, this is the sum of positive
+ and negative entries.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getNegativeEntries()">getNegativeEntries</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all negative ACL entries for this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getNegativeEntry(java.lang.String)">getNegativeEntry</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the negative ACL entry associated with the specified 
+ user/group name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getNegativeEntryCount()">getNegativeEntryCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of negative ACL entries for this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getNegativeExpungeEntries()">getNegativeExpungeEntries</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all negative ACL entries to be expunged; used in Delta ACLs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getPath()">getPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the path this ACL instance is bound to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getPositiveEntries()">getPositiveEntries</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all positive ACL entries for this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getPositiveEntry(java.lang.String)">getPositiveEntry</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the positive ACL entry associated with the specified 
+ user/group name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getPositiveEntryCount()">getPositiveEntryCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of positive ACL entries for this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getPositiveExpungeEntries()">getPositiveExpungeEntries</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all positive ACL entries to be expunged; used in Delta ACLs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#removeAllNegativeEntries()">removeAllNegativeEntries</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all negative ACL entries from this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#removeAllPositiveEntries()">removeAllPositiveEntries</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all positive ACL entries from this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#removeNegativeEntry(org.openafs.jafs.ACL.Entry)">removeNegativeEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a single negative ACL entry from this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#removePositiveEntry(org.openafs.jafs.ACL.Entry)">removePositiveEntry</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a single positive ACL entry from this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#setNegativeEntries(org.openafs.jafs.ACL.Entry[])">setNegativeEntries</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the complete array of negative ACL entries to the provided
+ ACL entry list (<code>entries</code>) for this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#setPositiveEntries(org.openafs.jafs.ACL.Entry[])">setPositiveEntries</A></B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the complete array of positive ACL entries to the provided
+ ACL entry list (<code>entries</code>) for this ACL instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a String representation of this <CODE>ACL</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#update(org.openafs.jafs.ACL)">update</A></B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;delta)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updates the current ACL instance by replacing, adding, or deleting 
+ ACL entries designated by the specified Delta ACL (<code>delta</code>).
+
+ </TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ACL(java.lang.String)"><!-- --></A><H3>
+ACL</H3>
+<PRE>
+public <B>ACL</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;path)
+    throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ACL(java.lang.String, boolean)"><!-- --></A><H3>
+ACL</H3>
+<PRE>
+public <B>ACL</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;path,
+           boolean&nbsp;init)
+    throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getEntryCount()"><!-- --></A><H3>
+getEntryCount</H3>
+<PRE>
+public int <B>getEntryCount</B>()</PRE>
+<DL>
+<DD>Returns the total number of ACL entries, this is the sum of positive
+ and negative entries.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Total number of ACL entries</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath()"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getPath</B>()</PRE>
+<DL>
+<DD>Returns the path this ACL instance is bound to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Path for this ACL</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="flush()"><!-- --></A><H3>
+flush</H3>
+<PRE>
+public void <B>flush</B>()
+           throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Writes the ACL to AFS, making all changes immediately effective.
+ This method requires an active connection to AFS.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPositiveEntryCount()"><!-- --></A><H3>
+getPositiveEntryCount</H3>
+<PRE>
+public int <B>getPositiveEntryCount</B>()</PRE>
+<DL>
+<DD>Returns the number of positive ACL entries for this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Positive ACL entry count</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPositiveEntries()"><!-- --></A><H3>
+getPositiveEntries</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[] <B>getPositiveEntries</B>()</PRE>
+<DL>
+<DD>Returns all positive ACL entries for this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>All positive ACL entries</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPositiveEntry(java.lang.String)"><!-- --></A><H3>
+getPositiveEntry</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A> <B>getPositiveEntry</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</PRE>
+<DL>
+<DD>Returns the positive ACL entry associated with the specified 
+ user/group name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - Name of user/group for desired ACL entry.
+<DT><B>Returns:</B><DD>Positive ACL entry<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getUser()"><CODE>ACL.Entry.getUser()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPositiveExpungeEntries()"><!-- --></A><H3>
+getPositiveExpungeEntries</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[] <B>getPositiveExpungeEntries</B>()</PRE>
+<DL>
+<DD>Returns all positive ACL entries to be expunged; used in Delta ACLs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>All positive ACL entries</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="containsPositiveEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+containsPositiveEntry</H3>
+<PRE>
+public boolean <B>containsPositiveEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</PRE>
+<DL>
+<DD>Returns <code>true</code> if this ACL contains the specified ACL entry.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - Positive ACL entry
+<DT><B>Returns:</B><DD><code>true</code> if the specified ACL entry is present; 
+         <code>false</code> otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addPositiveEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+addPositiveEntry</H3>
+<PRE>
+public void <B>addPositiveEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)
+                      throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Adds a single positive ACL entry to this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - ACL.Entry object to add
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addPositiveEntries(org.openafs.jafs.ACL.Entry[])"><!-- --></A><H3>
+addPositiveEntries</H3>
+<PRE>
+public void <B>addPositiveEntries</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)
+                        throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Adds the provided list of positive ACL entries to this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entries</CODE> - Array of ACL.Entry objects to add
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPositiveEntries(org.openafs.jafs.ACL.Entry[])"><!-- --></A><H3>
+setPositiveEntries</H3>
+<PRE>
+public void <B>setPositiveEntries</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)
+                        throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the complete array of positive ACL entries to the provided
+ ACL entry list (<code>entries</code>) for this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entries</CODE> - Array of ACL.Entry objects that represent this
+                ACL's positive entry list.
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addPositiveExpungeEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+addPositiveExpungeEntry</H3>
+<PRE>
+public void <B>addPositiveExpungeEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Add a positive ACL entry to the list of positive ACL entries to be 
+ expunged; used in Delta ACLs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - Positive ACL entries to be expunged.
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removePositiveEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+removePositiveEntry</H3>
+<PRE>
+public void <B>removePositiveEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)
+                         throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes a single positive ACL entry from this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - ACL.Entry object to removed
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAllPositiveEntries()"><!-- --></A><H3>
+removeAllPositiveEntries</H3>
+<PRE>
+public void <B>removeAllPositiveEntries</B>()
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes all positive ACL entries from this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNegativeEntryCount()"><!-- --></A><H3>
+getNegativeEntryCount</H3>
+<PRE>
+public int <B>getNegativeEntryCount</B>()</PRE>
+<DL>
+<DD>Returns the number of negative ACL entries for this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Negative ACL entry count</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNegativeEntries()"><!-- --></A><H3>
+getNegativeEntries</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[] <B>getNegativeEntries</B>()</PRE>
+<DL>
+<DD>Returns all negative ACL entries for this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>All negative ACL entries</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNegativeEntry(java.lang.String)"><!-- --></A><H3>
+getNegativeEntry</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A> <B>getNegativeEntry</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</PRE>
+<DL>
+<DD>Returns the negative ACL entry associated with the specified 
+ user/group name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - Name of user/group for desired ACL entry.
+<DT><B>Returns:</B><DD>Negative ACL entry<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getUser()"><CODE>ACL.Entry.getUser()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNegativeExpungeEntries()"><!-- --></A><H3>
+getNegativeExpungeEntries</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[] <B>getNegativeExpungeEntries</B>()</PRE>
+<DL>
+<DD>Returns all negative ACL entries to be expunged; used in Delta ACLs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>All negative ACL entries to be expunged.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="containsNegative(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+containsNegative</H3>
+<PRE>
+public boolean <B>containsNegative</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)</PRE>
+<DL>
+<DD>Returns <code>true</code> if this ACL contains the specified ACL entry.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - Negative ACL entry
+<DT><B>Returns:</B><DD><code>true</code> if the specified ACL entry is present; 
+         <code>false</code> otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNegativeEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+addNegativeEntry</H3>
+<PRE>
+public void <B>addNegativeEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)
+                      throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Adds a single negative ACL entry to this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - ACL.Entry object to add
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNegativeEntries(org.openafs.jafs.ACL.Entry[])"><!-- --></A><H3>
+addNegativeEntries</H3>
+<PRE>
+public void <B>addNegativeEntries</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)
+                        throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Adds the provided list of negative ACL entries to this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entries</CODE> - Array of ACL.Entry objects to add
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNegativeExpungeEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+addNegativeExpungeEntry</H3>
+<PRE>
+public void <B>addNegativeExpungeEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Add a negative ACL entry to the list of negative ACL entries to be 
+ expunged; used in Delta ACLs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - Negative ACL entries to be expunged.
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNegativeEntries(org.openafs.jafs.ACL.Entry[])"><!-- --></A><H3>
+setNegativeEntries</H3>
+<PRE>
+public void <B>setNegativeEntries</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>[]&nbsp;entries)
+                        throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the complete array of negative ACL entries to the provided
+ ACL entry list (<code>entries</code>) for this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entries</CODE> - Array of ACL.Entry objects that represent this
+                ACL's negative entry list.
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNegativeEntry(org.openafs.jafs.ACL.Entry)"><!-- --></A><H3>
+removeNegativeEntry</H3>
+<PRE>
+public void <B>removeNegativeEntry</B>(<A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A>&nbsp;entry)
+                         throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes a single negative ACL entry from this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entry</CODE> - ACL.Entry object to removed
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAllNegativeEntries()"><!-- --></A><H3>
+removeAllNegativeEntries</H3>
+<PRE>
+public void <B>removeAllNegativeEntries</B>()
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes all negative ACL entries from this ACL instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDeltaACL(org.openafs.jafs.ACL)"><!-- --></A><H3>
+getDeltaACL</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/ACL.html">ACL</A> <B>getDeltaACL</B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;acl)
+                throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns a "Delta ACL", which is an ACL that represents only the difference
+ (delta) of two ACLs, relative to the current ACL instance by the provided
+ ACL specified by <code>acl</code>.
+
+ <P> This ACL instance represents the base or reference object while the 
+ provided ACL (<code>acl</code>) represents the object in question. 
+ Therefore, if the provided ACL has an entry that differs from the base ACL,
+ then the resulting Delta ACL will contain that entry found in the provided 
+ ACL; base ACL entries are never entered into the Delta ACL, but rather are
+ used solely for comparison.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>acl</CODE> - the ACL to compare this ACL instance to
+<DT><B>Returns:</B><DD>Delta ACL by comparing this ACL instance with <code>acl</code>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="update(org.openafs.jafs.ACL)"><!-- --></A><H3>
+update</H3>
+<PRE>
+public void <B>update</B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;delta)
+            throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Updates the current ACL instance by replacing, adding, or deleting 
+ ACL entries designated by the specified Delta ACL (<code>delta</code>).
+
+ <P> If the provided Delta ACL has an entry that differs from this ACL 
+ instance, then the ACL entry of the Delta ACL will be set.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>delta</CODE> - the Delta ACL to be applied to this ACL instance
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.ACL)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;acl)</PRE>
+<DL>
+<DD>Compares two ACL objects respective to their paths and does not
+ factor any other attribute.    Alphabetic case is significant in 
+ comparing names.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>acl</CODE> - The ACL object to be compared to this ACL
+                   instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this ACL's path, a
+               value less than zero if this ACL's path is
+               lexicographically less than the argument, or a value greater
+               than zero if this ACL's path is lexicographically
+               greater than the argument</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(java.lang.Object)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</PRE>
+<DL>
+<DD>Comparable interface method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>compareTo</CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Comparable.html">Comparable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.html#compareTo(org.openafs.jafs.ACL)"><CODE>compareTo(ACL)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.ACL)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/ACL.html">ACL</A>&nbsp;acl)</PRE>
+<DL>
+<DD>Tests whether two <code>ACL</code> objects are equal, based on their 
+ paths and permission bits.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>acl</CODE> - the ACL to test
+<DT><B>Returns:</B><DD>whether the specifed ACL is the same as this ACL</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a String representation of this <CODE>ACL</CODE>
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representation of this <CODE>ACL</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ACL.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ACL.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/AFSAdminException.html b/AFSLore/JavaAdminAPI/AFSAdminException.html
new file mode 100644 (file)
index 0000000..a5e81e7
--- /dev/null
@@ -0,0 +1,336 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">\r
+<!--NewPage-->\r
+<HTML>\r
+<HEAD>\r
+<!-- Generated by javadoc on Wed Apr 10 17:43:54 PDT 2002 -->\r
+<TITLE>\r
+Java AFS Admin API: Class  AFSAdminException\r
+</TITLE>\r
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">\r
+</HEAD>\r
+<BODY BGCOLOR="white">\r
+\r
+<!-- ========== START OF NAVBAR ========== -->\r
+<A NAME="navbar_top"><!-- --></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_top_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSAdminException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+<B>Java AFS Admin API v1.3</B></EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;PREV CLASS&nbsp;\r
+&nbsp;NEXT CLASS</FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="AFSAdminException.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<!-- =========== END OF NAVBAR =========== -->\r
+\r
+<HR>\r
+<!-- ======== START OF CLASS DATA ======== -->\r
+<H2>\r
+<FONT SIZE="-1">\r
+org.openafs.jafsadm</FONT>\r
+<BR>\r
+Class  AFSAdminException</H2>\r
+<PRE>\r
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">java.lang.Object</A>\r
+  |\r
+  +--<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html">java.lang.Throwable</A>\r
+        |\r
+        +--<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html">java.lang.Exception</A>\r
+              |\r
+              +--<B>org.openafs.jafsadm.AFSAdminException</B>\r
+</PRE>\r
+<DL>\r
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html">Serializable</A></DD>\r
+</DL>\r
+<HR>\r
+<DL>\r
+<DT>public class <B>AFSAdminException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html">Exception</A></DL>\r
+\r
+<P>\r
+An exception indicating that an error has occured in the Java AFS \r
+ Administrative API, in the Java AFS Administrative JNI, or in the \r
+ AFS file system.\r
+<P>\r
+<DL>\r
+<DT><B>Version: </B><DD>1.0, 6/29/01</DD>\r
+<DT><B>See Also: </B><DD><A HREF="../../../serialized-form.html#org.openafs.jafsadm.AFSAdminException">Serialized Form</A></DL>\r
+<HR>\r
+\r
+<P>\r
+<!-- ======== INNER CLASS SUMMARY ======== -->\r
+\r
+\r
+<!-- =========== FIELD SUMMARY =========== -->\r
+\r
+\r
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
+\r
+<A NAME="constructor_summary"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TD COLSPAN=2><FONT SIZE="+2">\r
+<B>Constructor Summary</B></FONT></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="AFSAdminException.html#AFSAdminException(int)">AFSAdminException</A></B>(int&nbsp;errno)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a <code>AFSAdminException</code> with the specified error \r
+ code.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="AFSAdminException.html#AFSAdminException(java.lang.String)">AFSAdminException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A>&nbsp;message)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a <code>AFSAdminException</code> with the specified detail \r
+ message.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="AFSAdminException.html#AFSAdminException(java.lang.String, int)">AFSAdminException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A>&nbsp;message,\r
+                  int&nbsp;errno)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a <code>AFSAdminException</code> with the specified detail \r
+ message\r
+ and specified error code.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<!-- ========== METHOD SUMMARY =========== -->\r
+\r
+<A NAME="method_summary"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TD COLSPAN=2><FONT SIZE="+2">\r
+<B>Method Summary</B></FONT></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="AFSAdminException.html#getErrorCode()">getErrorCode</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS specific error code (number).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="AFSAdminException.html#getMessage()">getMessage</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the error message string of this Exception.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="AFSAdminException.html#toString()">toString</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a String representation of this AFS Exception.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html">Throwable</A></B></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#fillInStackTrace()">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getLocalizedMessage()">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#printStackTrace()">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)">printStackTrace</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A></B></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<P>\r
+\r
+<!-- ============ FIELD DETAIL =========== -->\r
+\r
+\r
+<!-- ========= CONSTRUCTOR DETAIL ======== -->\r
+\r
+<A NAME="constructor_detail"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TD COLSPAN=1><FONT SIZE="+2">\r
+<B>Constructor Detail</B></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="AFSAdminException(java.lang.String)"><!-- --></A><H3>\r
+AFSAdminException</H3>\r
+<PRE>\r
+public <B>AFSAdminException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A>&nbsp;message)</PRE>\r
+<DL>\r
+<DD>Constructs a <code>AFSAdminException</code> with the specified detail \r
+ message.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - the detail message.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="AFSAdminException(int)"><!-- --></A><H3>\r
+AFSAdminException</H3>\r
+<PRE>\r
+public <B>AFSAdminException</B>(int&nbsp;errno)</PRE>\r
+<DL>\r
+<DD>Constructs a <code>AFSAdminException</code> with the specified error \r
+ code.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - the AFS error code (error number).</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="AFSAdminException(java.lang.String, int)"><!-- --></A><H3>\r
+AFSAdminException</H3>\r
+<PRE>\r
+public <B>AFSAdminException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A>&nbsp;message,\r
+                         int&nbsp;errno)</PRE>\r
+<DL>\r
+<DD>Constructs a <code>AFSAdminException</code> with the specified detail \r
+ message\r
+ and specified error code.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - the detail message.<DD><CODE>errno</CODE> - the AFS error code (error number).</DL>\r
+</DD>\r
+</DL>\r
+\r
+<!-- ============ METHOD DETAIL ========== -->\r
+\r
+<A NAME="method_detail"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TD COLSPAN=1><FONT SIZE="+2">\r
+<B>Method Detail</B></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="getErrorCode()"><!-- --></A><H3>\r
+getErrorCode</H3>\r
+<PRE>\r
+public int <B>getErrorCode</B>()</PRE>\r
+<DL>\r
+<DD>Returns the AFS specific error code (number).  This code can be used for\r
+ numeric conditional handling or for indexing in a message catalog.<DD><DL>\r
+<DT><B>Returns:</B><DD>the AFS error code of this <code>AFSAdminException</code>\r
+          object.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMessage()"><!-- --></A><H3>\r
+getMessage</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> <B>getMessage</B>()</PRE>\r
+<DL>\r
+<DD>Returns the error message string of this Exception.  By default only the\r
+ AFS error code (number) is returned returned by the system and used to \r
+ construct this exception object, thus this method will render a simple\r
+ string that reveals the AFS error code.\r
+\r
+ <P> Example: "Message not available. Error code: 180484"<DD><DL>\r
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getMessage()">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Returns:</B><DD>the error message string of this <code>AFSAdminException</code> \r
+          object.<DT><B>See Also: </B><DD><A HREF="AFSAdminException.html#getErrorCode()"><CODE>getErrorCode()</CODE></A></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="toString()"><!-- --></A><H3>\r
+toString</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>\r
+<DL>\r
+<DD>Returns a String representation of this AFS Exception.\r
+\r
+ <P> The message will be formatted according to the specified Locale.<DD><DL>\r
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Returns:</B><DD>the AFS error message string of this \r
+          <code>AFSAdminException</code> object.<DT><B>See Also: </B><DD><A HREF="AFSAdminException.html#getMessage()"><CODE>getMessage()</CODE></A></DL>\r
+</DD>\r
+</DL>\r
+<!-- ========= END OF CLASS DATA ========= -->\r
+<HR>\r
+\r
+<!-- ========== START OF NAVBAR ========== -->\r
+<A NAME="navbar_bottom"><!-- --></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_bottom_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSAdminException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+Java AFS Admin (jafsadm) API for OpenAFS</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;PREV CLASS&nbsp;\r
+&nbsp;NEXT CLASS</FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="AFSAdminException.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<!-- =========== END OF NAVBAR =========== -->\r
+\r
+<HR>\r
+<FONT FACE=Arial,Helvetica SIZE="1">Copyright (c) 2001-2002 International Business Machines Corp.<BR>  All rights reserved.<BR>  See <A HREF=copyright.html>copyright statement</A>.<BR></FONT>\r
+</BODY>\r
+</HTML>\r
+\r
+\r
diff --git a/AFSLore/JavaAdminAPI/AFSException.html b/AFSLore/JavaAdminAPI/AFSException.html
new file mode 100644 (file)
index 0000000..4eacc80
--- /dev/null
@@ -0,0 +1,509 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:40 PDT 2003 -->
+<TITLE>
+AFSException (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.AFSException,AFSException class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AFSException (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSFileException.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSException.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class AFSException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">java.lang.Throwable</A>
+        |
+        +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">java.lang.Exception</A>
+              |
+              +--<B>org.openafs.jafs.AFSException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>AFSException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></DL>
+
+<P>
+An exception indicating that an error has occurred in the Java AFS 
+ API, in the Java AFS JNI, or in the AFS file system.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>1.0, 04/16/2001</DD>
+<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html"><CODE>Exception</CODE></A>, 
+<A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.AFSException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#errno">errno</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AFS specific error number (code).</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.lang.Exception"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#AFSException(int)">AFSException</A></B>(int&nbsp;errno)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSException</code> with the specified error code. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#AFSException(java.lang.String)">AFSException</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSException</code> with the specified detail
+ message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#AFSException(java.lang.String, int)">AFSException</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason,
+             int&nbsp;errno)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSException</code> with the specified detail message
+ and specified error code.  </TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage()">getAFSMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS error message string defined by the <code>ErrorTable
+ </code> class.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage(java.util.Locale)">getAFSMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS error message defined by the <code>ErrorTable</code>
+ class.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS specific error number (code).  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the error message string of this exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#getMessage(java.util.Locale)">getMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the locale specific error message string of this exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation of this AFS Exception.
+
+ </TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#fillInStackTrace()">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getCause()">getCause</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getLocalizedMessage()">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getStackTrace()">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#initCause(java.lang.Throwable)">initCause</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace()">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])">setStackTrace</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="errno"><!-- --></A><H3>
+errno</H3>
+<PRE>
+protected int <B>errno</B></PRE>
+<DL>
+<DD>The AFS specific error number (code).
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html#getErrorCode()"><CODE>getErrorCode()</CODE></A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AFSException(java.lang.String)"><!-- --></A><H3>
+AFSException</H3>
+<PRE>
+public <B>AFSException</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason)</PRE>
+<DL>
+<DD>Constructs an <code>AFSException</code> with the specified detail
+ message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>reason</CODE> - the detail message.</DL>
+<HR>
+
+<A NAME="AFSException(int)"><!-- --></A><H3>
+AFSException</H3>
+<PRE>
+public <B>AFSException</B>(int&nbsp;errno)</PRE>
+<DL>
+<DD>Constructs an <code>AFSException</code> with the specified error code. 
+ This constructor will also generate the appropriate error message
+ respective to the specified error code.
+<P>
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - the AFS error number (error code).</DL>
+<HR>
+
+<A NAME="AFSException(java.lang.String, int)"><!-- --></A><H3>
+AFSException</H3>
+<PRE>
+public <B>AFSException</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason,
+                    int&nbsp;errno)</PRE>
+<DL>
+<DD>Constructs an <code>AFSException</code> with the specified detail message
+ and specified error code.  In this constructor the specified detail message
+ overrides the default AFS error message defined by the
+ <code>ErrorTable</code> class.  Therefore, to retrieve the AFS specific 
+ error message, you must use the <code><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></code> method.
+ The <code><A HREF="../../../org/openafs/jafs/AFSException.html#getMessage()"><CODE>getMessage()</CODE></A></code> method will return the message specified 
+ in this constructor.
+<P>
+<DT><B>Parameters:</B><DD><CODE>reason</CODE> - the detail message.<DD><CODE>errno</CODE> - the AFS error number (error code).</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getErrorCode()"><!-- --></A><H3>
+getErrorCode</H3>
+<PRE>
+public int <B>getErrorCode</B>()</PRE>
+<DL>
+<DD>Returns the AFS specific error number (code).  This code can be interpreted 
+ by use of the <code><A HREF="../../../org/openafs/jafs/ErrorTable.html"><CODE>ErrorTable</CODE></A></code> class method 
+ <code><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error code of this <code>AFSException</code> 
+          object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>()</PRE>
+<DL>
+<DD>Returns the error message string of this exception.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getMessage()">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage(java.util.Locale)"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</PRE>
+<DL>
+<DD>Returns the locale specific error message string of this exception.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>locale</CODE> - the locale for which this message will be displayed
+<DT><B>Returns:</B><DD>the error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAFSMessage()"><!-- --></A><H3>
+getAFSMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getAFSMessage</B>()</PRE>
+<DL>
+<DD>Returns the AFS error message string defined by the <code>ErrorTable
+ </code> class.  The message will be formatted according to the default
+ Locale.
+
+ <P> This message is also available from this object's super class
+ method <code>getMessage</code>. However, this method will always return
+ the string message associated with the actual AFS error code/number
+ specified, whereas the <A HREF="../../../org/openafs/jafs/AFSException.html#getMessage()"><CODE>getMessage()</CODE></A> method will return the
+ string message intended for this Exception object, which may be
+ an overridden message defined in the constructor of this Exception.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage(java.util.Locale)"><CODE>getAFSMessage(Locale)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/AFSException.html#AFSException(java.lang.String, int)"><CODE>AFSException(String, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAFSMessage(java.util.Locale)"><!-- --></A><H3>
+getAFSMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getAFSMessage</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</PRE>
+<DL>
+<DD>Returns the AFS error message defined by the <code>ErrorTable</code>
+ class.  The message will be formatted according to the specified Locale.
+
+ <P> This message is also available from this object's super class
+ method <code>getMessage</code>. However, this method will always return
+ the string message associated with the actual AFS error code/number
+ specified, whereas the <A HREF="../../../org/openafs/jafs/AFSException.html#getMessage()"><CODE>getMessage()</CODE></A> method will return the
+ string message intended for this Exception object, which may be
+ an overridden message defined in the constructor of this Exception.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>locale</CODE> - the locale for which this message will be displayed
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/AFSException.html#AFSException(java.lang.String, int)"><CODE>AFSException(String, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int, java.util.Locale)"><CODE>ErrorTable.getMessage(int, Locale)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a string representation of this AFS Exception.
+
+ <P> The message will be formatted according to the specified Locale.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSFileException.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSException.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/AFSFileException.html b/AFSLore/JavaAdminAPI/AFSFileException.html
new file mode 100644 (file)
index 0000000..ebb8be9
--- /dev/null
@@ -0,0 +1,511 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:40 PDT 2003 -->
+<TITLE>
+AFSFileException (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.AFSFileException,AFSFileException class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AFSFileException (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSFileException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSException.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSSecurityException.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSFileException.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class AFSFileException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">java.lang.Throwable</A>
+        |
+        +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">java.lang.Exception</A>
+              |
+              +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html">java.io.IOException</A>
+                    |
+                    +--<B>org.openafs.jafs.AFSFileException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>AFSFileException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html">IOException</A></DL>
+
+<P>
+An exception indicating that a file related error has occured in the 
+ Java AFS API, in the Java AFS JNI, or in the AFS file system.
+
+ <P> This exception extends Java's <code>java.io.IOException</code>
+ and is therefore often used as a substitution for
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html"><CODE>IOException</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>2.0, 04/16/2001, 1.0, 05/25/2000</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A>, 
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html"><CODE>IOException</CODE></A>, 
+<A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.AFSFileException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#errno">errno</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AFS specific error number (code).</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.lang.Exception"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#AFSFileException(int)">AFSFileException</A></B>(int&nbsp;errno)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSFileException</code> with the specified error
+ code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#AFSFileException(java.lang.String)">AFSFileException</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSFileException</code> with the specified detail
+ message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#AFSFileException(java.lang.String, int)">AFSFileException</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason,
+                 int&nbsp;errno)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSFileException</code> with the specified detail
+ message and specified error code.  </TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage()">getAFSMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS error message string defined by the <code>ErrorTable
+ </code> class.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage(java.util.Locale)">getAFSMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS error message defined by the <code>ErrorTable</code>
+ class.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS specific error number (code).  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the error message string of this exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage(java.util.Locale)">getMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the locale specific error message string of this exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation of this AFS Exception.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#fillInStackTrace()">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getCause()">getCause</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getLocalizedMessage()">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getStackTrace()">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#initCause(java.lang.Throwable)">initCause</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace()">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])">setStackTrace</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="errno"><!-- --></A><H3>
+errno</H3>
+<PRE>
+protected int <B>errno</B></PRE>
+<DL>
+<DD>The AFS specific error number (code).
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()"><CODE>getErrorCode()</CODE></A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AFSFileException(java.lang.String)"><!-- --></A><H3>
+AFSFileException</H3>
+<PRE>
+public <B>AFSFileException</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason)</PRE>
+<DL>
+<DD>Constructs an <code>AFSFileException</code> with the specified detail
+ message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>reason</CODE> - the detail message.</DL>
+<HR>
+
+<A NAME="AFSFileException(int)"><!-- --></A><H3>
+AFSFileException</H3>
+<PRE>
+public <B>AFSFileException</B>(int&nbsp;errno)</PRE>
+<DL>
+<DD>Constructs an <code>AFSFileException</code> with the specified error
+ code. This constructor will also generate the appropriate error message
+ respective to the specified error code.
+<P>
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - the AFS error number (error code).</DL>
+<HR>
+
+<A NAME="AFSFileException(java.lang.String, int)"><!-- --></A><H3>
+AFSFileException</H3>
+<PRE>
+public <B>AFSFileException</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason,
+                        int&nbsp;errno)</PRE>
+<DL>
+<DD>Constructs an <code>AFSFileException</code> with the specified detail
+ message and specified error code.  In this constructor the specified
+ detail message overrides the default AFS error message defined by the
+ <code>ErrorTable</code> class.  Therefore, to retrieve the AFS specific 
+ error message, you must use the <code><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A>
+ </code> method. The <code><A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>getMessage()</CODE></A></code> method will return
+ the message specified in this constructor.
+<P>
+<DT><B>Parameters:</B><DD><CODE>reason</CODE> - the detail message.<DD><CODE>errno</CODE> - the AFS error number (error code).<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getErrorCode()"><!-- --></A><H3>
+getErrorCode</H3>
+<PRE>
+public int <B>getErrorCode</B>()</PRE>
+<DL>
+<DD>Returns the AFS specific error number (code).  This code can be interpreted 
+ by use of the <code><A HREF="../../../org/openafs/jafs/ErrorTable.html"><CODE>ErrorTable</CODE></A></code> class method 
+ <code><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error code of this <code>AFSException</code> 
+          object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>()</PRE>
+<DL>
+<DD>Returns the error message string of this exception.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getMessage()">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage(java.util.Locale)"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</PRE>
+<DL>
+<DD>Returns the locale specific error message string of this exception.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>locale</CODE> - the locale for which this message will be displayed
+<DT><B>Returns:</B><DD>the error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAFSMessage()"><!-- --></A><H3>
+getAFSMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getAFSMessage</B>()</PRE>
+<DL>
+<DD>Returns the AFS error message string defined by the <code>ErrorTable
+ </code> class.  The message will be formatted according to the default
+ Locale.
+
+ <P> This message is also available from this object's super class
+ method <code>getMessage</code>. However, this method will always return
+ the string message associated with the actual AFS error code/number
+ specified, whereas the <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>getMessage()</CODE></A> method will return the
+ string message intended for this Exception object, which may be
+ an overridden message defined in the constructor of this Exception.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage(java.util.Locale)"><CODE>getAFSMessage(Locale)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/AFSFileException.html#AFSFileException(java.lang.String, int)"><CODE>AFSFileException(String, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAFSMessage(java.util.Locale)"><!-- --></A><H3>
+getAFSMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getAFSMessage</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</PRE>
+<DL>
+<DD>Returns the AFS error message defined by the <code>ErrorTable</code>
+ class.  The message will be formatted according to the specified Locale.
+
+ <P> This message is also available from this object's super class
+ method <code>getMessage</code>. However, this method will always return
+ the string message associated with the actual AFS error code/number
+ specified, whereas the <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>getMessage()</CODE></A> method will return the
+ string message intended for this Exception object, which may be
+ an overridden message defined in the constructor of this Exception.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>locale</CODE> - the locale for which this message will be displayed
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/AFSFileException.html#AFSFileException(java.lang.String, int)"><CODE>AFSFileException(String, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int, java.util.Locale)"><CODE>ErrorTable.getMessage(int, Locale)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a string representation of this AFS Exception.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string of this 
+          <code>AFSFileException</code> object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>getMessage()</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSFileException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSException.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSSecurityException.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSFileException.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/AFSLibraryLoader.html b/AFSLore/JavaAdminAPI/AFSLibraryLoader.html
new file mode 100644 (file)
index 0000000..34f919a
--- /dev/null
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:36 PDT 2003 -->
+<TITLE>
+AFSLibraryLoader (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.AFSLibraryLoader,AFSLibraryLoader class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AFSLibraryLoader (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSLibraryLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSLibraryLoader.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class AFSLibraryLoader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<B>org.openafs.jafs.AFSLibraryLoader</B>
+</PRE>
+<HR>
+<DL>
+<DT> class <B>AFSLibraryLoader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></DL>
+
+<P>
+Class that loads the native libraries required for direct communication with
+ AFS. Since the Token class is serializable the function of loading the 
+ native libraries must be performed in a non-serialized class, one that will
+ not be included in any client side application packages.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>1.0, 06/13/2001</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private)</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html#AFSLibraryLoader()">AFSLibraryLoader</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#toString()">toString</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AFSLibraryLoader()"><!-- --></A><H3>
+AFSLibraryLoader</H3>
+<PRE>
+<B>AFSLibraryLoader</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSLibraryLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/ACL.Entry.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSLibraryLoader.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/AFSSecurityException.html b/AFSLore/JavaAdminAPI/AFSSecurityException.html
new file mode 100644 (file)
index 0000000..55c4062
--- /dev/null
@@ -0,0 +1,508 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:40 PDT 2003 -->
+<TITLE>
+AFSSecurityException (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.AFSSecurityException,AFSSecurityException class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AFSSecurityException (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSSecurityException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSFileException.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSSecurityException.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class AFSSecurityException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">java.lang.Throwable</A>
+        |
+        +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">java.lang.Exception</A>
+              |
+              +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/RuntimeException.html">java.lang.RuntimeException</A>
+                    |
+                    +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/SecurityException.html">java.lang.SecurityException</A>
+                          |
+                          +--<B>org.openafs.jafs.AFSSecurityException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>AFSSecurityException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/SecurityException.html">SecurityException</A></DL>
+
+<P>
+An exception indicating that a security related error has occured in the
+ Java AFS API, in the Java AFS JNI, or in the AFS file system.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>1.0, 04/16/2001</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A>, 
+<A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.AFSSecurityException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#errno">errno</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AFS specific error number (code).</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.lang.RuntimeException"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/RuntimeException.html">RuntimeException</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#AFSSecurityException(int)">AFSSecurityException</A></B>(int&nbsp;errno)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSSecurityException</code> with the specified error
+ code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#AFSSecurityException(java.lang.String)">AFSSecurityException</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSSecurityException</code> with the specified detail
+ message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#AFSSecurityException(java.lang.String, int)">AFSSecurityException</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason,
+                     int&nbsp;errno)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AFSFileException</code> with the specified detail
+ message and specified error code.  </TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage()">getAFSMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS error message string defined by the <code>ErrorTable
+ </code> class.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage(java.util.Locale)">getAFSMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS error message defined by the <code>ErrorTable</code>
+ class.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the AFS specific error number (code).  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the error message string of this exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getMessage(java.util.Locale)">getMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the locale specific error message string of this exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation of this AFS Exception.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#fillInStackTrace()">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getCause()">getCause</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getLocalizedMessage()">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getStackTrace()">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#initCause(java.lang.Throwable)">initCause</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace()">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintStream)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter)">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])">setStackTrace</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="errno"><!-- --></A><H3>
+errno</H3>
+<PRE>
+protected int <B>errno</B></PRE>
+<DL>
+<DD>The AFS specific error number (code).
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getErrorCode()"><CODE>getErrorCode()</CODE></A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AFSSecurityException(java.lang.String)"><!-- --></A><H3>
+AFSSecurityException</H3>
+<PRE>
+public <B>AFSSecurityException</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason)</PRE>
+<DL>
+<DD>Constructs an <code>AFSSecurityException</code> with the specified detail
+ message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>reason</CODE> - the detail message.</DL>
+<HR>
+
+<A NAME="AFSSecurityException(int)"><!-- --></A><H3>
+AFSSecurityException</H3>
+<PRE>
+public <B>AFSSecurityException</B>(int&nbsp;errno)</PRE>
+<DL>
+<DD>Constructs an <code>AFSSecurityException</code> with the specified error
+ code. This constructor will also generate the appropriate error message
+ respective to the specified error code.
+<P>
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - the AFS error number (error code).</DL>
+<HR>
+
+<A NAME="AFSSecurityException(java.lang.String, int)"><!-- --></A><H3>
+AFSSecurityException</H3>
+<PRE>
+public <B>AFSSecurityException</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;reason,
+                            int&nbsp;errno)</PRE>
+<DL>
+<DD>Constructs an <code>AFSFileException</code> with the specified detail
+ message and specified error code.  In this constructor the specified
+ detail message overrides the default AFS error message defined by the
+ <code>ErrorTable</code> class.  Therefore, to retrieve the AFS specific 
+ error message, you must use the <code><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A>
+ </code> method. The <code><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getMessage()"><CODE>getMessage()</CODE></A></code> method will return
+ the message specified in this constructor.
+<P>
+<DT><B>Parameters:</B><DD><CODE>reason</CODE> - the detail message.<DD><CODE>errno</CODE> - the AFS error number (error code).<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getErrorCode()"><!-- --></A><H3>
+getErrorCode</H3>
+<PRE>
+public int <B>getErrorCode</B>()</PRE>
+<DL>
+<DD>Returns the AFS specific error number (code).  This code can be interpreted 
+ by use of the <code><A HREF="../../../org/openafs/jafs/ErrorTable.html"><CODE>ErrorTable</CODE></A></code> class method 
+ <code><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error code of this <code>AFSException</code> 
+          object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>()</PRE>
+<DL>
+<DD>Returns the error message string of this exception.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#getMessage()">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage(java.util.Locale)"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</PRE>
+<DL>
+<DD>Returns the locale specific error message string of this exception.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>locale</CODE> - the locale for which this message will be displayed
+<DT><B>Returns:</B><DD>the error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAFSMessage()"><!-- --></A><H3>
+getAFSMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getAFSMessage</B>()</PRE>
+<DL>
+<DD>Returns the AFS error message string defined by the <code>ErrorTable
+ </code> class.  The message will be formatted according to the default
+ Locale.
+
+ <P> This message is also available from this object's super class
+ method <code>getMessage</code>. However, this method will always return
+ the string message associated with the actual AFS error code/number
+ specified, whereas the <A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getMessage()"><CODE>getMessage()</CODE></A> method will return the
+ string message intended for this Exception object, which may be
+ an overridden message defined in the constructor of this Exception.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage(java.util.Locale)"><CODE>getAFSMessage(Locale)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/AFSSecurityException.html#AFSSecurityException(java.lang.String, int)"><CODE>AFSSecurityException(String, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAFSMessage(java.util.Locale)"><!-- --></A><H3>
+getAFSMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getAFSMessage</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A>&nbsp;locale)</PRE>
+<DL>
+<DD>Returns the AFS error message defined by the <code>ErrorTable</code>
+ class.  The message will be formatted according to the specified Locale.
+
+ <P> This message is also available from this object's super class
+ method <code>getMessage</code>. However, this method will always return
+ the string message associated with the actual AFS error code/number
+ specified, whereas the <A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getMessage()"><CODE>getMessage()</CODE></A> method will return the
+ string message intended for this Exception object, which may be
+ an overridden message defined in the constructor of this Exception.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>locale</CODE> - the locale for which this message will be displayed
+<DT><B>Returns:</B><DD>the AFS error message string of this exception object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getAFSMessage()"><CODE>getAFSMessage()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/AFSSecurityException.html#AFSSecurityException(java.lang.String, int)"><CODE>AFSSecurityException(String, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int, java.util.Locale)"><CODE>ErrorTable.getMessage(int, Locale)</CODE></A>, 
+<CODE>Throwable.getMessage()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a string representation of this AFS Exception.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Throwable.html">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string of this 
+          <code>AFSSecurityException</code> object.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getMessage()"><CODE>getMessage()</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSSecurityException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSFileException.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSSecurityException.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/AFSShutdownHandler.html b/AFSLore/JavaAdminAPI/AFSShutdownHandler.html
new file mode 100644 (file)
index 0000000..bac0e51
--- /dev/null
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:36 PDT 2003 -->
+<TITLE>
+AFSShutdownHandler (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.AFSShutdownHandler,AFSShutdownHandler class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="AFSShutdownHandler (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSShutdownHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/Cell.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSShutdownHandler.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class AFSShutdownHandler</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html">java.lang.Thread</A>
+        |
+        +--<B>org.openafs.jafs.AFSShutdownHandler</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Runnable.html">Runnable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT> class <B>AFSShutdownHandler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html">Thread</A></DL>
+
+<P>
+Class that handles graceful AFS application shutdown procedures by
+ instructing the native library to inform the file system server that
+ it is shutting down.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>1.0, 06/13/2001</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html">Thread</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#MAX_PRIORITY">MAX_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#MIN_PRIORITY">MIN_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#NORM_PRIORITY">NORM_PRIORITY</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html#AFSShutdownHandler()">AFSShutdownHandler</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html#run()">run</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the execution method satisfying the interface requirement as a 
+ stand alone runnable thread.
+
+ </TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html">Thread</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#activeCount()">activeCount</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#checkAccess()">checkAccess</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#countStackFrames()">countStackFrames</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#currentThread()">currentThread</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#destroy()">destroy</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#dumpStack()">dumpStack</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#enumerate(java.lang.Thread[])">enumerate</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#getContextClassLoader()">getContextClassLoader</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#getName()">getName</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#getPriority()">getPriority</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#getThreadGroup()">getThreadGroup</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#holdsLock(java.lang.Object)">holdsLock</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#interrupt()">interrupt</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#interrupted()">interrupted</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#isAlive()">isAlive</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#isDaemon()">isDaemon</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#isInterrupted()">isInterrupted</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#join()">join</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#join(long)">join</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#join(long, int)">join</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#resume()">resume</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#setContextClassLoader(java.lang.ClassLoader)">setContextClassLoader</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#setDaemon(boolean)">setDaemon</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#setName(java.lang.String)">setName</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#setPriority(int)">setPriority</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#sleep(long)">sleep</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#sleep(long, int)">sleep</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#start()">start</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#stop()">stop</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#stop(java.lang.Throwable)">stop</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#suspend()">suspend</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#toString()">toString</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#yield()">yield</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AFSShutdownHandler()"><!-- --></A><H3>
+AFSShutdownHandler</H3>
+<PRE>
+public <B>AFSShutdownHandler</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>()</PRE>
+<DL>
+<DD>This is the execution method satisfying the interface requirement as a 
+ stand alone runnable thread.
+
+ <p> This method will automatically be invoked by the Thread instantiator.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Runnable.html">Runnable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html#run()">run</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Thread.html">Thread</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Token.html#shutdown()"><CODE>Token.shutdown()</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AFSShutdownHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/Cell.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AFSShutdownHandler.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/AdminTest.java b/AFSLore/JavaAdminAPI/AdminTest.java
new file mode 100644 (file)
index 0000000..1399be2
--- /dev/null
@@ -0,0 +1,969 @@
+import org.openafs.jafs.ErrorTable;
+import java.io.*;
+import java.util.*;
+
+/**
+ * A common error testing class for the native methods
+ */
+
+public class AdminTest
+{
+  Properties properties;
+  String cellName = null;
+  String username = null;
+  String password = null;
+
+  org.openafs.jafs.Cell   cellHandle;
+  org.openafs.jafs.Token  token;
+
+  /*
+    static
+    {
+    try {
+    System.loadLibrary("pwd");
+    } catch (Exception e) {
+    // Ignore
+    }
+    }
+  */
+
+  AdminTest() throws Exception
+  {
+    InputStream in = new FileInputStream("adminTest.properties");
+    if (in == null) throw new FileNotFoundException("adminTest.properties");
+    properties = new Properties();
+    properties.load(in);
+    cellName = getProperty("cellName", cellName);
+    //username = getProperty("username", username);
+    //password = getProperty("password", password);
+  }
+  private String getProperty(String name, String dflt)
+  {
+    String p = properties.getProperty(name);
+    return (p == null) ? dflt : p;
+  }
+  private int getProperty(String name, int dflt)
+  {
+    String p = properties.getProperty(name);
+    if (p == null) {
+      return dflt;
+    } else {
+      try {
+        return Integer.parseInt(p);
+      } catch (Exception e) {
+        return dflt;
+      }
+    }
+  }
+
+  private void authenticate() throws IOException
+  {
+    try {
+      System.out.println("  [user: " + username + "@" + cellName + "]");
+      token = new org.openafs.jafs.Token( username, password, cellName );
+      cellHandle = new org.openafs.jafs.Cell( token );
+    } catch ( org.openafs.jafs.AFSException e ) {
+      System.out.println( "Unexpected Exception\n  Error: " + ErrorTable.getMessage(e.getErrorCode()) + 
+                          "\n  Cell: " + cellName + "\n  Username: " + username);
+      return;
+    }
+  }
+
+  private void listCell() throws Exception
+  {
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING CELL INFO");
+      System.out.println("Total Number of Users: " + cellHandle.getUserCount());
+      System.out.println("Total Number of Groups: " + cellHandle.getGroupCount());
+      System.out.println("Total Number of Servers: " + cellHandle.getServerCount());
+      System.out.println("======================================");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listUser(String name) throws Exception
+  {
+    if (name == null) {
+      System.out.println("Name is null!");
+      return;
+    }
+    org.openafs.jafs.User[] users = cellHandle.getUsers();
+    try {
+      System.out.println("Searching for user: " + name + "...");
+      for (int i = 0; i < users.length; i++) {
+        if (name.equals(users[i].getName())) {
+          System.out.println("User found!\n");
+          //System.out.println(users[i].getInfo());
+          System.out.println(users[i].toString());
+          System.out.println("Membership: " + users[i].getGroupMembershipCount());
+          System.out.println("Groups Owned: " + users[i].getGroupsOwnedCount());
+          return;
+        }
+      }
+      System.out.println("User '" + name + "' could not be found!");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listUsers() throws Exception
+  {
+    org.openafs.jafs.User[] users = cellHandle.getUsers();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING USERS");
+      for (int i = 0; i < users.length; i++) {
+        System.out.println("User " + i + " = " + users[i].getName());
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Users: " + users.length);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listGroup(String name) throws Exception
+  {
+    if (name == null) {
+      System.out.println("Name is null!");
+      return;
+    }
+    org.openafs.jafs.Group[] groups = cellHandle.getGroups();
+    try {
+      System.out.println("Searching for group: " + name + "...");
+      for (int i = 0; i < groups.length; i++) {
+        if (name.equals(groups[i].getName())) {
+          System.out.println("Group found!\n");
+          groups[i].refresh();
+          //System.out.println(groups[i].getInfo());
+          System.out.println(groups[i].toString());
+          System.out.println("Membership: " + groups[i].getMembershipCount());
+          return;
+        }
+      }
+      System.out.println("Group '" + name + "' could not be found!");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listGroups() throws Exception
+  {
+    org.openafs.jafs.Group[] groups = cellHandle.getGroups();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING GROUPS");
+      for (int i = 0; i < groups.length; i++) {
+        System.out.println("Group " + i + " = " + groups[i].getName());
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Groups: " + groups.length);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listGroupsX() throws Exception
+  {
+    org.openafs.jafs.Group[] groups = cellHandle.getGroups();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING GROUPS");
+      for (int i = 0; i < groups.length; i++) {
+        System.out.println("Group " + i + " = " + groups[i].getName());
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Groups: " + groups.length);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listServer(String name) throws Exception
+  {
+    if (name == null) {
+      System.out.println("Name is null!");
+      return;
+    }
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("Searching for server: " + name + "...");
+      for (int i = 0; i < servers.length; i++) {
+        if (name.equals(servers[i].getName())) {
+          System.out.println("Server found!\n");
+          //System.out.println(servers[i].getInfo());
+          System.out.println(servers[i].toString());
+          System.out.println("# of Partition: " + servers[i].getPartitionCount());
+          System.out.println("# of Admins: " + servers[i].getAdminCount());
+          System.out.println("# of Keys: " + servers[i].getKeyCount());
+          System.out.println("# of Processes: " + servers[i].getProcessCount());
+          System.out.println("# of IP Addresses: " + servers[i].getIPAddresses().length);
+          for (int x = 0; x < servers[i].getIPAddresses().length; x++) {
+            System.out.println(" -> IP " + x + ": " + servers[i].getIPAddresses()[x]);
+          }
+          return;
+        }
+      }
+      System.out.println("Server '" + name + "' could not be found!");
+    } catch (org.openafs.jafs.AFSException e) {
+      System.out.println("ERROR: " + ErrorTable.getMessage(e.getErrorCode()));
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listServers() throws Exception
+  {
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING SERVERS");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("Server " + i + " = " + servers[i].toString());
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Servers: " + servers.length);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+
+  private void listPartition(String name) throws Exception
+  {
+    if (name == null) {
+      System.out.println("Name is null!");
+      return;
+    }
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("Searching for partition: " + name + "...");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("  Server " + i + " = " + servers[i].getName());
+        if (!servers[i].isFileServer() || servers[i].isBadFileServer()) {
+          System.out.println("  (not a file server)");
+        } else {
+          org.openafs.jafs.Partition[] partitions = servers[i].getPartitions();
+          for (int p = 0; p < partitions.length; p++) {
+            if (name.equals(partitions[p].getName())) {
+              System.out.println("Partition found!\n");
+              //System.out.println(partitions[p].getInfo());
+              System.out.println(partitions[p].toString());
+              System.out.println("Volume count: " + partitions[i].getVolumeCount());
+            }
+          }
+        }
+      }
+      System.out.println("Done");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listPartitions() throws Exception
+  {
+    int n = 0;
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING PARTITIONS");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("Server " + i + " = " + servers[i].getName());
+        if (!servers[i].isFileServer() || servers[i].isBadFileServer()) {
+          System.out.println("  (not a file server)");
+        } else {
+          org.openafs.jafs.Partition[] partitions = servers[i].getPartitions();
+          n += partitions.length;
+          for (int p = 0; p < partitions.length; p++) {
+            System.out.println("  Partition " + p + " = " + partitions[p].toString());
+          }
+        }
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Servers: " + servers.length);
+      System.out.println("Total Number of Partitions: " + n);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  /*
+    private void enumeratePartitions(String serverName, int start, int end) throws Exception
+    {
+    int i = 1;
+    org.openafs.jafs.Server server = cellHandle.getServer(serverName);
+    try {
+    System.out.println("======================================");
+    System.out.println("ENUMERATING PARTITIONS FROM " + start + " to " + end);
+    Enumeration e = server.getPartitionEnumeration();
+
+    i = start;
+    while (e.hasMoreElements()) {
+    System.out.println(" " + i + " -> " + e.nextElement());
+    i++;
+    //if (i >= end) break;
+    }
+
+    System.out.println("======================================");
+    } catch (Exception e) {
+    e.printStackTrace();
+    }
+    }
+  */
+
+  private void listVolume(String name) throws Exception
+  {
+    if (name == null) {
+      System.out.println("Name is null!");
+      return;
+    }
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("Searching for volume: " + name + "...");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("  Server " + i + " = " + servers[i].getName());
+        if (!servers[i].isFileServer() || servers[i].isBadFileServer()) {
+          System.out.println("  (not a file server)");
+        } else {
+          org.openafs.jafs.Partition[] partitions = servers[i].getPartitions();
+          for (int p = 0; p < partitions.length; p++) {
+            System.out.println("    Partition " + p + " = " + partitions[p].getName());
+            org.openafs.jafs.Volume[] volumes = partitions[p].getVolumes();
+            for (int v = 0; v < volumes.length; v++) {
+              if (name.equals(volumes[v].getName())) {
+                System.out.println("        Volume found!\n");
+                //System.out.println(volumes[v].getInfo());
+                System.out.println(volumes[v].toString());
+                System.out.println("Quota: " + volumes[v].getQuota());
+              }
+            }
+          }
+        }
+      }
+      System.out.println("Done");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listVolumes() throws Exception
+  {
+    int nP = 0;
+    int nV = 0;
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING PARTITIONS");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("Server " + i + " = " + servers[i].getName());
+        if (!servers[i].isFileServer() || servers[i].isBadFileServer()) {
+          System.out.println("  (not a file server)");
+        } else {
+          org.openafs.jafs.Partition[] partitions = servers[i].getPartitions();
+          nP += partitions.length;
+          for (int p = 0; p < partitions.length; p++) {
+            System.out.println("  Partition " + p + " = " + partitions[p].getName());
+            org.openafs.jafs.Volume[] volumes = partitions[p].getVolumes();
+            nV += volumes.length;
+            for (int v = 0; v < volumes.length; v++) {
+              System.out.println("    Volume " + v + " = " + volumes[v].getName());
+            }
+          }
+        }
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Servers: " + servers.length);
+      System.out.println("Total Number of Partitions: " + nP);
+      System.out.println("Total Number of Volumes: " + nV);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  /*
+    private void enumerateVolumes(String serverName, String partitionName, int start, int length) throws Exception
+    {
+    int i = 1;
+    int n = 0;
+    org.openafs.jafs.Server server = cellHandle.getServer(serverName);
+    org.openafs.jafs.Partition partition = server.getPartition(partitionName);
+    try {
+    System.out.println("======================================");
+    System.out.println("ENUMERATING PARTITIONS FROM " + start + " to " + (start + length));
+    Enumeration e = partition.getVolumeEnumeration(start);
+
+    i = start;
+    while (e.hasMoreElements()) {
+    System.out.println(" " + i + " -> " + e.nextElement());
+    i++;
+    n++;
+    if (n >= length) break;
+    }
+
+    System.out.println("======================================");
+    } catch (Exception e) {
+    e.printStackTrace();
+    }
+    }
+  */
+
+  private void listProcess(String name) throws Exception
+  {
+    if (name == null) {
+      System.out.println("Name is null!");
+      return;
+    }
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("Searching for process: " + name + "...");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("  Server " + i + " = " + servers[i].getName());
+        org.openafs.jafs.Process[] processes = servers[i].getProcesses();
+        for (int p = 0; p < processes.length; p++) {
+          if (name.equals(processes[p].getName())) {
+            System.out.println("Process found!\n");
+            //System.out.println(processes[p].getInfo());
+            System.out.println(processes[p].toString());
+          }
+        }
+      }
+      System.out.println("Done");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listProcesses() throws Exception
+  {
+    int n = 0;
+    org.openafs.jafs.Server[] servers = cellHandle.getServers();
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING PROCESSES");
+      for (int i = 0; i < servers.length; i++) {
+        System.out.println("Server " + i + " = " + servers[i].getName());
+        org.openafs.jafs.Process[] processes = servers[i].getProcesses();
+        n += processes.length;
+        for (int p = 0; p < processes.length; p++) {
+          System.out.println("  Process " + p + " = " + processes[p].getName());
+        }
+      }
+      System.out.println("======================================");
+      System.out.println("Total Number of Servers: " + servers.length);
+      System.out.println("Total Number of Processes: " + n);
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listACL(String path) throws Exception
+  {
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING ACL for: \n\t" + path);
+
+      token.klog();
+      org.openafs.jafs.ACL acl = new org.openafs.jafs.ACL(path);
+      System.out.println(acl.toString());
+
+      System.out.println("======================================");
+    } catch (org.openafs.jafs.AFSException e) {
+      System.out.println("AFS Error: " + e.getMessage());
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void setACL(String path) throws Exception
+  {
+    try {
+      System.out.println("======================================");
+      System.out.println("SETTING ACL for: \n\t" + path);
+
+      token.klog();
+
+      org.openafs.jafs.ACL acl = new org.openafs.jafs.ACL(path);
+      System.out.println(acl.toString());
+
+      org.openafs.jafs.ACL.Entry entry = new org.openafs.jafs.ACL.Entry( username, 29 );
+      acl.addPositiveEntry(entry);
+
+      System.out.println("Adding ACL entry: " + entry + "\n");
+      System.out.println("ACL after modifications:");
+      System.out.println(acl.toString());
+
+      System.out.println("======================================");
+    } catch (org.openafs.jafs.AFSException e) {
+      System.out.println("AFS Error: " + e.getMessage());
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void listDir(String path) throws Exception
+  {
+    try {
+      System.out.println("======================================");
+      System.out.println("LISTING Directory for: \n\t" + path);
+
+      token.klog();
+
+      org.openafs.jafs.File file = new org.openafs.jafs.File(path);
+      String[] e = file.list();
+      if ( e == null ) {
+        System.out.println( file.getErrorMessage() );
+      } else {
+        for (int i = 0; i < e.length; i++) {
+          System.out.println(e[i]);
+        }
+      }
+
+      System.out.println("======================================");
+    } catch (org.openafs.jafs.AFSSecurityException e) {
+      System.out.println("AFS Security Error: " + e.getMessage());
+    } catch (org.openafs.jafs.AFSException e) {
+      System.out.println("AFS Error: " + e.getMessage());
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void setUserGroupQuota() throws Exception
+  {
+    org.openafs.jafs.User user = cellHandle.getUser( username );
+    try {
+      System.out.println("======================================");
+      System.out.println("SETTING GROUP QUOTA FOR " + user.getName());
+      user.setGroupCreationQuota(-1);
+      user.setGroupCreationQuota(20);
+      user.setGroupCreationQuota(0);
+      System.out.println("======================================");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void salvage(String name, String serverName, String partitionName) throws Exception
+  {
+    org.openafs.jafs.Server server = cellHandle.getServer(serverName);
+    org.openafs.jafs.Partition partition = server.getPartition(partitionName);
+    org.openafs.jafs.Volume volume = partition.getVolume(name);
+    try {
+      System.out.println("======================================");
+      System.out.println("SALVAGING VOLUME " + volume.getName());
+      volume.salvage();
+      System.out.println("======================================");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void release(String name, String serverName, String partitionName) throws Exception
+  {
+    org.openafs.jafs.Server server = cellHandle.getServer(serverName);
+    org.openafs.jafs.Partition partition = server.getPartition(partitionName);
+    org.openafs.jafs.Volume volume = partition.getVolume(name);
+    try {
+      System.out.println("======================================");
+      System.out.println("RELEASING VOLUME " + volume.getName());
+      volume.release();
+      System.out.println("======================================");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void createReadOnly(String name, String serverName, String partitionName) throws Exception
+  {
+    org.openafs.jafs.Server server = cellHandle.getServer(serverName);
+    org.openafs.jafs.Partition partition = server.getPartition(partitionName);
+    org.openafs.jafs.Volume volume = partition.getVolume(name);
+    try {
+      System.out.println("======================================");
+      System.out.println("CREATING READ-ONLY REPLICA OF VOLUME " + volume.getName());
+      //volume.createReadOnly(cellHandle.getServer(server), cellHandle.getPartition(server, partition));
+      //volume.create( cellHandle, vosHandle, -1, newVolumeName, 0 );
+      volume.createReadOnly(partition);
+      System.out.println("======================================");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  private void createBackup(String name, String serverName, String partitionName) throws Exception
+  {
+    org.openafs.jafs.Server server = cellHandle.getServer(serverName);
+    org.openafs.jafs.Partition partition = server.getPartition(partitionName);
+    org.openafs.jafs.Volume volume = partition.getVolume(name);
+    try {
+      System.out.println("======================================");
+      System.out.println("CREATING BACKUP REPLICA OF VOLUME " + volume.getName());
+      volume.createBackup();
+      System.out.println("======================================");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  /**
+   * execute:
+   * takes in String representing a system command, executes it,
+   * and waits for it to finish.
+   *
+   * throws IOException
+   */
+  private void execute( String command ) throws IOException
+  {
+    //System.out.println( "Executing: " + command );
+    java.lang.Process proc = Runtime.getRuntime().exec( command );
+    //      System.out.println( command );
+    try {
+      proc.waitFor();
+    } catch ( InterruptedException e ) {
+      throw new IOException( "Interrupted system command: " + command );
+    }
+  }
+
+  private void printVersionInfo() throws Exception
+  {
+    System.out.println("JAFS native library build information:");
+    System.out.println("\tDescription:    " + org.openafs.jafs.VersionInfo.getDescription());
+    System.out.println("\tBuild Platform: " + org.openafs.jafs.VersionInfo.getBuildPlatform());
+    System.out.println("\tBuild Time:     " + org.openafs.jafs.VersionInfo.getBuildDate());
+    System.out.println("\tBuild Number:   " + org.openafs.jafs.VersionInfo.getBuildNumber());
+    System.out.println("\tBuild Version:  " + org.openafs.jafs.VersionInfo.getVersion());
+    System.out.println("\tFull Version:   " + org.openafs.jafs.VersionInfo.getFullVersion());
+  }
+
+  /**
+   * Get password from native library 
+   */
+  //private static native String getNativePassword();
+
+  private static String getPassword() throws IOException
+  {
+    String pwd = "";
+    MaskingThread mt = new MaskingThread( "Please enter your AFS password: " );
+    Thread t = new Thread( mt );
+    t.start();
+
+    while (true) {
+      char c = (char)System.in.read();
+      mt.stopMasking();
+      if ( c == '\r' ) {
+        c = (char) System.in.read();
+        if ( c == '\n' ) {
+          break;
+        } else {
+          continue;
+        }
+      } else if ( c == '\n' ) {
+        break;
+      } else {
+        pwd += c;
+      }
+    }
+    return pwd;
+  }
+
+  private static String getUsername()
+  {
+    System.out.print("Please enter your AFS username: ");
+    BufferedReader r = new BufferedReader( new InputStreamReader(System.in) );
+    try {
+      return r.readLine();
+    } catch (Exception e) {
+      System.out.println("Error trying to read your username.");
+      System.exit(1);
+    }
+    return null;
+  }
+
+  private static void printUsage()
+  {
+    System.out.println("Usage:");
+    System.out.println("  AdminTest [auth] [cell] [user] [group] [server]");
+    System.out.println("            [partition] [volume] [key] [process]");
+    System.out.println("");
+    System.out.println("  AdminTest [list users]      [list user <username>]");
+    System.out.println("            [list groups]     [list group <group name>]");
+    System.out.println("            [list servers]    [list server <server name>]");
+    System.out.println("            [list partitions] [list partition <partition name>]");
+    System.out.println("            [list volumes]    [list volume <volume name>]");
+    System.out.println("            [list processes]  [list process <process name>]");
+    System.out.println("            [list cell]");
+    System.out.println("            [list dir <path>]");
+    System.out.println("            [list acl <path>]");
+    System.out.println("            [set  acl <path>]");
+    System.out.println("            [enum partitions <server> <start> <length>]");
+    System.out.println("            [enum volumes <server> <partition> <start> <length>]");
+    System.out.println("            [vol salvage <volume name> <server> <partition>]");
+    System.out.println("            [vol backup <volume name> <server> <partition>]");
+    System.out.println("            [vol release <volume name> <server> <partition>]");
+    System.out.println("            [vol replicate <volume name> <server> <partition>]");
+    System.out.println("");
+    System.out.println("            -v or -version     Display version of JAFS library");
+    System.out.println("");
+    System.out.println("            -u <username>");
+    System.out.println("            -p <password>");
+    System.out.println("");
+    System.out.println("Example:");
+    System.out.println("  AdminTest list users -u admin -p testpass");
+    System.out.println("\nie: AdminTest cell\nThe above example will run the AdminTest program,\ntesting 'cell' functionality.");
+  }
+  public static void main(String[] args) throws Exception
+  {
+    AdminTest at = new AdminTest();
+    try {
+      for (int i = 0; i < args.length; i++) {
+        if (args[i].startsWith("-h") || args[i].startsWith("h")) {
+          printUsage();
+          System.exit(0);
+        } else if (args[i].equals("-u")) {
+          i++;
+          at.username = args[i];
+        } else if (args[i].equals("-p")) {
+          i++;
+          at.password = args[i];
+        } else if (args[i].equals("-g") || args[i].equals("--graphical")) {
+          i++;
+          PasswordPrompt p = new PasswordPrompt("AFS Admin Account");
+            
+          String[] info = new String[2];
+          while ( p.isShowing() ) {
+            Thread.sleep( 500 );
+          }
+          try {
+            p.setUserInfo( info );
+            at.username = info[0];
+            at.password = info[1];
+          } catch (Exception e2) {
+            // Ignore
+          }
+        } else if (args[i].equals("-v") || args[i].equals("-version")) {
+          at.authenticate();
+          at.printVersionInfo();
+          return;
+        }
+      }
+
+      if ( at.username == null ) at.username = getUsername();
+      if ( at.password == null ) at.password = getPassword();
+
+      at.authenticate();
+
+      if ( args.length > 0 ) run( at, args );
+
+      while( true )
+        {
+          System.out.print("Command: ");
+          BufferedReader r = new BufferedReader( new InputStreamReader(System.in) );
+          try {
+            run( at, split( r.readLine() ) );
+          } catch (Exception e) {
+            System.out.println("Error trying to read command.");
+          }
+        }
+       
+    } catch (ArrayIndexOutOfBoundsException e) {
+      printUsage();
+    }
+  }
+  private static void run( AdminTest at, String[] args ) throws Exception
+  {
+    try {
+      for (int i = 0; i < args.length; i++) {
+        if (args[i].equals("auth")) {
+          System.out.println("not available");
+          /*
+            } else if (args[i].equals("enum")) {
+            i++;
+            if (args[i].equals("partitions")) {
+            String serverName = args[i++];
+            int start = Integer.parseInt(args[i++]);
+            int end = Integer.parseInt(args[i++]);
+            at.enumeratePartitions(serverName, start, end);
+            } else if (args[i].equals("volumes")) {
+            String serverName = args[++i];
+            String partitionName = args[++i];
+            int start = Integer.parseInt(args[++i]);
+            int end = Integer.parseInt(args[++i]);
+            at.enumerateVolumes(serverName, partitionName, start, end);
+            }
+          */
+        } else if (args[i].equals("list")) {
+          i++;
+          if (args[i].equals("users")) {
+            at.listUsers();
+          } else if (args[i].equals("user")) {
+            i++;
+            at.listUser(args[i]);
+          } else if (args[i].equals("groups")) {
+            at.listGroups();
+          } else if (args[i].equals("groupsx")) {
+            at.listGroupsX();
+          } else if (args[i].equals("group")) {
+            i++;
+            at.listGroup(args[i]);
+          } else if (args[i].equals("servers")) {
+            at.listServers();
+          } else if (args[i].equals("server")) {
+            i++;
+            at.listServer(args[i]);
+          } else if (args[i].equals("partitions")) {
+            at.listPartitions();
+          } else if (args[i].equals("partition")) {
+            i++;
+            at.listPartition(args[i]);
+          } else if (args[i].equals("volumes")) {
+            at.listVolumes();
+          } else if (args[i].equals("volume")) {
+            i++;
+            at.listVolume(args[i]);
+          } else if (args[i].equals("processes")) {
+            at.listProcesses();
+          } else if (args[i].equals("process")) {
+            i++;
+            at.listProcess(args[i]);
+          } else if (args[i].equals("cell")) {
+            at.listCell();
+          } else if (args[i].equals("acl")) {
+            i++;
+            at.listACL(args[i]);
+          } else if (args[i].equals("dir")) {
+            i++;
+            at.listDir(args[i]);
+          }
+        } else if (args[i].equals("set")) {
+          i++;
+          if (args[i].equals("user")) {
+            i++;
+            if (args[i].equals("group-quota")) {
+              at.setUserGroupQuota();
+            }
+          } else if (args[i].equals("group")) {
+          } else if (args[i].equals("acl")) {
+            i++;
+            at.setACL(args[i]);
+          }
+        } else if (args[i].equals("vol")) {
+          i++;
+          if (args[i].equals("salvage")) {
+            i++;
+            String name = args[i];
+            i++;
+            String server = args[i];
+            i++;
+            String partition = args[i];
+            at.salvage(name, server, partition);
+          } else if (args[i].equals("backup")) {
+            i++;
+            String name = args[i];
+            i++;
+            String server = args[i];
+            i++;
+            String partition = args[i];
+            at.createBackup(name, server, partition);
+          } else if (args[i].equals("release")) {
+            i++;
+            String name = args[i];
+            i++;
+            String server = args[i];
+            i++;
+            String partition = args[i];
+            at.release(name, server, partition);
+          } else if (args[i].equals("replicate")) {
+            i++;
+            String name = args[i];
+            i++;
+            String server = args[i];
+            i++;
+            String partition = args[i];
+            at.createReadOnly(name, server, partition);
+          }
+        } else if (args[i].equals("cell")) {
+          //at.testCell();
+          System.out.println("Not Available");
+        } else if (args[i].equals("user")) {
+          //at.testUser();
+          System.out.println("Not Available");
+        } else if (args[i].equals("group")) {
+          //at.testGroup();
+          System.out.println("Not Available");
+        } else if (args[i].equals("server")) {
+          //at.testServer();
+          System.out.println("Not Available");
+        } else if (args[i].equals("partition") || args[i].equals("part")) {
+          //at.testPartition();
+          System.out.println("Not Available");
+        } else if (args[i].equals("volume")) {
+          //at.testVolume();
+          System.out.println("Not Available");
+        } else if (args[i].equals("key")) {
+          //at.testKey();
+          System.out.println("Not Available");
+        } else if (args[i].equals("process") || args[i].equals("proc")) {
+          //at.testProcess();
+          System.out.println("Not Available");
+        } else if (args[i].equals("h") || args[i].equals("help")) {
+          printUsage();
+        } else if (args[i].equals("q") || args[i].equals("quit")) {
+          System.exit(0);
+        } else if (args[i].equals("-u") || args[i].equals("-p")) {
+          i++;
+        } else if (args[i].equals("-g") || args[i].equals("--graphical")) {
+          i++;
+        } else {
+          System.out.println("Invalid Argument: " + args[i]);
+        }
+      }
+    } catch (ArrayIndexOutOfBoundsException e) {
+      printUsage();
+    }
+  }
+
+  private static String[] split( String str )
+  {
+    int i = 0;
+    StringTokenizer st = new StringTokenizer(str);
+    String[] tokens = new String[st.countTokens()];
+    while (st.hasMoreTokens())  {
+      tokens[i++] = st.nextToken().trim();
+    }
+    return tokens;
+  }
+  
+  private static class MaskingThread extends Thread
+  {
+    private boolean stop = false;
+    private int index;
+    private String prompt;
+
+    public MaskingThread( String prompt )
+    {
+      this.prompt = prompt;
+    }
+    public void run()
+    {
+      while ( !stop )
+        {
+          try {
+            MaskingThread.sleep(1);
+          } catch (InterruptedException e ) {
+            e.printStackTrace();
+          }
+          if ( !stop ) {
+            System.out.print("\r" + prompt );
+          }
+          System.out.flush();
+        }    
+    }
+    public void stopMasking()
+    {
+      this.stop = true;
+    }
+  }
+
+}
diff --git a/AFSLore/JavaAdminAPI/Authenticate.html b/AFSLore/JavaAdminAPI/Authenticate.html
new file mode 100644 (file)
index 0000000..f4474c0
--- /dev/null
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">\r
+<!--NewPage-->\r
+<HTML>\r
+<HEAD>\r
+<!-- Generated by javadoc on Wed Apr 10 17:43:53 PDT 2002 -->\r
+<TITLE>\r
+Java AFS Admin API: Class  Authenticate\r
+</TITLE>\r
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">\r
+</HEAD>\r
+<BODY BGCOLOR="white">\r
+\r
+<!-- ========== START OF NAVBAR ========== -->\r
+<A NAME="navbar_top"><!-- --></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_top_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Authenticate.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+<B>Java AFS Admin API v1.3</B></EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;PREV CLASS&nbsp;\r
+&nbsp;<A HREF="Cell.html"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="Authenticate.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<!-- =========== END OF NAVBAR =========== -->\r
+\r
+<HR>\r
+<!-- ======== START OF CLASS DATA ======== -->\r
+<H2>\r
+<FONT SIZE="-1">\r
+org.openafs.jafsadm</FONT>\r
+<BR>\r
+Class  Authenticate</H2>\r
+<PRE>\r
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">java.lang.Object</A>\r
+  |\r
+  +--<B>org.openafs.jafsadm.Authenticate</B>\r
+</PRE>\r
+<HR>\r
+<DL>\r
+<DT>public class <B>Authenticate</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A></DL>\r
+\r
+<P>\r
+A class containing static native methods related to AFS authentication.\r
+<P>\r
+<DL>\r
+<DT><B>Version: </B><DD>1.0, 7/18/01</DD>\r
+</DL>\r
+<HR>\r
+\r
+<P>\r
+<!-- ======== INNER CLASS SUMMARY ======== -->\r
+\r
+\r
+<!-- =========== FIELD SUMMARY =========== -->\r
+\r
+\r
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
+\r
+<A NAME="constructor_summary"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TD COLSPAN=2><FONT SIZE="+2">\r
+<B>Constructor Summary</B></FONT></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="Authenticate.html#Authenticate()">Authenticate</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<!-- ========== METHOD SUMMARY =========== -->\r
+\r
+<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A></B></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#toString()">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<P>\r
+\r
+<!-- ============ FIELD DETAIL =========== -->\r
+\r
+\r
+<!-- ========= CONSTRUCTOR DETAIL ======== -->\r
+\r
+<A NAME="constructor_detail"><!-- --></A>\r
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TD COLSPAN=1><FONT SIZE="+2">\r
+<B>Constructor Detail</B></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="Authenticate()"><!-- --></A><H3>\r
+Authenticate</H3>\r
+<PRE>\r
+public <B>Authenticate</B>()</PRE>\r
+<DL>\r
+</DL>\r
+\r
+<!-- ============ METHOD DETAIL ========== -->\r
+\r
+<!-- ========= END OF CLASS DATA ========= -->\r
+<HR>\r
+\r
+<!-- ========== START OF NAVBAR ========== -->\r
+<A NAME="navbar_bottom"><!-- --></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_bottom_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Authenticate.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+Java AFS Admin (jafsadm) API for OpenAFS</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;PREV CLASS&nbsp;\r
+&nbsp;<A HREF="Cell.html"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="Authenticate.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<!-- =========== END OF NAVBAR =========== -->\r
+\r
+<HR>\r
+<FONT FACE=Arial,Helvetica SIZE="1">Copyright (c) 2001-2002 International Business Machines Corp.<BR>  All rights reserved.<BR>  See <A HREF=copyright.html>copyright statement</A>.<BR></FONT>\r
+</BODY>\r
+</HTML>\r
+\r
+\r
diff --git a/AFSLore/JavaAdminAPI/Cell.html b/AFSLore/JavaAdminAPI/Cell.html
new file mode 100644 (file)
index 0000000..a5906d3
--- /dev/null
@@ -0,0 +1,3135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:36 PDT 2003 -->
+<TITLE>
+Cell (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Cell,Cell class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Cell (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Cell.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/ErrorTable.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Cell.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class Cell</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<B>org.openafs.jafs.Cell</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>Cell</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/Serializable.html">Serializable</A></DL>
+
+<P>
+An abstract representation of an AFS cell.  It holds information about 
+ the cell, such as what users, groups, and servers exist in the cell.
+ <BR><BR>
+
+ Constructing a <code>Cell</code> object does not mean a new cell is
+ created in the AFS file system -- on the contrary, a <code>Cell</code>
+ object must be a representation of an already existing AFS cell.  There
+ is no way to create a new AFS cell through this API.  See 
+ <a href="http://www.openafs.org">OpenAFS.org</a> for information on how
+ to create a new cell.<BR><BR>
+ The construction of a <code>Cell</code> object acts as an entry point
+ for authentication into the AFS system.  Thus, when you construct a 
+ <code>Cell</code>, you must pass in an authenticated <code>Token</code>
+ of a user in the AFS cell that the <code>Cell</code> represents.  You
+ will be authenticated as the user represented by <code>token</code> and 
+ you will only be allowed to perform actions that the user is
+ authorized to perform.  You must construct a <code>Cell</code> before 
+ attempting to construct any other object in this package, since the
+ other objects all require a <code>Cell</code> object on construction,
+ either directly or indirectly.<BR><BR>
+
+ Note that to successfully construct a <code>Cell</code> object, the 
+ code must be running on a machine with a running AFS client, and the
+ cell this object is to represent must have an entry in the client's
+ CellServDB file.<BR><BR>
+ Each <code>Cell</code> object has its own individual set of
+ <code>Server</code>s, <code>User</code>s, and <code>Group</code>s.
+ This represents the properties and attributes of an actual AFS cell.
+
+ If an error occurs during a method call, an 
+ <code>AFSException</code> will be thrown.  This class is the Java
+ equivalent of errors thrown by AFS; see <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A>
+ for a complete description.<BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a 
+ <code>Cell</code> object. It shows how a <code>Cell</code> can be used to 
+ get an abstract representation of an AFS server, and how it can obtain an 
+ array of <code>User</code> objects, each of which is an abstract 
+ representation of an AFS user.<BR><BR>
+ <PRE>
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.Partition;
+ import org.openafs.jafs.Server;
+ import org.openafs.jafs.Token;
+ import org.openafs.jafs.User;
+ ...
+ public class ...
+ {
+   ...
+   private Cell cell;
+   private Server server;
+   private Token token;
+   ...
+   public static void main(String[] args) throws Exception
+   {
+     String username   = arg[0];
+     String password   = arg[1];
+     String cellName   = arg[2];
+     String serverName = arg[3];
+     token = new Token(username, password, cellName);
+     cell   = new Cell(token);
+     server = cell.getServer(serverName);
+
+     User[] users = cell.getUsers();
+     ...
+   }
+   ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Cell">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#cellHandle">cellHandle</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#groupNames">groupNames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#groups">groups</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#maxGroupID">maxGroupID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#maxUserID">maxUserID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#serverNames">serverNames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#servers">servers</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/openafs/jafs/Token.html">Token</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#token">token</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#tokenExpiration">tokenExpiration</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#userNames">userNames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#users">users</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#Cell(org.openafs.jafs.Token)">Cell</A></B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A>&nbsp;token)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new <CODE>Cell</CODE> object instance given 
+ the <code>Token</code> that should represents an authenticated user
+ with administrative access.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#Cell(org.openafs.jafs.Token, boolean)">Cell</A></B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A>&nbsp;token,
+     boolean&nbsp;preloadAllMembers)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new <CODE>Cell</CODE> object instance given 
+ the <code>Token</code> that should represents an authenticated user
+ with administrative access.  </TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#close()">close</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unauthenticates this </code>Token</code> object associated with this 
+ <code>Cell</code> and deletes all of its stored information.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#closeCell(int)">closeCell</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the given currently open cell handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#createMountPoint(int, java.lang.String, java.lang.String, boolean, boolean)">createMountPoint</A></B>(int&nbsp;cellHandle,
+                 <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;directory,
+                 <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;volumeName,
+                 boolean&nbsp;readWrite,
+                 boolean&nbsp;forceCheck)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a mount point for a volume within the file system.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#equals(org.openafs.jafs.Cell)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A>&nbsp;otherCell)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether two <code>Cell</code> objects are equal, based on their 
+ names.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()">getCellHandle</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the cell handle of this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle(java.lang.String, int)">getCellHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName,
+              int&nbsp;tokenHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Opens a cell for administrative use, based on the token provided.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getCellName(int)">getCellName</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/Group.html">Group</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroup(java.lang.String)">getGroup</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the <CODE>Group</CODE> object (which is an abstract 
+ representation of an actual AFS group) designated by <code>name</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount()">getGroupCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of groups associated with this Cell.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount(int)">getGroupCount</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of groups belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupNames()">getGroupNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves an array containing all of the names of groups
+ associated with this <code>Cell</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupNames(int, int)">getGroupNames</A></B>(int&nbsp;startIndex,
+              int&nbsp;length)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing a subset of the names of groups
+ associated with this <code>Cell</code>.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/Group.html">Group</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroups()">getGroups</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves an array containing all of the <code>Group</code> objects 
+ associated with this <code>Cell</code>, each of which are an abstract 
+ representation of an actual group of the AFS cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/Group.html">Group</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroups(int, int)">getGroups</A></B>(int&nbsp;startIndex,
+          int&nbsp;length)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing a subset of the <code>Group</code> objects
+ associated with this <code>Cell</code>, each of which is an abstract
+ representation of an actual AFS group of the AFS cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBegin(int)">getGroupsBegin</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin the process of getting the groups that belong to the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBeginAt(int, int)">getGroupsBeginAt</A></B>(int&nbsp;cellHandle,
+                 int&nbsp;startIndex)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin the process of getting the groups that belong to the cell, starting
+ with element index <code>startIndex</code>.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsDone(int)">getGroupsDone</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Signals that the iteration is complete and will not be accessed anymore.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsNext(int, int, org.openafs.jafs.Group)">getGroupsNext</A></B>(int&nbsp;cellHandle,
+              int&nbsp;iterationId,
+              <A HREF="../../../org/openafs/jafs/Group.html">Group</A>&nbsp;theGroup)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills the next group object of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsNextString(int)">getGroupsNextString</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next group of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> representation of this <code>Cell</code>.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getInfoGroups()">getInfoGroups</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the <code>String</code> 
+ representations of all the groups of this <code>Cell</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getInfoServers()">getInfoServers</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the <code>String</code> 
+ representations of all the servers of this <code>Cell</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getInfoUsers()">getInfoUsers</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the <code>String</code> 
+ representations of all the users of this <code>Cell</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUserCount(int)">getKasUserCount</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of KAS users belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBegin(int)">getKasUsersBegin</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin the process of getting the kas users that belong to the cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBeginAt(int, int)">getKasUsersBeginAt</A></B>(int&nbsp;cellHandle,
+                   int&nbsp;startIndex)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin the process of getting the KAS users, starting at
+ <code>startIndex</code>, that belong to the cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersDone(int)">getKasUsersDone</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Signals that the iteration is complete and will not be accessed anymore.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersNext(int, int, org.openafs.jafs.User)">getKasUsersNext</A></B>(int&nbsp;cellHandle,
+                int&nbsp;iterationId,
+                <A HREF="../../../org/openafs/jafs/User.html">User</A>&nbsp;theUser)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills the next kas user object of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersNextString(int)">getKasUsersNextString</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next kas user of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxGroupID()">getMaxGroupID</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum group ID that's been used within the cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxGroupID(int)">getMaxGroupID</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the maximum group pts ID that's been used within a cell.   
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxUserID()">getMaxUserID</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum user ID that's been used within the cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxUserID(int)">getMaxUserID</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the maximum user pts ID that's been used within a cell.   
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsOnlyUserCount(int)">getPtsOnlyUserCount</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of PTS users, belonging to the cell denoted
+ by <CODE>cellHandle</CODE>, that are not in KAS.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsOnlyUsersNext(int, int, org.openafs.jafs.User)">getPtsOnlyUsersNext</A></B>(int&nbsp;cellHandle,
+                    int&nbsp;iterationId,
+                    <A HREF="../../../org/openafs/jafs/User.html">User</A>&nbsp;theUser)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills the next pts user (who does not have a kas entry) object of 
+ the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsOnlyUsersNextString(int, int)">getPtsOnlyUsersNextString</A></B>(int&nbsp;iterationId,
+                          int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pts user (who is not a kas user) of the cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUserCount(int)">getPtsUserCount</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of PTS users belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)">getPtsUsersBegin</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin the process of getting the pts users that belong to the cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersDone(int)">getPtsUsersDone</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Signals that the iteration is complete and will not be accessed anymore.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersNext(int, int, org.openafs.jafs.User)">getPtsUsersNext</A></B>(int&nbsp;cellHandle,
+                int&nbsp;iterationId,
+                <A HREF="../../../org/openafs/jafs/User.html">User</A>&nbsp;theUser)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills the next pts user object of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersNextString(int)">getPtsUsersNextString</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pts user of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServer(java.lang.String)">getServer</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the <CODE>Server</CODE> object (which is an abstract 
+ representation of an actual AFS server) designated by <code>name</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServerCount()">getServerCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of servers associated with this Cell.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServerCount(int)">getServerCount</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of servers belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServerNames()">getServerNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves an array containing all of the names of servers
+ associated with this <code>Cell</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/Server.html">Server</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServers()">getServers</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves an array containing all of the <code>Server</code> objects 
+ associated with this <code>Cell</code>, each of which are an abstract 
+ representation of an actual server of the AFS cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServersBegin(int)">getServersBegin</A></B>(int&nbsp;cellHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin the process of getting the servers in the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServersDone(int)">getServersDone</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Signals that the iteration is complete and will not be accessed anymore.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServersNext(int, int, org.openafs.jafs.Server)">getServersNext</A></B>(int&nbsp;cellHandle,
+               int&nbsp;iterationId,
+               <A HREF="../../../org/openafs/jafs/Server.html">Server</A>&nbsp;theServer)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills the next server object of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServersNextString(int)">getServersNextString</A></B>(int&nbsp;iterationId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next server of the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getTokenExpiration()">getTokenExpiration</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the expiration time of the authentication token being used 
+ by this <code>Cell</code> object.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/User.html">User</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUser(java.lang.String)">getUser</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the <CODE>User</CODE> object (which is an abstract 
+ representation of an actual AFS user) designated by <code>name</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()">getUserCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of users who are registered with KAS and PTS,
+ without duplicates.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUserNames()">getUserNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves an array containing all of the names of users 
+ associated with this <code>Cell</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUserNames(int, int)">getUserNames</A></B>(int&nbsp;startIndex,
+             int&nbsp;length)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing a subset of the names of users
+ associated with this <code>Cell</code>.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/User.html">User</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUsers()">getUsers</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves an array containing all of the <code>User</code> objects 
+ associated with this <code>Cell</code>, each of which are an abstract 
+ representation of an actual user of the AFS cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/openafs/jafs/User.html">User</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUsers(int, int)">getUsers</A></B>(int&nbsp;startIndex,
+         int&nbsp;length)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing a subset of the <code>User</code> objects
+ associated with this <code>Cell</code>, each of which is an abstract
+ representation of an actual AFS user of the AFS cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#reclaimCellMemory()">reclaimCellMemory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reclaims all memory being saved by the cell portion of the native library.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Refreshes the properties of this Cell object instance with values 
+ from the AFS cell it represents.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refresh(boolean)">refresh</A></B>(boolean&nbsp;all)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Refreshes the properties of this Cell object instance with values 
+ from the AFS cell it represents.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshGroupNames()">refreshGroupNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains the most current list of group names of this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshGroups()">refreshGroups</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains the most current list of <code>Group</code> objects of this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets all the information fields of this <code>Cell</code> object, 
+ such as max group and user ids, to their most current values.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshServerNames()">refreshServerNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains the most current list of server names of this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshServers()">refreshServers</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains the most current list of <code>Server</code> objects of this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshUserNames()">refreshUserNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains the most current list of user names of this cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshUsers()">refreshUsers</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains the most current list of <code>User</code> objects of this cell.  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setACL(java.lang.String, java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean)">setACL</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;directory,
+       <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;username,
+       boolean&nbsp;read,
+       boolean&nbsp;write,
+       boolean&nbsp;lookup,
+       boolean&nbsp;delete,
+       boolean&nbsp;insert,
+       boolean&nbsp;lock,
+       boolean&nbsp;admin)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxGroupID(int)">setMaxGroupID</A></B>(int&nbsp;maxID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum group ID that's been used within the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxGroupID(int, int)">setMaxGroupID</A></B>(int&nbsp;cellHandle,
+              int&nbsp;maxID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum group pts ID that's been used within a cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxUserID(int)">setMaxUserID</A></B>(int&nbsp;maxID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum user ID that's been used within the cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxUserID(int, int)">setMaxUserID</A></B>(int&nbsp;cellHandle,
+             int&nbsp;maxID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum user pts ID that's been used within a cell.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this <CODE>Cell</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="users"><!-- --></A><H3>
+users</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>users</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="userNames"><!-- --></A><H3>
+userNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>userNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groups"><!-- --></A><H3>
+groups</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>groups</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groupNames"><!-- --></A><H3>
+groupNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>groupNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="servers"><!-- --></A><H3>
+servers</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>servers</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serverNames"><!-- --></A><H3>
+serverNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>serverNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>name</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="cellHandle"><!-- --></A><H3>
+cellHandle</H3>
+<PRE>
+protected int <B>cellHandle</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="token"><!-- --></A><H3>
+token</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Token.html">Token</A> <B>token</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="maxGroupID"><!-- --></A><H3>
+maxGroupID</H3>
+<PRE>
+protected int <B>maxGroupID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="maxUserID"><!-- --></A><H3>
+maxUserID</H3>
+<PRE>
+protected int <B>maxUserID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tokenExpiration"><!-- --></A><H3>
+tokenExpiration</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>tokenExpiration</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="cachedInfo"><!-- --></A><H3>
+cachedInfo</H3>
+<PRE>
+protected boolean <B>cachedInfo</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Cell(org.openafs.jafs.Token)"><!-- --></A><H3>
+Cell</H3>
+<PRE>
+public <B>Cell</B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A>&nbsp;token)
+     throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Cell</CODE> object instance given 
+ the <code>Token</code> that should represents an authenticated user
+ with administrative access.  In order to get full access to the cell, 
+ it is best that the <code>Token</code> provided have administrative 
+ privileges.
+<P>
+<DT><B>Parameters:</B><DD><CODE>token</CODE> - the user's authenticated token
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+<HR>
+
+<A NAME="Cell(org.openafs.jafs.Token, boolean)"><!-- --></A><H3>
+Cell</H3>
+<PRE>
+public <B>Cell</B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A>&nbsp;token,
+            boolean&nbsp;preloadAllMembers)
+     throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Cell</CODE> object instance given 
+ the <code>Token</code> that should represents an authenticated user
+ with administrative access.  In order to get full access to the cell, 
+ it is best that the <code>Token</code> provided have administrative 
+ privileges.
+
+ <P> This constructor is ideal for point-in-time representation and 
+ transient applications.  It ensures all data member values are set 
+ and available without calling back to the filesystem at the first 
+ request for them.  Use the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method to address any 
+ coherency concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>token</CODE> - the user's authenticated token<DD><CODE>preloadAllMembers</CODE> - true will ensure all object members are 
+                           set upon construction; otherwise members 
+                           will be set upon access, which is the default 
+                           behavior.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="refresh()"><!-- --></A><H3>
+refresh</H3>
+<PRE>
+public void <B>refresh</B>()
+             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Cell object instance with values 
+ from the AFS cell it represents.  All properties that have been 
+ initialized and/or accessed will be renewed according to the values 
+ of the AFS cell this Cell object instance represents.
+
+ <P>Since in most environments administrative changes can be administered
+ from an AFS command-line program or an alternate GUI application, this
+ method provides a means to refresh the Java object representation and
+ thereby ascertain any possible modifications that may have been made
+ from such alternate administrative programs.  Using this method before
+ an associated instance accessor will ensure the highest level of 
+ representative accuracy, accommodating changes made external to the
+ Java application space.  If administrative changes to the underlying AFS 
+ system are only allowed via this API, then the use of this method is 
+ unnecessary.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refresh(boolean)"><!-- --></A><H3>
+refresh</H3>
+<PRE>
+protected void <B>refresh</B>(boolean&nbsp;all)
+                throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Cell object instance with values 
+ from the AFS cell it represents.  If <CODE>all</CODE> is <CODE>true</CODE>
+ then <U>all</U> of the properties of this Cell object instance will be 
+ set, or renewed, according to the values of the AFS cell it represents, 
+ disregarding any previously set properties.
+
+ <P> Thus, if <CODE>all</CODE> is <CODE>false</CODE> then properties that 
+ are currently set will be refreshed and properties that are not set will 
+ remain uninitialized. See <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> for more information.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>all</CODE> - if true set or renew all object properties; otherwise 
+              renew all set properties
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshInfo()"><!-- --></A><H3>
+refreshInfo</H3>
+<PRE>
+protected void <B>refreshInfo</B>()
+                    throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets all the information fields of this <code>Cell</code> object, 
+ such as max group and user ids, to their most current values.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshUsers()"><!-- --></A><H3>
+refreshUsers</H3>
+<PRE>
+protected void <B>refreshUsers</B>()
+                     throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>User</code> objects of this cell.  
+ Finds all users that currently have a kas and/or pts entry for this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshUserNames()"><!-- --></A><H3>
+refreshUserNames</H3>
+<PRE>
+protected void <B>refreshUserNames</B>()
+                         throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of user names of this cell.  Finds
+ all users that currently have a kas and/or pts entry for this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshGroups()"><!-- --></A><H3>
+refreshGroups</H3>
+<PRE>
+protected void <B>refreshGroups</B>()
+                      throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Group</code> objects of this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshGroupNames()"><!-- --></A><H3>
+refreshGroupNames</H3>
+<PRE>
+protected void <B>refreshGroupNames</B>()
+                          throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of group names of this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshServers()"><!-- --></A><H3>
+refreshServers</H3>
+<PRE>
+protected void <B>refreshServers</B>()
+                       throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Server</code> objects of this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refreshServerNames()"><!-- --></A><H3>
+refreshServerNames</H3>
+<PRE>
+protected void <B>refreshServerNames</B>()
+                           throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of server names of this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+           throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Unauthenticates this </code>Token</code> object associated with this 
+ <code>Cell</code> and deletes all of its stored information.  This 
+ method should only be called when this <code>Cell</code> or any of the
+ objects constructed using this <code>Cell</code> will not be used 
+ anymore.  Note that this does not delete the actual AFS cell that this 
+ <code>Cell</code> object represents; it merely closes the 
+ representation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUser(java.lang.String)"><!-- --></A><H3>
+getUser</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/User.html">User</A> <B>getUser</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)
+             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>User</CODE> object (which is an abstract 
+ representation of an actual AFS user) designated by <code>name</code>.
+ If a user by that name does not actually exist in AFS in the cell
+ represented by this object, an <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> will be
+ thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to retrieve
+<DT><B>Returns:</B><DD><CODE>User</CODE> designated by <code>name</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <CODE>name</CODE> is 
+                                  <CODE>null</CODE>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserCount()"><!-- --></A><H3>
+getUserCount</H3>
+<PRE>
+public int <B>getUserCount</B>()
+                 throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of users who are registered with KAS and PTS,
+ without duplicates.  If a user has a KAS entry and not a PTS entry,
+ it will still be counted.  Conversely, if a user has a PTS entry and
+ not KAS, it too will be counted.  Effectively it is a non-duplicate
+ union of KAS and PTS user entries.
+ <P>If the total list of users or user names have already been 
+ collected (see <A HREF="../../../org/openafs/jafs/Cell.html#getUsers()"><CODE>getUsers()</CODE></A>), then the returning value will be 
+ calculated based upon the current list.  Otherwise, KAS and PTS will be
+ explicitly queried for the information.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>User</code> array of the users of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getUsers()"><CODE>getUsers()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getUserNames()"><CODE>getUserNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsers()"><!-- --></A><H3>
+getUsers</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/User.html">User</A>[] <B>getUsers</B>()
+                throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>User</code> objects 
+ associated with this <code>Cell</code>, each of which are an abstract 
+ representation of an actual user of the AFS cell.  After this method
+ is called once, it saves the array of <code>User</code>s and returns
+ that saved array on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current list is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>User</code> array of the users of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsers(int, int)"><!-- --></A><H3>
+getUsers</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/User.html">User</A>[] <B>getUsers</B>(int&nbsp;startIndex,
+                       int&nbsp;length)
+                throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array containing a subset of the <code>User</code> objects
+ associated with this <code>Cell</code>, each of which is an abstract
+ representation of an actual AFS user of the AFS cell.  The subset
+ is a point-in-time list of users (<code>User</code> objects
+ representing AFS users) starting at the complete array's index of
+ <code>startIndex</code> and containing up to <code>length</code>
+ elements.
+
+ If <code>length</code> is larger than the number of remaining elements, 
+ respective to <code>startIndex</code>, then this method will
+ ignore the remaining positions requested by <code>length</code> and 
+ return an array that contains the remaining number of elements found in 
+ this cell's complete array of users.
+
+ <P>This method is especially useful when managing iterations of very
+ large lists.  <A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()"><CODE>getUserCount()</CODE></A> can be used to determine if
+ iteration management is practical.
+
+ <P>This method does not save the resulting data and therefore 
+ queries AFS for each call.
+
+ <P><B>Note:</B> PTS-only users are collected before KAS users
+ and therefore will always, if PTS-only users exist, be within the
+ lowest range of this cell's complete list of users.  PTS and KAS
+ users are joined in a non-duplicating union and are consequently
+ treated as a single list of users, thus <code>startIndex</code>
+ does not necessarily indicate the first KAS user.
+
+ <P><B>Example:</B> If there are more than 50,000 users within this cell
+ then only render them in increments of 10,000.
+ <PRE>
+ ...
+   User[] users;
+   if (cell.getUserCount() > 50000) {
+     int index = 0;
+     int length = 10000;
+     while (index < cell.getUserCount()) {
+       users = cell.<B>getUsers</B>(index, length);
+       for (int i = 0; i < users.length; i++) {
+         ...
+       }
+       index += length;
+       ...
+     }
+   } else {
+     users = cell.getUsers();
+     for (int i = 0; i < users.length; i++) {
+       ...
+     }
+   }
+ ...
+ </PRE>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>startIndex</CODE> - the base zero index position at which the subset array 
+                    should start from, relative to the complete list of 
+                    elements present in AFS.<DD><CODE>length</CODE> - the number of elements that the subset should contain
+<DT><B>Returns:</B><DD>a subset array of users in this cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()"><CODE>getUserCount()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getUserNames(int, int)"><CODE>getUserNames(int, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getUsers()"><CODE>getUsers()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserNames()"><!-- --></A><H3>
+getUserNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getUserNames</B>()
+                      throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of users 
+ associated with this <code>Cell</code>. After this method
+ is called once, it saves the array of <code>String</code>s and returns
+ that saved array on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current list is obtained.
+
+ <P>This method is especially useful when managing iterations of
+ large lists.  <A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()"><CODE>getUserCount()</CODE></A> can be used to determine if
+ iteration management is practical.  In comparison to <A HREF="../../../org/openafs/jafs/Cell.html#getUsers()"><CODE>getUsers()</CODE></A>,
+ this method has yielded an average performance advantage of approximately
+ 82% at 10K users; this statistic, however, strictly compares the response
+ time of each method and understands that the <A HREF="../../../org/openafs/jafs/Cell.html#getUsers()"><CODE>getUsers()</CODE></A> method
+ will return an array of populated <code>User</code> objects, whereas this
+ method will return an array of <code>String</code> names.
+ <BR><BR>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>String</code> array of the user names of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserNames(int, int)"><!-- --></A><H3>
+getUserNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getUserNames</B>(int&nbsp;startIndex,
+                             int&nbsp;length)
+                      throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array containing a subset of the names of users
+ associated with this <code>Cell</code>.  The subset
+ is a point-in-time list of users (<code>String</code> names
+ of AFS users) starting at the complete array's index of
+ <code>startIndex</code> and containing up to <code>length</code>
+ elements.
+
+ If <code>length</code> is larger than the number of remaining elements, 
+ respective to <code>startIndex</code>, then this method will
+ ignore the remaining positions requested by <code>length</code> and 
+ return an array that contains the remaining number of elements found in 
+ this cell's complete array of users.
+
+ <P>This method is especially useful when managing iterations of very
+ large lists.  <A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()"><CODE>getUserCount()</CODE></A> can be used to determine if
+ iteration management is practical.
+
+ <P>This method does not save the resulting data and therefore 
+ queries AFS for each call.
+
+ <P><B>Note:</B> PTS-only users are collected before KAS users
+ and therefore will always, if PTS-only users exist, be within the
+ lowest range of this cell's complete list of users.  PTS and KAS
+ users are joined in a non-duplicating union and are consequently
+ treated as a single list of users, thus <code>startIndex</code>
+ does not necessarily indicate the first KAS user.
+
+ <P><B>Example:</B> If there are more than 50,000 users within this cell
+ then only render them in increments of 10,000.
+ <PRE>
+ ...
+   String[] users;
+   if (cell.getUserCount() > 50000) {
+     int index = 0;
+     int length = 10000;
+     while (index < cell.getUserCount()) {
+       users = cell.<B>getUserNames</B>(index, length);
+       for (int i = 0; i < users.length; i++) {
+         ...
+       }
+       index += length;
+       ...
+     }
+   } else {
+     users = cell.getUserNames();
+     for (int i = 0; i < users.length; i++) {
+       ...
+     }
+   }
+ ...
+ </PRE>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>startIndex</CODE> - the base zero index position at which the subset array
+                    should start from, relative to the complete list of 
+                    elements present in AFS.<DD><CODE>length</CODE> - the number of elements that the subset should contain
+<DT><B>Returns:</B><DD>a subset array of user names in this cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()"><CODE>getUserCount()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getUserNames()"><CODE>getUserNames()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getUsers(int, int)"><CODE>getUsers(int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroup(java.lang.String)"><!-- --></A><H3>
+getGroup</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Group.html">Group</A> <B>getGroup</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)
+               throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>Group</CODE> object (which is an abstract 
+ representation of an actual AFS group) designated by <code>name</code>.
+ If a group by that name does not actually exist in AFS in the cell
+ represented by this object, an <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> will be
+ thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the group to retrieve
+<DT><B>Returns:</B><DD><CODE>Group</CODE> designated by <code>name</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <CODE>name</CODE> is 
+                                  <CODE>null</CODE>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupCount()"><!-- --></A><H3>
+getGroupCount</H3>
+<PRE>
+public int <B>getGroupCount</B>()
+                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of groups associated with this Cell.
+ <P>If the total list of groups or group names have already been 
+ collected (see <A HREF="../../../org/openafs/jafs/Cell.html#getGroups()"><CODE>getGroups()</CODE></A>), then the returning value will be 
+ calculated based upon the current list.  Otherwise, PTS will be
+ explicitly queried for the information.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>User</code> array of the users of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getGroups()"><CODE>getGroups()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getGroupNames()"><CODE>getGroupNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroups()"><!-- --></A><H3>
+getGroups</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[] <B>getGroups</B>()
+                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>Group</code> objects 
+ associated with this <code>Cell</code>, each of which are an abstract 
+ representation of an actual group of the AFS cell.  After this method
+ is called once, it saves the array of <code>Group</code>s and returns
+ that saved array on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current list is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>Group</code> array of the groups of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroups(int, int)"><!-- --></A><H3>
+getGroups</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[] <B>getGroups</B>(int&nbsp;startIndex,
+                         int&nbsp;length)
+                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array containing a subset of the <code>Group</code> objects
+ associated with this <code>Cell</code>, each of which is an abstract
+ representation of an actual AFS group of the AFS cell.  The subset
+ is a point-in-time list of groups (<code>Group</code> objects
+ representing AFS groups) starting at the complete array's index of
+ <code>startIndex</code> and containing up to <code>length</code>
+ elements.
+
+ If <code>length</code> is larger than the number of remaining elements, 
+ respective to <code>startIndex</code>, then this method will
+ ignore the remaining positions requested by <code>length</code> and 
+ return an array that contains the remaining number of elements found in 
+ this cell's complete array of groups.
+
+ <P>This method is especially useful when managing iterations of very
+ large lists.  <A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount()"><CODE>getGroupCount()</CODE></A> can be used to determine if
+ iteration management is practical.
+
+ <P>This method does not save the resulting data and therefore 
+ queries AFS for each call.
+
+ <P><B>Example:</B> If there are more than 50,000 groups within this cell
+ then only render them in increments of 10,000.
+ <PRE>
+ ...
+   Group[] groups;
+   if (cell.getGroupCount() > 50000) {
+     int index = 0;
+     int length = 10000;
+     while (index < cell.getGroupCount()) {
+       groups = cell.<B>getGroups</B>(index, length);
+       for (int i = 0; i < groups.length; i++) {
+         ...
+       }
+       index += length;
+       ...
+     }
+   } else {
+     groups = cell.getGroups();
+     for (int i = 0; i < groups.length; i++) {
+       ...
+     }
+   }
+ ...
+ </PRE>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>startIndex</CODE> - the base zero index position at which the subset array 
+                    should start from, relative to the complete list of 
+                    elements present in AFS.<DD><CODE>length</CODE> - the number of elements that the subset should contain
+<DT><B>Returns:</B><DD>a subset array of groups in this cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount()"><CODE>getGroupCount()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getGroupNames(int, int)"><CODE>getGroupNames(int, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getGroups()"><CODE>getGroups()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupNames()"><!-- --></A><H3>
+getGroupNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getGroupNames</B>()
+                       throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of groups
+ associated with this <code>Cell</code>. After this method
+ is called once, it saves the array of <code>String</code>s and returns
+ that saved array on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current list is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> array of the group names of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupNames(int, int)"><!-- --></A><H3>
+getGroupNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getGroupNames</B>(int&nbsp;startIndex,
+                              int&nbsp;length)
+                       throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array containing a subset of the names of groups
+ associated with this <code>Cell</code>.  The subset
+ is a point-in-time list of groups (<code>String</code> names
+ of AFS groups) starting at the complete array's index of
+ <code>startIndex</code> and containing up to <code>length</code>
+ elements.
+
+ If <code>length</code> is larger than the number of remaining elements, 
+ respective to <code>startIndex</code>, then this method will
+ ignore the remaining positions requested by <code>length</code> and 
+ return an array that contains the remaining number of elements found in 
+ this cell's complete array of groups.
+
+ <P>This method is especially useful when managing iterations of very
+ large lists.  <A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount()"><CODE>getGroupCount()</CODE></A> can be used to determine if
+ iteration management is practical.
+
+ <P>This method does not save the resulting data and therefore 
+ queries AFS for each call.
+
+ <P><B>Example:</B> If there are more than 50,000 groups within this cell
+ then only render them in increments of 10,000.
+ <PRE>
+ ...
+   String[] groups;
+   if (cell.getGroupCount() > 50000) {
+     int index = 0;
+     int length = 10000;
+     while (index < cell.getGroupCount()) {
+       groups = cell.<B>getGroupNames</B>(index, length);
+       for (int i = 0; i < groups.length; i++) {
+         ...
+       }
+       index += length;
+       ...
+     }
+   } else {
+     groups = cell.getGroupNames();
+     for (int i = 0; i < groups.length; i++) {
+       ...
+     }
+   }
+ ...
+ </PRE>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>startIndex</CODE> - the base zero index position at which the subset array 
+                    should start from, relative to the complete list of 
+                    elements present in AFS.<DD><CODE>length</CODE> - the number of elements that the subset should contain
+<DT><B>Returns:</B><DD>a subset array of group names in this cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount()"><CODE>getGroupCount()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getGroups(int, int)"><CODE>getGroups(int, int)</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getGroupNames()"><CODE>getGroupNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServer(java.lang.String)"><!-- --></A><H3>
+getServer</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>getServer</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;name)
+                 throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>Server</CODE> object (which is an abstract 
+ representation of an actual AFS server) designated by <code>name</code>.
+ If a group by that name does not actually exist in AFS in the cell
+ represented by this object, an <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> will be
+ thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the server to retrieve
+<DT><B>Returns:</B><DD><CODE>Server</CODE> designated by <code>name</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <CODE>name</CODE> is 
+                                  <CODE>null</CODE>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerCount()"><!-- --></A><H3>
+getServerCount</H3>
+<PRE>
+public int <B>getServerCount</B>()
+                   throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of servers associated with this Cell.
+ <P>If the total list of servers or server names have already been 
+ collected (see <A HREF="../../../org/openafs/jafs/Cell.html#getServers()"><CODE>getServers()</CODE></A>), then the returning value will be 
+ calculated based upon the current list.  Otherwise, AFS will be
+ explicitly queried for the information.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>User</code> array of the users of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getServers()"><CODE>getServers()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getServerNames()"><CODE>getServerNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServers()"><!-- --></A><H3>
+getServers</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.html">Server</A>[] <B>getServers</B>()
+                    throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>Server</code> objects 
+ associated with this <code>Cell</code>, each of which are an abstract 
+ representation of an actual server of the AFS cell.  After this method
+ is called once, it saves the array of <code>Server</code>s and returns
+ that saved array on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current list is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Server</code> array of the servers of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerNames()"><!-- --></A><H3>
+getServerNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getServerNames</B>()
+                        throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of servers
+ associated with this <code>Cell</code>. After this method
+ is called once, it saves the array of <code>String</code>s and returns
+ that saved array on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current list is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> array of the servers of the cell.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxGroupID()"><!-- --></A><H3>
+getMaxGroupID</H3>
+<PRE>
+public int <B>getMaxGroupID</B>()
+                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the maximum group ID that's been used within the cell.  
+ The next auto-assigned group ID will be one less (more negative) 
+ than this amount.   After this method is called once, it saves the 
+ max group id and returns that id on subsequent calls, until the 
+ <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current id is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer representing the maximum group ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxUserID()"><!-- --></A><H3>
+getMaxUserID</H3>
+<PRE>
+public int <B>getMaxUserID</B>()
+                 throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the maximum user ID that's been used within the cell.  
+ The next auto-assigned user ID will be one greater (more positive) 
+ than this amount.   After this method is called once, it saves the 
+ max user id and returns that id on subsequent calls, until the 
+ <A HREF="../../../org/openafs/jafs/Cell.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current id is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer representing the maximum user ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTokenExpiration()"><!-- --></A><H3>
+getTokenExpiration</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getTokenExpiration</B>()
+                                     throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the expiration time of the authentication token being used 
+ by this <code>Cell</code> object.  After this time, this 
+ <code>Cell</code> object will no longer be authorized to perform
+ actions requiring administrative authority.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>expiration time of the token
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCellHandle()"><!-- --></A><H3>
+getCellHandle</H3>
+<PRE>
+public int <B>getCellHandle</B>()
+                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the cell handle of this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the cell handle
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>Returns the name of this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the cell name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxGroupID(int)"><!-- --></A><H3>
+setMaxGroupID</H3>
+<PRE>
+public void <B>setMaxGroupID</B>(int&nbsp;maxID)
+                   throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the maximum group ID that's been used within the cell.  The next 
+ auto-assigned group ID will be one less (more negative) than this amount.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxID</CODE> - an integer representing the maximum group ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxUserID(int)"><!-- --></A><H3>
+setMaxUserID</H3>
+<PRE>
+public void <B>setMaxUserID</B>(int&nbsp;maxID)
+                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the maximum user ID that's been used within the cell.  The next 
+ auto-assigned user ID will be one greater (more positive) than this 
+ amount.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxID</CODE> - an integer representing the maximum user ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfo()"><!-- --></A><H3>
+getInfo</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfo</B>()</PRE>
+<DL>
+<DD>Returns a <code>String</code> representation of this <code>Cell</code>.  
+ Contains the cell name followed by the names of its users and groups.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of this <code>Cell</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoUsers()"><!-- --></A><H3>
+getInfoUsers</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoUsers</B>()
+                       throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the <code>String</code> 
+ representations of all the users of this <code>Cell</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the users
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/User.html#getInfo()"><CODE>User.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoGroups()"><!-- --></A><H3>
+getInfoGroups</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoGroups</B>()
+                        throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the <code>String</code> 
+ representations of all the groups of this <code>Cell</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the groups
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Group.html#getInfo()"><CODE>Group.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoServers()"><!-- --></A><H3>
+getInfoServers</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoServers</B>()
+                         throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the <code>String</code> 
+ representations of all the servers of this <code>Cell</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the servers
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.html#getInfo()"><CODE>Server.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Cell)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A>&nbsp;otherCell)</PRE>
+<DL>
+<DD>Tests whether two <code>Cell</code> objects are equal, based on their 
+ names.  Does not test whether the objects are actually the same
+ representational instance of the AFS cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherCell</CODE> - the <code>Cell</code> to test
+<DT><B>Returns:</B><DD>whether the specifed user is the same as this user</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns the name of this <CODE>Cell</CODE>
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this <CODE>Cell</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKasUserCount(int)"><!-- --></A><H3>
+getKasUserCount</H3>
+<PRE>
+protected static int <B>getKasUserCount</B>(int&nbsp;cellHandle)
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of KAS users belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong
+<DT><B>Returns:</B><DD>total count of KAS users
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKasUsersBegin(int)"><!-- --></A><H3>
+getKasUsersBegin</H3>
+<PRE>
+protected static int <B>getKasUsersBegin</B>(int&nbsp;cellHandle)
+                               throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the kas users that belong to the cell.  
+ Returns an iteration ID to be used by subsequent calls to 
+ <code>getKasUsersNextString</code> (or <code>getKasUsersNext</code>) 
+ and <code>getKasUsersDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong
+<DT><B>Returns:</B><DD>an iteration ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKasUsersBeginAt(int, int)"><!-- --></A><H3>
+getKasUsersBeginAt</H3>
+<PRE>
+protected static int <B>getKasUsersBeginAt</B>(int&nbsp;cellHandle,
+                                        int&nbsp;startIndex)
+                                 throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the KAS users, starting at
+ <code>startIndex</code>, that belong to the cell.  
+ Returns an iteration ID to be used by subsequent calls to 
+ <code>getKasUsersNextString</code> (or <code>getKasUsersNext</code>) 
+ and <code>getKasUsersDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong<DD><CODE>startIndex</CODE> - the starting base-zero index
+<DT><B>Returns:</B><DD>an iteration ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKasUsersNextString(int)"><!-- --></A><H3>
+getKasUsersNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getKasUsersNextString</B>(int&nbsp;iterationId)
+                                       throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next kas user of the cell.  Returns <code>null</code> if there
+ are no more users.  Appends instance names to principal names as follows:
+ <i>principal</i>.<i>instance</i>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Returns:</B><DD>the name of the next user of the cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBegin(int)"><CODE>getKasUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKasUsersNext(int, int, org.openafs.jafs.User)"><!-- --></A><H3>
+getKasUsersNext</H3>
+<PRE>
+protected static int <B>getKasUsersNext</B>(int&nbsp;cellHandle,
+                                     int&nbsp;iterationId,
+                                     <A HREF="../../../org/openafs/jafs/User.html">User</A>&nbsp;theUser)
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next kas user object of the cell.  Returns 0 if there
+ are no more users, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theUser</CODE> - a User object to be populated with the values of 
+                  the next kas user
+<DT><B>Returns:</B><DD>0 if there are no more users, != 0 otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBegin(int)"><CODE>getKasUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKasUsersDone(int)"><!-- --></A><H3>
+getKasUsersDone</H3>
+<PRE>
+protected static void <B>getKasUsersDone</B>(int&nbsp;iterationId)
+                               throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Signals that the iteration is complete and will not be accessed anymore.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBegin(int)"><CODE>getKasUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsUserCount(int)"><!-- --></A><H3>
+getPtsUserCount</H3>
+<PRE>
+protected static int <B>getPtsUserCount</B>(int&nbsp;cellHandle)
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of PTS users belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong
+<DT><B>Returns:</B><DD>total number of PTS users
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsOnlyUserCount(int)"><!-- --></A><H3>
+getPtsOnlyUserCount</H3>
+<PRE>
+protected static int <B>getPtsOnlyUserCount</B>(int&nbsp;cellHandle)
+                                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of PTS users, belonging to the cell denoted
+ by <CODE>cellHandle</CODE>, that are not in KAS.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong
+<DT><B>Returns:</B><DD>total number of users that are in PTS and not KAS
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsUsersBegin(int)"><!-- --></A><H3>
+getPtsUsersBegin</H3>
+<PRE>
+protected static int <B>getPtsUsersBegin</B>(int&nbsp;cellHandle)
+                               throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the pts users that belong to the cell.  
+ Returns an iteration ID to be used by subsequent calls to 
+ <code>getPtsUsersNextString</code> (or <code>getPtsUsersNext</code>) 
+ and <code>getPtsUsersDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong
+<DT><B>Returns:</B><DD>an iteration ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsUsersNextString(int)"><!-- --></A><H3>
+getPtsUsersNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getPtsUsersNextString</B>(int&nbsp;iterationId)
+                                       throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next pts user of the cell.  Returns <code>null</code> if 
+ there are no more users.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Returns:</B><DD>the name of the next user of the cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)"><CODE>getPtsUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsOnlyUsersNextString(int, int)"><!-- --></A><H3>
+getPtsOnlyUsersNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getPtsOnlyUsersNextString</B>(int&nbsp;iterationId,
+                                                  int&nbsp;cellHandle)
+                                           throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next pts user (who is not a kas user) of the cell.  
+ Returns <code>null</code> if there are no more users.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>cellHandle</CODE> - the cell handle to which these users will belong
+<DT><B>Returns:</B><DD>the name of the next pts user (not kas user) of the cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)"><CODE>getPtsUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsUsersNext(int, int, org.openafs.jafs.User)"><!-- --></A><H3>
+getPtsUsersNext</H3>
+<PRE>
+protected static int <B>getPtsUsersNext</B>(int&nbsp;cellHandle,
+                                     int&nbsp;iterationId,
+                                     <A HREF="../../../org/openafs/jafs/User.html">User</A>&nbsp;theUser)
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next pts user object of the cell.  Returns 0 if there
+ are no more users, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theUser</CODE> - a User object to be populated with the values of 
+                  the next pts user
+<DT><B>Returns:</B><DD>0 if there are no more users, != 0 otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)"><CODE>getPtsUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsOnlyUsersNext(int, int, org.openafs.jafs.User)"><!-- --></A><H3>
+getPtsOnlyUsersNext</H3>
+<PRE>
+protected static int <B>getPtsOnlyUsersNext</B>(int&nbsp;cellHandle,
+                                         int&nbsp;iterationId,
+                                         <A HREF="../../../org/openafs/jafs/User.html">User</A>&nbsp;theUser)
+                                  throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next pts user (who does not have a kas entry) object of 
+ the cell.  Returns 0 if there are no more users, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theUser</CODE> - a User object to be populated with the values of 
+                  the next pts (with no kas) user
+<DT><B>Returns:</B><DD>0 if there are no more users, != 0 otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)"><CODE>getPtsUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPtsUsersDone(int)"><!-- --></A><H3>
+getPtsUsersDone</H3>
+<PRE>
+protected static void <B>getPtsUsersDone</B>(int&nbsp;iterationId)
+                               throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Signals that the iteration is complete and will not be accessed anymore.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)"><CODE>getPtsUsersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupCount(int)"><!-- --></A><H3>
+getGroupCount</H3>
+<PRE>
+protected static int <B>getGroupCount</B>(int&nbsp;cellHandle)
+                            throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of groups belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the groups belong
+<DT><B>Returns:</B><DD>total number of groups
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsBegin(int)"><!-- --></A><H3>
+getGroupsBegin</H3>
+<PRE>
+protected static int <B>getGroupsBegin</B>(int&nbsp;cellHandle)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the groups that belong to the cell.  Returns 
+ an iteration ID to be used by subsequent calls to 
+ <code>getGroupsNextString</code> (or <code>getGroupsNext</code>) and 
+ <code>getGroupsDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the groups belong
+<DT><B>Returns:</B><DD>an iteration ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsBeginAt(int, int)"><!-- --></A><H3>
+getGroupsBeginAt</H3>
+<PRE>
+protected static int <B>getGroupsBeginAt</B>(int&nbsp;cellHandle,
+                                      int&nbsp;startIndex)
+                               throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the groups that belong to the cell, starting
+ with element index <code>startIndex</code>.  Returns an iteration ID to 
+ be used by subsequent calls to <code>getGroupsNextString</code> 
+ (or <code>getGroupsNext</code>) and <code>getGroupsDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the groups belong<DD><CODE>startIndex</CODE> - the starting base-zero index
+<DT><B>Returns:</B><DD>an iteration ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsNextString(int)"><!-- --></A><H3>
+getGroupsNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getGroupsNextString</B>(int&nbsp;iterationId)
+                                     throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next group of the cell.  Returns <code>null</code> if there
+ are no more groups.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Returns:</B><DD>the name of the next user of the cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBegin(int)"><CODE>getGroupsBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsNext(int, int, org.openafs.jafs.Group)"><!-- --></A><H3>
+getGroupsNext</H3>
+<PRE>
+protected static int <B>getGroupsNext</B>(int&nbsp;cellHandle,
+                                   int&nbsp;iterationId,
+                                   <A HREF="../../../org/openafs/jafs/Group.html">Group</A>&nbsp;theGroup)
+                            throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next group object of the cell.  Returns 0 if there
+ are no more groups, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theGroup</CODE> - a Group object to be populated with the values of 
+                   the next group
+<DT><B>Returns:</B><DD>0 if there are no more users, != 0 otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBegin(int)"><CODE>getGroupsBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsDone(int)"><!-- --></A><H3>
+getGroupsDone</H3>
+<PRE>
+protected static void <B>getGroupsDone</B>(int&nbsp;iterationId)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Signals that the iteration is complete and will not be accessed anymore.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBegin(int)"><CODE>getGroupsBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerCount(int)"><!-- --></A><H3>
+getServerCount</H3>
+<PRE>
+protected static int <B>getServerCount</B>(int&nbsp;cellHandle)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of servers belonging to the cell denoted
+ by <CODE>cellHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the servers belong
+<DT><B>Returns:</B><DD>total number of servers
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServersBegin(int)"><!-- --></A><H3>
+getServersBegin</H3>
+<PRE>
+protected static int <B>getServersBegin</B>(int&nbsp;cellHandle)
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the servers in the cell.  Returns 
+ an iteration ID to be used by subsequent calls to 
+ <code>getServersNextString</code> and <code>getServersDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the servers belong
+<DT><B>Returns:</B><DD>an iteration ID
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServersNextString(int)"><!-- --></A><H3>
+getServersNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getServersNextString</B>(int&nbsp;iterationId)
+                                      throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next server of the cell.  Returns <code>null</code> if there
+ are no more servers.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Returns:</B><DD>the name of the next server of the cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getServersBegin(int)"><CODE>getServersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServersNext(int, int, org.openafs.jafs.Server)"><!-- --></A><H3>
+getServersNext</H3>
+<PRE>
+protected static int <B>getServersNext</B>(int&nbsp;cellHandle,
+                                    int&nbsp;iterationId,
+                                    <A HREF="../../../org/openafs/jafs/Server.html">Server</A>&nbsp;theServer)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next server object of the cell.  Returns 0 if there are no 
+ more servers, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the users belong<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theServer</CODE> - a Server object to be populated with the values 
+                    of the next server
+<DT><B>Returns:</B><DD>0 if there are no more servers, != 0 otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A>, 
+<A HREF="../../../org/openafs/jafs/Cell.html#getServersBegin(int)"><CODE>getServersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServersDone(int)"><!-- --></A><H3>
+getServersDone</H3>
+<PRE>
+protected static void <B>getServersDone</B>(int&nbsp;iterationId)
+                              throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Signals that the iteration is complete and will not be accessed anymore.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getServersBegin(int)"><CODE>getServersBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCellName(int)"><!-- --></A><H3>
+getCellName</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getCellName</B>(int&nbsp;cellHandle)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the name of the cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the user belongs
+<DT><B>Returns:</B><DD>the name of the cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMountPoint(int, java.lang.String, java.lang.String, boolean, boolean)"><!-- --></A><H3>
+createMountPoint</H3>
+<PRE>
+protected static void <B>createMountPoint</B>(int&nbsp;cellHandle,
+                                       <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;directory,
+                                       <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;volumeName,
+                                       boolean&nbsp;readWrite,
+                                       boolean&nbsp;forceCheck)
+                                throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a mount point for a volume within the file system.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the user belongs<DD><CODE>directory</CODE> - the full path of the place in the AFS file system 
+                     at which to mount the volume<DD><CODE>volumeName</CODE> - the name of the volume to mount<DD><CODE>readWrite</CODE> - whether or not this is to be a readwrite mount point<DD><CODE>forceCheck</CODE> - whether or not to check if this volume name exists
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setACL(java.lang.String, java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean)"><!-- --></A><H3>
+setACL</H3>
+<PRE>
+public static void <B>setACL</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;directory,
+                          <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;username,
+                          boolean&nbsp;read,
+                          boolean&nbsp;write,
+                          boolean&nbsp;lookup,
+                          boolean&nbsp;delete,
+                          boolean&nbsp;insert,
+                          boolean&nbsp;lock,
+                          boolean&nbsp;admin)
+                   throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxGroupID(int)"><!-- --></A><H3>
+getMaxGroupID</H3>
+<PRE>
+protected static int <B>getMaxGroupID</B>(int&nbsp;cellHandle)
+                            throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Gets the maximum group pts ID that's been used within a cell.   
+ The next auto-assigned group ID will be one less (more negative) 
+ than this value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the group belongs
+<DT><B>Returns:</B><DD>an integer reresenting the max group id in a cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxGroupID(int, int)"><!-- --></A><H3>
+setMaxGroupID</H3>
+<PRE>
+protected static void <B>setMaxGroupID</B>(int&nbsp;cellHandle,
+                                    int&nbsp;maxID)
+                             throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the maximum group pts ID that's been used within a cell.  The next 
+ auto-assigned group ID will be one less (more negative) than this value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the group belongs<DD><CODE>maxID</CODE> - an integer reresenting the new max group id in a cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxUserID(int)"><!-- --></A><H3>
+getMaxUserID</H3>
+<PRE>
+protected static int <B>getMaxUserID</B>(int&nbsp;cellHandle)
+                           throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Gets the maximum user pts ID that's been used within a cell.   
+ The next auto-assigned user ID will be one greater (more positive) 
+ than this value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the user belongs
+<DT><B>Returns:</B><DD>an integer reresenting the max user id in a cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxUserID(int, int)"><!-- --></A><H3>
+setMaxUserID</H3>
+<PRE>
+protected static void <B>setMaxUserID</B>(int&nbsp;cellHandle,
+                                   int&nbsp;maxID)
+                            throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the maximum user pts ID that's been used within a cell.  The next 
+ auto-assigned user ID will be one greater (more positive) than this value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the user belongs<DD><CODE>maxID</CODE> - an integer reresenting the new max user id in a cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimCellMemory()"><!-- --></A><H3>
+reclaimCellMemory</H3>
+<PRE>
+protected static void <B>reclaimCellMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the cell portion of the native library.
+ This method should be called when no more <code>Cell</code> objects 
+ are expected to be used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCellHandle(java.lang.String, int)"><!-- --></A><H3>
+getCellHandle</H3>
+<PRE>
+protected static int <B>getCellHandle</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName,
+                                   int&nbsp;tokenHandle)
+                            throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Opens a cell for administrative use, based on the token provided.  
+ Returns a cell handle to be used by other methods as a means of 
+ authentication.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellName</CODE> - the name of the cell for which to get the handle<DD><CODE>tokenHandle</CODE> - a token handle previously returned by a call to 
+ <A HREF="../../../org/openafs/jafs/Token.html#getHandle()"><CODE>Token.getHandle()</CODE></A>
+<DT><B>Returns:</B><DD>a handle to the open cell
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Token.html#getHandle()"><CODE>Token.getHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="closeCell(int)"><!-- --></A><H3>
+closeCell</H3>
+<PRE>
+protected static void <B>closeCell</B>(int&nbsp;cellHandle)
+                         throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Closes the given currently open cell handle.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the cell handle to close
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Cell.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/ErrorTable.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Cell.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/AFSLore/JavaAdminAPI/ErrorTable.html b/AFSLore/JavaAdminAPI/ErrorTable.html
new file mode 100644 (file)
index 0000000..a0c0875
--- /dev/null
@@ -0,0 +1,1100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Jun 09 15:53:37 PDT 2003 -->
+<TITLE>
+ErrorTable (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.ErrorTable,ErrorTable class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="ErrorTable (Java AFS API)";
+}
+</SCRIPT>
+<BODY BGCOLOR="white" onload="asd();">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ErrorTable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/Cell.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/openafs/jafs/File.html"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ErrorTable.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class ErrorTable</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">java.lang.Object</A>
+  |
+  +--<B>org.openafs.jafs.ErrorTable</B>
+</PRE>
+<HR>
+<DL>
+<DT>public final class <B>ErrorTable</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></DL>
+
+<P>
+Static class for error code message management.
+
+ <P>Simply translates all error codes returned by the AFS native library
+ to literal string messages according to the defined locale.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>2.0, 11/06/2000</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_ADDRESS">BAD_ADDRESS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_FILE">BAD_FILE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_PASSWORD">BAD_PASSWORD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_USERNAME">BAD_USERNAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BZACCESS">BZACCESS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#CELL_NOT_FOUND">CELL_NOT_FOUND</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#CONNECTION_TIMED_OUT">CONNECTION_TIMED_OUT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#DEVICE_BUSY">DEVICE_BUSY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#DIRECTORY_NOT_EMPTY">DIRECTORY_NOT_EMPTY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#EXPIRED_PASSWORD">EXPIRED_PASSWORD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#EXPIRED_SESSION">EXPIRED_SESSION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FILE_BUSY">FILE_BUSY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FILE_EXISTS">FILE_EXISTS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FILE_OVERFLOW">FILE_OVERFLOW</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FORCED_ABORT">FORCED_ABORT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#GENERAL_FAILURE">GENERAL_FAILURE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#ID_LOCKED">ID_LOCKED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#INVALID_ARG">INVALID_ARG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#INVALID_SESSION">INVALID_SESSION</A></B></CODE>
+
+<BR>