--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ACL.Entry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/ACL.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="ACL.Entry.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#ADMIN">ADMIN</A></B></CODE>
+
+<BR>
+ ACL Mask administer constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#DELETE">DELETE</A></B></CODE>
+
+<BR>
+ ACL Mask delete constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#INSERT">INSERT</A></B></CODE>
+
+<BR>
+ ACL Mask insert constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#LOCK">LOCK</A></B></CODE>
+
+<BR>
+ ACL Mask lock constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#LOOKUP">LOOKUP</A></B></CODE>
+
+<BR>
+ ACL Mask lookup constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#READ">READ</A></B></CODE>
+
+<BR>
+ ACL Mask read constant</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#WRITE">WRITE</A></B></CODE>
+
+<BR>
+ ACL Mask write constant</TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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>
+ 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 permissionsMask)</CODE>
+
+<BR>
+ 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> user)</CODE>
+
+<BR>
+ 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> user,
+ int permissionsMask)</CODE>
+
+<BR>
+ 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>
+
+<!-- ========== 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canAdmin()">canAdmin</A></B>()</CODE>
+
+<BR>
+ <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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canDelete()">canDelete</A></B>()</CODE>
+
+<BR>
+ <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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()">canInsert</A></B>()</CODE>
+
+<BR>
+ <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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLock()">canLock</A></B>()</CODE>
+
+<BR>
+ <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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLookup()">canLookup</A></B>()</CODE>
+
+<BR>
+ <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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canRead()">canRead</A></B>()</CODE>
+
+<BR>
+ <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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canWrite()">canWrite</A></B>()</CODE>
+
+<BR>
+ <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> 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> entry)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getPermissionsMask()">getPermissionsMask</A></B>()</CODE>
+
+<BR>
+ Returns this entry's permission mask.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setAdmin(boolean)">setAdmin</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setDelete(boolean)">setDelete</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setInsert(boolean)">setInsert</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setLock(boolean)">setLock</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setLookup(boolean)">setLookup</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setPermissions(int)">setPermissions</A></B>(int permissionsMask)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setRead(boolean)">setRead</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> 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> user)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html#setWrite(boolean)">setWrite</A></B>(boolean flag)</CODE>
+
+<BR>
+ 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> <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>
+ Returns a String representation of this <CODE>ACL.Entry</CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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> 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 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> user,
+ int 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 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> 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 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 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 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 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 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 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 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> 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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ACL.Entry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/ACL.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="ACL.Entry.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ACL.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ PREV CLASS
+ <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>
+ <A HREF="ACL.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.Entry.html">ACL.Entry</A></B></CODE>
+
+<BR>
+ AFS ACL Entry Class.
+
+ </TD>
+</TR>
+</TABLE>
+
+<!-- =========== 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> path)</CODE>
+
+<BR>
+ </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> path,
+ boolean init)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> 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>[] entries)</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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>[] entries)</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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> acl)</CODE>
+
+<BR>
+ 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> 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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> 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> entry)</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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> acl)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#flush()">flush</A></B>()</CODE>
+
+<BR>
+ 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> <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> acl)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getEntryCount()">getEntryCount</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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> name)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getNegativeEntryCount()">getNegativeEntryCount</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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>
+ 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> <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>
+ 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> <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> name)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#getPositiveEntryCount()">getPositiveEntryCount</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#removeAllNegativeEntries()">removeAllNegativeEntries</A></B>()</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ACL.html#removeAllPositiveEntries()">removeAllPositiveEntries</A></B>()</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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> entry)</CODE>
+
+<BR>
+ 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> 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>[] entries)</CODE>
+
+<BR>
+ 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> 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>[] entries)</CODE>
+
+<BR>
+ 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> <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>
+ 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> 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> delta)</CODE>
+
+<BR>
+ Updates the current ACL instance by replacing, adding, or deleting
+ ACL entries designated by the specified Delta ACL (<code>delta</code>).
+
+ </TD>
+</TR>
+</TABLE>
+ <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>
+
+<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> 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> path,
+ boolean 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> 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> 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> 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>[] 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>[] 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> 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> 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> 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> 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> 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>[] 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> 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>[] 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> 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> 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> 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> 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> 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> 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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ACL.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ PREV CLASS
+ <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>
+ <A HREF="ACL.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSAdminException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ PREV CLASS \r
+ NEXT CLASS</FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> \r
+ <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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 errno)</CODE>\r
+\r
+<BR>\r
+ 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> message)</CODE>\r
+\r
+<BR>\r
+ 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> message,\r
+ int errno)</CODE>\r
+\r
+<BR>\r
+ Constructs a <code>AFSAdminException</code> with the specified detail \r
+ message\r
+ and specified error code.</TD>\r
+</TR>\r
+</TABLE>\r
+ \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> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="AFSAdminException.html#getErrorCode()">getErrorCode</A></B>()</CODE>\r
+\r
+<BR>\r
+ 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> <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
+ 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> <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
+ Returns a String representation of this AFS Exception.</TD>\r
+</TR>\r
+</TABLE>\r
+ <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
+ <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
+ \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> 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 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> message,\r
+ int 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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSAdminException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ PREV CLASS \r
+ NEXT CLASS</FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A> \r
+ <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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ PREV CLASS
+ <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>
+ <A HREF="AFSException.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#errno">errno</A></B></CODE>
+
+<BR>
+ The AFS specific error number (code).</TD>
+</TR>
+</TABLE>
+ <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>
+
+<!-- ======== 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 errno)</CODE>
+
+<BR>
+ 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> reason)</CODE>
+
+<BR>
+ 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> reason,
+ int errno)</CODE>
+
+<BR>
+ Constructs an <code>AFSException</code> with the specified detail message
+ and specified error code. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> <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>
+ 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> <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> locale)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSException.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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> locale)</CODE>
+
+<BR>
+ 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> <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>
+ Returns a string representation of this AFS Exception.
+
+ </TD>
+</TR>
+</TABLE>
+ <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>
+ <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>
+
+<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> 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 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> reason,
+ int 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> 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> 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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ PREV CLASS
+ <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>
+ <A HREF="AFSException.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSFileException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="AFSFileException.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#errno">errno</A></B></CODE>
+
+<BR>
+ The AFS specific error number (code).</TD>
+</TR>
+</TABLE>
+ <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>
+
+<!-- ======== 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 errno)</CODE>
+
+<BR>
+ 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> reason)</CODE>
+
+<BR>
+ 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> reason,
+ int errno)</CODE>
+
+<BR>
+ Constructs an <code>AFSFileException</code> with the specified detail
+ message and specified error code. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> <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>
+ 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> <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> locale)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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> locale)</CODE>
+
+<BR>
+ 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> <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>
+ Returns a string representation of this AFS Exception.</TD>
+</TR>
+</TABLE>
+ <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>
+ <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>
+
+<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> 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 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> reason,
+ int 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> 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> 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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSFileException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="AFSFileException.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSLibraryLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/ACL.Entry.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="AFSLibraryLoader.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | 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>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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>
+
+<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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSLibraryLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/ACL.Entry.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="AFSLibraryLoader.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSSecurityException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="AFSSecurityException.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#errno">errno</A></B></CODE>
+
+<BR>
+ The AFS specific error number (code).</TD>
+</TR>
+</TABLE>
+ <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>
+
+<!-- ======== 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 errno)</CODE>
+
+<BR>
+ 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> reason)</CODE>
+
+<BR>
+ 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> reason,
+ int errno)</CODE>
+
+<BR>
+ Constructs an <code>AFSFileException</code> with the specified detail
+ message and specified error code. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> <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>
+ 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> <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> locale)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSSecurityException.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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> locale)</CODE>
+
+<BR>
+ 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> <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>
+ Returns a string representation of this AFS Exception.</TD>
+</TR>
+</TABLE>
+ <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>
+ <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>
+
+<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> 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 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> reason,
+ int 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> 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> 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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSSecurityException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="AFSSecurityException.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSShutdownHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="AFSShutdownHandler.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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>
+ <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>
+
+<!-- ======== 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>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html#run()">run</A></B>()</CODE>
+
+<BR>
+ This is the execution method satisfying the interface requirement as a
+ stand alone runnable thread.
+
+ </TD>
+</TR>
+</TABLE>
+ <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>
+ <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>
+
+<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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AFSShutdownHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSLibraryLoader.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="AFSShutdownHandler.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+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;
+ }
+ }
+
+}
--- /dev/null
+<!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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Authenticate.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ PREV CLASS \r
+ <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> \r
+ <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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | 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
+ </TD>\r
+</TR>\r
+</TABLE>\r
+ \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
+ \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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Authenticate.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ PREV CLASS \r
+ <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> \r
+ <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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | 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
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Cell.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="Cell.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#cellHandle">cellHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#maxGroupID">maxGroupID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#maxUserID">maxUserID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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> token)</CODE>
+
+<BR>
+ 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> token,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ 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>
+
+<!-- ========== 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#close()">close</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#closeCell(int)">closeCell</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 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 cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> directory,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volumeName,
+ boolean readWrite,
+ boolean forceCheck)</CODE>
+
+<BR>
+ 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> 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> otherCell)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()">getCellHandle</A></B>()</CODE>
+
+<BR>
+ 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 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> cellName,
+ int tokenHandle)</CODE>
+
+<BR>
+ 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 <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 cellHandle)</CODE>
+
+<BR>
+ Returns the name of the cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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> name)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount()">getGroupCount</A></B>()</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupCount(int)">getGroupCount</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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 startIndex,
+ int length)</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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 startIndex,
+ int length)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBegin(int)">getGroupsBegin</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsBeginAt(int, int)">getGroupsBeginAt</A></B>(int cellHandle,
+ int startIndex)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getGroupsDone(int)">getGroupsDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)</CODE>
+
+<BR>
+ 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 <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 iterationId)</CODE>
+
+<BR>
+ 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 <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>
+ 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 <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>
+ 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 <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>
+ 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 <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>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUserCount(int)">getKasUserCount</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBegin(int)">getKasUsersBegin</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersBeginAt(int, int)">getKasUsersBeginAt</A></B>(int cellHandle,
+ int startIndex)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getKasUsersDone(int)">getKasUsersDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ 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 <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 iterationId)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxGroupID()">getMaxGroupID</A></B>()</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxGroupID(int)">getMaxGroupID</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxUserID()">getMaxUserID</A></B>()</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getMaxUserID(int)">getMaxUserID</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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> <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>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsOnlyUserCount(int)">getPtsOnlyUserCount</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ 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 <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 iterationId,
+ int cellHandle)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUserCount(int)">getPtsUserCount</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersBegin(int)">getPtsUsersBegin</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getPtsUsersDone(int)">getPtsUsersDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ 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 <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 iterationId)</CODE>
+
+<BR>
+ 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> <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> name)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServerCount()">getServerCount</A></B>()</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServerCount(int)">getServerCount</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServersBegin(int)">getServersBegin</A></B>(int cellHandle)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getServersDone(int)">getServersDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> theServer)</CODE>
+
+<BR>
+ 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 <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 iterationId)</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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> name)</CODE>
+
+<BR>
+ 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#getUserCount()">getUserCount</A></B>()</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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 startIndex,
+ int length)</CODE>
+
+<BR>
+ 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> <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>
+ 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> <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 startIndex,
+ int length)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#reclaimCellMemory()">reclaimCellMemory</A></B>()</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshGroupNames()">refreshGroupNames</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshGroups()">refreshGroups</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshServerNames()">refreshServerNames</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshServers()">refreshServers</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshUserNames()">refreshUserNames</A></B>()</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#refreshUsers()">refreshUsers</A></B>()</CODE>
+
+<BR>
+ 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 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> directory,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ boolean read,
+ boolean write,
+ boolean lookup,
+ boolean delete,
+ boolean insert,
+ boolean lock,
+ boolean admin)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxGroupID(int)">setMaxGroupID</A></B>(int maxID)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxGroupID(int, int)">setMaxGroupID</A></B>(int cellHandle,
+ int maxID)</CODE>
+
+<BR>
+ 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxUserID(int)">setMaxUserID</A></B>(int maxID)</CODE>
+
+<BR>
+ 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 void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Cell.html#setMaxUserID(int, int)">setMaxUserID</A></B>(int cellHandle,
+ int maxID)</CODE>
+
+<BR>
+ 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> <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>
+ Returns the name of this <CODE>Cell</CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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> 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> token,
+ boolean 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 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> 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 startIndex,
+ int 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 startIndex,
+ int 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> 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 startIndex,
+ int 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 startIndex,
+ int 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> 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 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 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> 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 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 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 cellHandle,
+ int 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> 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 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 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 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 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 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 iterationId,
+ int 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> 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 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 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 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 cellHandle,
+ int 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> 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 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 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 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 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 cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> 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 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 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 cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> directory,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volumeName,
+ boolean readWrite,
+ boolean 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> directory,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ boolean read,
+ boolean write,
+ boolean lookup,
+ boolean delete,
+ boolean insert,
+ boolean lock,
+ boolean 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 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 cellHandle,
+ int 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 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 cellHandle,
+ int 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> cellName,
+ int 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 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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Cell.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/AFSShutdownHandler.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="Cell.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ErrorTable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Cell.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="ErrorTable.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_ADDRESS">BAD_ADDRESS</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_FILE">BAD_FILE</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_PASSWORD">BAD_PASSWORD</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BAD_USERNAME">BAD_USERNAME</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#BZACCESS">BZACCESS</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#CELL_NOT_FOUND">CELL_NOT_FOUND</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#CONNECTION_TIMED_OUT">CONNECTION_TIMED_OUT</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#DEVICE_BUSY">DEVICE_BUSY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#DIRECTORY_NOT_EMPTY">DIRECTORY_NOT_EMPTY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#EXPIRED_PASSWORD">EXPIRED_PASSWORD</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#EXPIRED_SESSION">EXPIRED_SESSION</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FILE_BUSY">FILE_BUSY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FILE_EXISTS">FILE_EXISTS</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FILE_OVERFLOW">FILE_OVERFLOW</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#FORCED_ABORT">FORCED_ABORT</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#GENERAL_FAILURE">GENERAL_FAILURE</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#ID_LOCKED">ID_LOCKED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#INVALID_ARG">INVALID_ARG</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#INVALID_SESSION">INVALID_SESSION</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#IO_ERROR">IO_ERROR</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#IS_DIRECTORY">IS_DIRECTORY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#KANOAUTH">KANOAUTH</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NAME_TOO_LONG">NAME_TOO_LONG</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NO_DEVICE">NO_DEVICE</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NO_DEVICE_ADDRESS">NO_DEVICE_ADDRESS</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NOT_DIRECTORY">NOT_DIRECTORY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NOT_FOUND">NOT_FOUND</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NOT_PERMITTED">NOT_PERMITTED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#NULL">NULL</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#OPERATION_ABORTED">OPERATION_ABORTED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#OUT_OF_MEMORY">OUT_OF_MEMORY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#PERMISSION_DENIED">PERMISSION_DENIED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#PRPERM">PRPERM</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#QUOTA_EXCEEDED">QUOTA_EXCEEDED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#RXKADNOAUTH">RXKADNOAUTH</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#SKEWED_CLOCK">SKEWED_CLOCK</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#SPECIAL_CASE">SPECIAL_CASE</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#TRY_AGAIN">TRY_AGAIN</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#UNKNOWN">UNKNOWN</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#UNOACCESS">UNOACCESS</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#USER_DOES_NOT_EXIST">USER_DOES_NOT_EXIST</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#USERNAME_EXISTS">USERNAME_EXISTS</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/ErrorTable.html#ErrorTable()">ErrorTable</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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>static <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/ErrorTable.html#getMessage(int)">getMessage</A></B>(int errno)</CODE>
+
+<BR>
+ Returns a String message representing the error code (number) provided.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <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/ErrorTable.html#getMessage(int, java.util.Locale)">getMessage</A></B>(int errno,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A> locale)</CODE>
+
+<BR>
+ Returns a String message, respective to the provided locale, representing
+ the error code (number) provided.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/ErrorTable.html#isPermissionDenied(int)">isPermissionDenied</A></B>(int errno)</CODE>
+
+<BR>
+ Tests to identify if the return code is a "Permission Denied" error.
+
+ </TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="UNKNOWN"><!-- --></A><H3>
+UNKNOWN</H3>
+<PRE>
+public static final int <B>UNKNOWN</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.UNKNOWN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SPECIAL_CASE"><!-- --></A><H3>
+SPECIAL_CASE</H3>
+<PRE>
+public static final int <B>SPECIAL_CASE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.SPECIAL_CASE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GENERAL_FAILURE"><!-- --></A><H3>
+GENERAL_FAILURE</H3>
+<PRE>
+public static final int <B>GENERAL_FAILURE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.GENERAL_FAILURE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NULL"><!-- --></A><H3>
+NULL</H3>
+<PRE>
+public static final int <B>NULL</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NULL">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="INVALID_SESSION"><!-- --></A><H3>
+INVALID_SESSION</H3>
+<PRE>
+public static final int <B>INVALID_SESSION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.INVALID_SESSION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EXPIRED_SESSION"><!-- --></A><H3>
+EXPIRED_SESSION</H3>
+<PRE>
+public static final int <B>EXPIRED_SESSION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.EXPIRED_SESSION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="OPERATION_ABORTED"><!-- --></A><H3>
+OPERATION_ABORTED</H3>
+<PRE>
+public static final int <B>OPERATION_ABORTED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.OPERATION_ABORTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FORCED_ABORT"><!-- --></A><H3>
+FORCED_ABORT</H3>
+<PRE>
+public static final int <B>FORCED_ABORT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.FORCED_ABORT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NOT_PERMITTED"><!-- --></A><H3>
+NOT_PERMITTED</H3>
+<PRE>
+public static final int <B>NOT_PERMITTED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NOT_PERMITTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NOT_FOUND"><!-- --></A><H3>
+NOT_FOUND</H3>
+<PRE>
+public static final int <B>NOT_FOUND</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NOT_FOUND">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="IO_ERROR"><!-- --></A><H3>
+IO_ERROR</H3>
+<PRE>
+public static final int <B>IO_ERROR</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.IO_ERROR">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_DEVICE_ADDRESS"><!-- --></A><H3>
+NO_DEVICE_ADDRESS</H3>
+<PRE>
+public static final int <B>NO_DEVICE_ADDRESS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NO_DEVICE_ADDRESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BAD_FILE"><!-- --></A><H3>
+BAD_FILE</H3>
+<PRE>
+public static final int <B>BAD_FILE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.BAD_FILE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TRY_AGAIN"><!-- --></A><H3>
+TRY_AGAIN</H3>
+<PRE>
+public static final int <B>TRY_AGAIN</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.TRY_AGAIN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="OUT_OF_MEMORY"><!-- --></A><H3>
+OUT_OF_MEMORY</H3>
+<PRE>
+public static final int <B>OUT_OF_MEMORY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.OUT_OF_MEMORY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PERMISSION_DENIED"><!-- --></A><H3>
+PERMISSION_DENIED</H3>
+<PRE>
+public static final int <B>PERMISSION_DENIED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.PERMISSION_DENIED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BAD_ADDRESS"><!-- --></A><H3>
+BAD_ADDRESS</H3>
+<PRE>
+public static final int <B>BAD_ADDRESS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.BAD_ADDRESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DEVICE_BUSY"><!-- --></A><H3>
+DEVICE_BUSY</H3>
+<PRE>
+public static final int <B>DEVICE_BUSY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.DEVICE_BUSY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FILE_EXISTS"><!-- --></A><H3>
+FILE_EXISTS</H3>
+<PRE>
+public static final int <B>FILE_EXISTS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.FILE_EXISTS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_DEVICE"><!-- --></A><H3>
+NO_DEVICE</H3>
+<PRE>
+public static final int <B>NO_DEVICE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NO_DEVICE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NOT_DIRECTORY"><!-- --></A><H3>
+NOT_DIRECTORY</H3>
+<PRE>
+public static final int <B>NOT_DIRECTORY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NOT_DIRECTORY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="IS_DIRECTORY"><!-- --></A><H3>
+IS_DIRECTORY</H3>
+<PRE>
+public static final int <B>IS_DIRECTORY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.IS_DIRECTORY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="INVALID_ARG"><!-- --></A><H3>
+INVALID_ARG</H3>
+<PRE>
+public static final int <B>INVALID_ARG</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.INVALID_ARG">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FILE_OVERFLOW"><!-- --></A><H3>
+FILE_OVERFLOW</H3>
+<PRE>
+public static final int <B>FILE_OVERFLOW</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.FILE_OVERFLOW">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FILE_BUSY"><!-- --></A><H3>
+FILE_BUSY</H3>
+<PRE>
+public static final int <B>FILE_BUSY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.FILE_BUSY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NAME_TOO_LONG"><!-- --></A><H3>
+NAME_TOO_LONG</H3>
+<PRE>
+public static final int <B>NAME_TOO_LONG</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.NAME_TOO_LONG">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DIRECTORY_NOT_EMPTY"><!-- --></A><H3>
+DIRECTORY_NOT_EMPTY</H3>
+<PRE>
+public static final int <B>DIRECTORY_NOT_EMPTY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.DIRECTORY_NOT_EMPTY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CONNECTION_TIMED_OUT"><!-- --></A><H3>
+CONNECTION_TIMED_OUT</H3>
+<PRE>
+public static final int <B>CONNECTION_TIMED_OUT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.CONNECTION_TIMED_OUT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="QUOTA_EXCEEDED"><!-- --></A><H3>
+QUOTA_EXCEEDED</H3>
+<PRE>
+public static final int <B>QUOTA_EXCEEDED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.QUOTA_EXCEEDED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BAD_USERNAME"><!-- --></A><H3>
+BAD_USERNAME</H3>
+<PRE>
+public static final int <B>BAD_USERNAME</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.BAD_USERNAME">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BAD_PASSWORD"><!-- --></A><H3>
+BAD_PASSWORD</H3>
+<PRE>
+public static final int <B>BAD_PASSWORD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.BAD_PASSWORD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EXPIRED_PASSWORD"><!-- --></A><H3>
+EXPIRED_PASSWORD</H3>
+<PRE>
+public static final int <B>EXPIRED_PASSWORD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.EXPIRED_PASSWORD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SKEWED_CLOCK"><!-- --></A><H3>
+SKEWED_CLOCK</H3>
+<PRE>
+public static final int <B>SKEWED_CLOCK</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.SKEWED_CLOCK">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ID_LOCKED"><!-- --></A><H3>
+ID_LOCKED</H3>
+<PRE>
+public static final int <B>ID_LOCKED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.ID_LOCKED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CELL_NOT_FOUND"><!-- --></A><H3>
+CELL_NOT_FOUND</H3>
+<PRE>
+public static final int <B>CELL_NOT_FOUND</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.CELL_NOT_FOUND">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="USERNAME_EXISTS"><!-- --></A><H3>
+USERNAME_EXISTS</H3>
+<PRE>
+public static final int <B>USERNAME_EXISTS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.USERNAME_EXISTS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="USER_DOES_NOT_EXIST"><!-- --></A><H3>
+USER_DOES_NOT_EXIST</H3>
+<PRE>
+public static final int <B>USER_DOES_NOT_EXIST</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.USER_DOES_NOT_EXIST">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PRPERM"><!-- --></A><H3>
+PRPERM</H3>
+<PRE>
+public static final int <B>PRPERM</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.PRPERM">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="UNOACCESS"><!-- --></A><H3>
+UNOACCESS</H3>
+<PRE>
+public static final int <B>UNOACCESS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.UNOACCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BZACCESS"><!-- --></A><H3>
+BZACCESS</H3>
+<PRE>
+public static final int <B>BZACCESS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.BZACCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="KANOAUTH"><!-- --></A><H3>
+KANOAUTH</H3>
+<PRE>
+public static final int <B>KANOAUTH</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.KANOAUTH">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="RXKADNOAUTH"><!-- --></A><H3>
+RXKADNOAUTH</H3>
+<PRE>
+public static final int <B>RXKADNOAUTH</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.ErrorTable.RXKADNOAUTH">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="ErrorTable()"><!-- --></A><H3>
+ErrorTable</H3>
+<PRE>
+public <B>ErrorTable</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="isPermissionDenied(int)"><!-- --></A><H3>
+isPermissionDenied</H3>
+<PRE>
+public static boolean <B>isPermissionDenied</B>(int errno)</PRE>
+<DL>
+<DD>Tests to identify if the return code is a "Permission Denied" error.
+
+ <P> This method will qualify <CODE>errno</CODE> against:
+ <LI><CODE>ErrorTable.PERMISSION_DENIED</CODE>
+ <LI><CODE>ErrorTable.PRPERM</CODE>
+ <LI><CODE>ErrorTable.UNOACCESS</CODE>
+ <LI><CODE>ErrorTable.BZACCESS</CODE>
+ <LI><CODE>ErrorTable.KANOAUTH</CODE>
+ <LI><CODE>ErrorTable.RXKADNOAUTH</CODE>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - Error Code/Number
+<DT><B>Returns:</B><DD>boolean If <CODE>errno</CODE> is a "Permission Denied"
+ error.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage(int)"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>(int errno)</PRE>
+<DL>
+<DD>Returns a String message representing the error code (number) provided.
+
+ <P> If the error code provided is out of range of the library of defined
+ error codes, this method will return <CODE>Error number [###] unknown
+ </CODE>. If an exception is thrown, this method will return either:
+ <CODE>Unknown error</CODE>, <CODE>Special case error</CODE>, or
+ <CODE>Invalid error code: ###</CODE>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - Error Code/Number
+<DT><B>Returns:</B><DD>String Interpreted error message derived from
+ <CODE>errno</CODE>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage(int, java.util.Locale)"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getMessage</B>(int errno,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Locale.html">Locale</A> locale)</PRE>
+<DL>
+<DD>Returns a String message, respective to the provided locale, representing
+ the error code (number) provided.
+
+ <P> If the error code provided is out of range of the library of defined
+ error codes, this method will return <CODE>Error number [###] unknown
+ </CODE>. If an exception is thrown, this method will return either:
+ <CODE>Unknown error</CODE>, <CODE>Special case error</CODE>, or
+ <CODE>Invalid error code: ###</CODE>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errno</CODE> - Error Code/Number<DD><CODE>locale</CODE> - Locale of to be used for translating the message.
+<DT><B>Returns:</B><DD>String Interpreted error message derived from
+ <CODE>errno</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ErrorTable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Cell.html"><B>PREV CLASS</B></A>
+ <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>
+ <A HREF="ErrorTable.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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>
+File (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.File,File class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="File (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/File.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/ErrorTable.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/FileInputStream.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>
+ <A HREF="File.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#fields_inherited_from_class_java.io.File">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 File</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/io/File.html">java.io.File</A>
+ |
+ +--<B>org.openafs.jafs.File</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>File</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A><DT>implements <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> Extension methods include:
+
+ <ol>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#isMountPoint()"><CODE>isMountPoint()</CODE></A></code>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#isLink()"><CODE>isLink()</CODE></A></code>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#isValidated()"><CODE>isValidated()</CODE></A></code>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></code>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#refresh()"><CODE>refresh()</CODE></A></code>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#getErrorCode()"><CODE>getErrorCode()</CODE></A></code>
+ <li> <code><A HREF="../../../org/openafs/jafs/File.html#getErrorMessage()"><CODE>getErrorMessage()</CODE></A></code>
+ </ol>
+
+ <p> For performance optimization, all newly constructed <code>File</code>
+ objects are only validated once. Furthermore, if an abstract pathname
+ denotes a symbolic-link, then the <A HREF="../../../org/openafs/jafs/File.html#isLink()"><CODE>isLink()</CODE></A> attribute is set
+ to true and the <A HREF="../../../org/openafs/jafs/File.html#getTarget()"><CODE>getTarget()</CODE></A> field member is populated with
+ this symbolic-link's target resource. (see <A HREF="../../../org/openafs/jafs/File.html#getTarget()"><CODE>getTarget()</CODE></A>)
+
+ <p> If you are interested in validating the target resource, simply
+ call <A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A> before calling any of the attribute accessors.
+ This action will <code>stat</code> the target resource, identifying
+ its associated attributes and populating them in this objects field
+ members.
+
+ <p> Following is an example of how to construct a new AFS File Object:
+ <p><blockquote><pre>
+ try {
+ File file = new File("/afs/mycell.com/proj/");
+ if (file.isDirectory()) {
+ System.out.println("This is a directory.");
+ } else if (file.isLink()) {
+ System.out.println("This is a symbolic-link.");
+ System.out.println(" Its target is: " + file.getTarget());
+ file.validate();
+ if (file.isFile()) {
+ System.out.println(" This object is now a file!");
+ } else if (file.isDirectory()) {
+ System.out.println(" This object is now a directory!");
+ } else if (file.isMountPoint()) {
+ System.out.println(" This object is now a volume mount point!");
+ }
+ } else if (file.isMountPoint()) {
+ System.out.println("This is a volume mount point.");
+ } else if (file.isFile()) {
+ System.out.println("This is file.");
+ System.out.println(" its size is: " + file.length());
+ }
+ } catch (AFSFileException ae) {
+ System.out.println("AFS Exception: " + ae.getMessage());
+ System.out.println("AFS Error Code: " + ae.getErrorCode());
+ } catch (Exception e) {
+ System.out.println("Exception: " + e.getMessage());
+ e.printStackTrace();
+ }
+ </pre></blockquote>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+ <DD>2.0, 04/16/2001 - Completely revised class for efficiency., 1.3, 10/12/2000 - Introduced error code capture from native methods., 1.2, 05/30/2000</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.File">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>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.io.File"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#pathSeparator">pathSeparator</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#pathSeparatorChar">pathSeparatorChar</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#separator">separator</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#separatorChar">separatorChar</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/File.html#File(org.openafs.jafs.File, java.lang.String)">File</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename)</CODE>
+
+<BR>
+ Creates a new <code>File</code> instance from a parent abstract
+ pathname and a child pathname string and validates it against the file system.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#File(org.openafs.jafs.File, java.lang.String, boolean)">File</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename,
+ boolean validate)</CODE>
+
+<BR>
+ Creates a new <code>File</code> instance from a parent abstract
+ pathname and a child pathname string.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#File(java.lang.String)">File</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> pathname)</CODE>
+
+<BR>
+ Creates a new <code>File</code> instance by converting the given
+ pathname string into an abstract pathname and validating it against
+ the file system. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#File(java.lang.String, boolean)">File</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> pathname,
+ boolean validate)</CODE>
+
+<BR>
+ Creates a new <code>File</code> instance by converting the given
+ pathname string into an abstract pathname. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#File(java.lang.String, java.lang.String)">File</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename)</CODE>
+
+<BR>
+ Creates a new <code>File</code> instance from a parent pathname string
+ and a child pathname string and validates it against the file system.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#File(java.lang.String, java.lang.String, boolean)">File</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename,
+ boolean validate)</CODE>
+
+<BR>
+ Creates a new <code>File</code> instance from a parent pathname string
+ and a child pathname string.
+
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canAdmin()">canAdmin</A></B>()</CODE>
+
+<BR>
+ Tests whether the user can administer the ACL (see: <A HREF="../../../org/openafs/jafs/ACL.html"><CODE>ACL</CODE></A>
+ of the directory denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canDelete()">canDelete</A></B>()</CODE>
+
+<BR>
+ Tests whether the current user can delete the files or subdirectories of
+ the directory denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canInsert()">canInsert</A></B>()</CODE>
+
+<BR>
+ Tests whether the current user can insert a file into the directory
+ denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canLock()">canLock</A></B>()</CODE>
+
+<BR>
+ Tests whether the current user can lock the file denoted by this
+ abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canLookup()">canLookup</A></B>()</CODE>
+
+<BR>
+ Tests whether the current user can lookup the contents of the directory
+ denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canRead()">canRead</A></B>()</CODE>
+
+<BR>
+ Tests whether the current user can read the file denoted by this
+ abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#canWrite()">canWrite</A></B>()</CODE>
+
+<BR>
+ Tests whether the current user can modify to the file denoted by this
+ abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Closes the directory denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#compareTo(org.openafs.jafs.File)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file)</CODE>
+
+<BR>
+ Compares two File objects relative to their filenames and <B>does not</B>
+ compare their respective absolute paths. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.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> o)</CODE>
+
+<BR>
+ Compares this file to another File object. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#copyTo(org.openafs.jafs.File)">copyTo</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> dest)</CODE>
+
+<BR>
+ Copies the file denoted by this abstract pathname to the destination
+ file provided. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#delete()">delete</A></B>()</CODE>
+
+<BR>
+ Deletes the file or directory denoted by this abstract pathname. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#exists()">exists</A></B>()</CODE>
+
+<BR>
+ Tests whether the file denoted by this abstract pathname exists.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+ 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> <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/File.html#getErrorMessage()">getErrorMessage</A></B>()</CODE>
+
+<BR>
+ Returns the AFS error message string defined by the <code><A HREF="../../../org/openafs/jafs/ErrorTable.html"><CODE>ErrorTable</CODE></A></code>
+ class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#getPermissionsMask()">getPermissionsMask</A></B>()</CODE>
+
+<BR>
+ Returns the permissions mask of the ACL for this object relative to the user accessing it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/File.html#getTarget()">getTarget</A></B>()</CODE>
+
+<BR>
+ Returns an abstract pathname string that represents the target resource of
+ of this file, if it is a symbolic-link.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#isDirectory()">isDirectory</A></B>()</CODE>
+
+<BR>
+ Tests whether the file denoted by this abstract pathname is a
+ directory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#isFile()">isFile</A></B>()</CODE>
+
+<BR>
+ Tests whether the file denoted by this abstract pathname is a normal
+ file. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#isLink()">isLink</A></B>()</CODE>
+
+<BR>
+ Tests whether the file denoted by this abstract pathname is a
+ symbolic-link.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#isMountPoint()">isMountPoint</A></B>()</CODE>
+
+<BR>
+ Tests whether the file denoted by this abstract pathname is an
+ AFS Volume Mount Point.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#isValidated()">isValidated</A></B>()</CODE>
+
+<BR>
+ Tests whether the file denoted by this abstract pathname has
+ been validated.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#lastModified()">lastModified</A></B>()</CODE>
+
+<BR>
+ Returns the time that the file denoted by this abstract pathname was
+ last modified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#length()">length</A></B>()</CODE>
+
+<BR>
+ Returns the length of the file denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/File.html#list()">list</A></B>()</CODE>
+
+<BR>
+ Returns an array of strings naming the files and directories in the
+ directory denoted by this abstract pathname.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/File.html#listArray()">listArray</A></B>()</CODE>
+
+<BR>
+ Returns an ArrayList object containing strings naming the files and
+ directories in the directory denoted by this abstract pathname.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#mkdir()">mkdir</A></B>()</CODE>
+
+<BR>
+ Creates the directory named by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes this AFS file object by updating its attributes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#renameTo(org.openafs.jafs.File)">renameTo</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> dest)</CODE>
+
+<BR>
+ Renames the file denoted by this abstract pathname.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#setAttributes()">setAttributes</A></B>()</CODE>
+
+<BR>
+ Performs a file <code>stat</code> on the actual AFS file and populates
+ this object's respective field members with the appropriate values.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/File.html#validate()">validate</A></B>()</CODE>
+
+<BR>
+ Validates this abstract pathname as an attributed AFS file object.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.io.File"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#compareTo(java.io.File)">compareTo</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#createNewFile()">createNewFile</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#createTempFile(java.lang.String, java.lang.String)">createTempFile</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#createTempFile(java.lang.String, java.lang.String, java.io.File)">createTempFile</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#deleteOnExit()">deleteOnExit</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getAbsoluteFile()">getAbsoluteFile</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getAbsolutePath()">getAbsolutePath</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getCanonicalFile()">getCanonicalFile</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getCanonicalPath()">getCanonicalPath</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getName()">getName</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getParent()">getParent</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getParentFile()">getParentFile</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#getPath()">getPath</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#isAbsolute()">isAbsolute</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#isHidden()">isHidden</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#list(java.io.FilenameFilter)">list</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#listFiles()">listFiles</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#listFiles(java.io.FileFilter)">listFiles</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#listFiles(java.io.FilenameFilter)">listFiles</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#listRoots()">listRoots</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#mkdirs()">mkdirs</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#renameTo(java.io.File)">renameTo</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#setLastModified(long)">setLastModified</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#setReadOnly()">setReadOnly</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#toString()">toString</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#toURI()">toURI</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#toURL()">toURL</A></CODE></TD>
+</TR>
+</TABLE>
+ <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#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#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>
+
+<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="File(java.lang.String)"><!-- --></A><H3>
+File</H3>
+<PRE>
+public <B>File</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> pathname)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a new <code>File</code> instance by converting the given
+ pathname string into an abstract pathname and validating it against
+ the file system. If the given string is an empty string, then the
+ result is the empty abstract pathname; otherwise the abstract pathname
+ is <code>validated</code> to represent a qualified file object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pathname</CODE> - A pathname string
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If the <code>pathname</code> argument is <code>null</code>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If the user constructing this AFS file object is denied
+ access to stat the file or simply a stat cannot be performed
+ on the file. The reason code and message will be available
+ from <A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()"><CODE>AFSFileException.getErrorCode()</CODE></A> and
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>AFSFileException.getMessage()</CODE></A> respectively.
+ <p> This exception <U>will not</U> be thrown if the file does not
+ exist. Rather, the <A HREF="../../../org/openafs/jafs/File.html#exists()"><CODE>exists()</CODE></A> attribute will be set to
+ <code>false</code>.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></DL>
+<HR>
+
+<A NAME="File(java.lang.String, boolean)"><!-- --></A><H3>
+File</H3>
+<PRE>
+public <B>File</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> pathname,
+ boolean validate)</PRE>
+<DL>
+<DD>Creates a new <code>File</code> instance by converting the given
+ pathname string into an abstract pathname. If the given string is
+ an empty string, then the result is the empty abstract pathname.
+
+ <p> The abstract pathname will remain <B>abstract</B> unless the
+ <code>validate</code> parameter is set to <code>true</code>. This
+ means that the abstract pathname will <U>not</U> be <code>validated</code>
+ and therefore the file object will not represent a qualified, attributed,
+ AFS file resource. Rather, this constructor provides a method by which
+ you can construct a non-validated <code>File</code> object (one that
+ does not contain the file's complete status information).
+
+ <p> This constructor is useful for creating file objects of file/path names
+ that you know exist, however are unauthorized to <code>validate</code> (or
+ <code>stat</code> - to obtain complete status information). For example,
+ if you are permitted to <code>lookup</code> (see: <A HREF="../../../org/openafs/jafs/File.html#canLookup()"><CODE>canLookup()</CODE></A>) the
+ contents of a given directory yet <U>not</U> permitted to <code>read</code>
+ (see: <A HREF="../../../org/openafs/jafs/File.html#canRead()"><CODE>canRead()</CODE></A>), then this constructor would enable you to render the
+ contents of the directory without validating each entry.
+
+ <p> <B>Please note:</B> this is the only constructor that does not throw an AFSFileException.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pathname</CODE> - A pathname string<DD><CODE>validate</CODE> - A boolean flag to indicate if this abstract path
+ should be validated.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If the <code>pathname</code> argument is <code>null</code><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#File(java.lang.String)"><CODE>File(String)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></DL>
+<HR>
+
+<A NAME="File(java.lang.String, java.lang.String)"><!-- --></A><H3>
+File</H3>
+<PRE>
+public <B>File</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a new <code>File</code> instance from a parent pathname string
+ and a child pathname string and validates it against the file system.
+
+ <p> If <code>parent</code> is <code>null</code> then the new
+ <code>File</code> instance is created as if by invoking the
+ single-argument <code>File</code> constructor on the given
+ <code>filename</code> string (child pathname).
+
+ <p> Otherwise the <code>parent</code> pathname string is taken to denote
+ a directory, and the <code>filename</code> string is taken to
+ denote either a directory or a file. The directory or file will then be
+ <code>validated</code> to represent a qualified file object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - The parent pathname string<DD><CODE>filename</CODE> - This file's pathname string (child of specified parent)
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <code>child</code> is <code>null</code>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If the user constructing this AFS file object is denied
+ access to stat the file or simply a stat cannot be performed
+ on the file. The reason code and message will be available
+ from <A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()"><CODE>AFSFileException.getErrorCode()</CODE></A> and
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>AFSFileException.getMessage()</CODE></A> respectively.
+ <p> This exception <U>will not</U> be thrown if the file does not
+ exist. Rather, the <A HREF="../../../org/openafs/jafs/File.html#exists()"><CODE>exists()</CODE></A> attribute will be set to
+ <code>false</code>.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></DL>
+<HR>
+
+<A NAME="File(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+File</H3>
+<PRE>
+public <B>File</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename,
+ boolean validate)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a new <code>File</code> instance from a parent pathname string
+ and a child pathname string.
+
+ <p> If <code>parent</code> is <code>null</code> then the new
+ <code>File</code> instance is created as if by invoking the
+ single-argument <code>File</code> constructor on the given
+ <code>filename</code> string (child pathname).
+
+ <p> Otherwise the <code>parent</code> pathname string is taken to denote
+ a directory, and the <code>filename</code> string is taken to
+ denote either a directory or a file.
+
+ <p> The abstract pathname will remain <B>abstract</B> unless the
+ <code>validate</code> parameter is set to <code>true</code>. This
+ means that the abstract pathname will <U>not</U> be <code>validated</code>
+ and therefore the file object will not represent a qualified, attributed,
+ AFS file resource. Rather, this constructor provides a method by which
+ you can construct a non-validated <code>File</code> object (one that
+ does not contain the file's complete status information).
+
+ <p> This constructor is useful for creating file objects of file/path names
+ that you know exist, however are unauthorized to <code>validate</code> (or
+ <code>stat</code> - to obtain complete status information). For example,
+ if you are permitted to <code>lookup</code> (see: <A HREF="../../../org/openafs/jafs/File.html#canLookup()"><CODE>canLookup()</CODE></A>) the
+ contents of a given directory yet <U>not</U> permitted to <code>read</code>
+ (see: <A HREF="../../../org/openafs/jafs/File.html#canRead()"><CODE>canRead()</CODE></A>), then this constructor would enable you to render the
+ contents of the directory without validating each entry.
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - The parent pathname string<DD><CODE>filename</CODE> - This file's pathname string (child of specified parent)<DD><CODE>validate</CODE> - A boolean flag to indicate if this abstract path
+ should be validated.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <code>child</code> is <code>null</code>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If the user constructing this AFS file object is denied
+ access to stat the file or simply a stat cannot be performed
+ on the file. The reason code and message will be available
+ from <A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()"><CODE>AFSFileException.getErrorCode()</CODE></A> and
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>AFSFileException.getMessage()</CODE></A> respectively.
+ <p> This exception <U>will not</U> be thrown if the file does not
+ exist. Rather, the <A HREF="../../../org/openafs/jafs/File.html#exists()"><CODE>exists()</CODE></A> attribute will be set to
+ <code>false</code>.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#File(java.lang.String, java.lang.String)"><CODE>File(String, String)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></DL>
+<HR>
+
+<A NAME="File(org.openafs.jafs.File, java.lang.String)"><!-- --></A><H3>
+File</H3>
+<PRE>
+public <B>File</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a new <code>File</code> instance from a parent abstract
+ pathname and a child pathname string and validates it against the file system.
+
+ <p> If <code>parent</code> is <code>null</code> then the new
+ <code>File</code> instance is created as if by invoking the
+ single-argument <code>File</code> constructor on the given
+ <code>filename</code> string (child pathname).
+
+ <p> Otherwise the <code>parent</code> abstract pathname is taken to
+ denote a directory, and the <code>filename</code> string is taken
+ to denote either a directory or a file. The directory or file will then be
+ <code>validated</code> to represent a qualified file object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - The parent abstract pathname<DD><CODE>filename</CODE> - This file's pathname string (child of specified parent)
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <code>child</code> is <code>null</code>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If the user constructing this AFS file object is denied
+ access to stat the file or simply a stat cannot be performed
+ on the file. The reason code and message will be available
+ from <A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()"><CODE>AFSFileException.getErrorCode()</CODE></A> and
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>AFSFileException.getMessage()</CODE></A> respectively.
+ <p> This exception <U>will not</U> be thrown if the file does not
+ exist. Rather, the <A HREF="../../../org/openafs/jafs/File.html#exists()"><CODE>exists()</CODE></A> attribute will be set to
+ <code>false</code>.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></DL>
+<HR>
+
+<A NAME="File(org.openafs.jafs.File, java.lang.String, boolean)"><!-- --></A><H3>
+File</H3>
+<PRE>
+public <B>File</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> filename,
+ boolean validate)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a new <code>File</code> instance from a parent abstract
+ pathname and a child pathname string.
+
+ <p> If <code>parent</code> is <code>null</code> then the new
+ <code>File</code> instance is created as if by invoking the
+ single-argument <code>File</code> constructor on the given
+ <code>filename</code> string (child pathname).
+
+ <p> Otherwise the <code>parent</code> abstract pathname is taken to
+ denote a directory, and the <code>filename</code> string is taken
+ to denote either a directory or a file.
+
+ <p> The abstract pathname will remain <B>abstract</B> unless the
+ <code>validate</code> parameter is set to <code>true</code>. This
+ means that the abstract pathname will <U>not</U> be <code>validated</code>
+ and therefore the file object will not represent a qualified, attributed,
+ AFS file resource. Rather, this constructor provides a method by which
+ you can construct a non-validated <code>File</code> object (one that
+ does not contain the file's complete status information).
+
+ <p> This constructor is useful for creating file objects of file/path names
+ that you know exist, however are unauthorized to <code>validate</code> (or
+ <code>stat</code> - to obtain complete status information). For example,
+ if you are permitted to <code>lookup</code> (see: <A HREF="../../../org/openafs/jafs/File.html#canLookup()"><CODE>canLookup()</CODE></A>) the
+ contents of a given directory yet <U>not</U> permitted to <code>read</code>
+ (see: <A HREF="../../../org/openafs/jafs/File.html#canRead()"><CODE>canRead()</CODE></A>), then this constructor would enable you to render the
+ contents of the directory without validating each entry.
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - The parent abstract pathname<DD><CODE>filename</CODE> - This file's pathname string (child of specified parent)<DD><CODE>validate</CODE> - A boolean flag to indicate if this abstract path
+ should be validated.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If <code>child</code> is <code>null</code>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If the user constructing this AFS file object is denied
+ access to stat the file or simply a stat cannot be performed
+ on the file. The reason code and message will be available
+ from <A HREF="../../../org/openafs/jafs/AFSFileException.html#getErrorCode()"><CODE>AFSFileException.getErrorCode()</CODE></A> and
+ <A HREF="../../../org/openafs/jafs/AFSFileException.html#getMessage()"><CODE>AFSFileException.getMessage()</CODE></A> respectively.
+ <p> This exception <U>will not</U> be thrown if the file does not
+ exist. Rather, the <A HREF="../../../org/openafs/jafs/File.html#exists()"><CODE>exists()</CODE></A> attribute will be set to
+ <code>false</code>.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/File.html#File(org.openafs.jafs.File, java.lang.String)"><CODE>File(File, 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="validate()"><!-- --></A><H3>
+validate</H3>
+<PRE>
+public void <B>validate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></PRE>
+<DL>
+<DD>Validates this abstract pathname as an attributed AFS file object.
+ This method will, if authorized, perform a <code>stat</code> on the
+ actual AFS file and update its respective field members; defining
+ this file object's attributes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></CODE> - If an AFS exception occurs while attempting to stat and set this
+ AFS file object's attributes.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isValidated()"><!-- --></A><H3>
+isValidated</H3>
+<PRE>
+public boolean <B>isValidated</B>()</PRE>
+<DL>
+<DD>Tests whether the file denoted by this abstract pathname has
+ been validated.
+
+ <P> Validation is always attempted upon construction of the file object,
+ therefore if this method returns false, then you are not permitted to
+ <code>validate</code> this file and consequently all attribute accessors
+ will be invalid.
+
+ <P> This method should return <code>true</code> even if this abstract
+ pathname does not exist. If this is abstract pathname does not exist then
+ the <code><A HREF="../../../org/openafs/jafs/File.html#exists()"><CODE>exists()</CODE></A></code> method should return false, however this
+ implies that the attribute accessors are valid and accurate; thus implying
+ successful validation.
+
+ <P> This method is useful before calling any of the attribute accessors
+ to ensure a valid response.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file denoted by this
+ abstract pathname has been validated during or after object construction;
+ <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refresh()"><!-- --></A><H3>
+refresh</H3>
+<PRE>
+public void <B>refresh</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></PRE>
+<DL>
+<DD>Refreshes this AFS file object by updating its attributes.
+ This method currently provides the same functionality as
+ <A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></CODE> - If an AFS exception occurs while attempting to stat and update this
+ AFS file object's attributes.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDirectory()"><!-- --></A><H3>
+isDirectory</H3>
+<PRE>
+public boolean <B>isDirectory</B>()</PRE>
+<DL>
+<DD>Tests whether the file denoted by this abstract pathname is a
+ directory.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#isDirectory()">isDirectory</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file denoted by this
+ abstract pathname exists <em>and</em> is a directory;
+ <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFile()"><!-- --></A><H3>
+isFile</H3>
+<PRE>
+public boolean <B>isFile</B>()</PRE>
+<DL>
+<DD>Tests whether the file denoted by this abstract pathname is a normal
+ file. A file is <em>normal</em> if it is not a directory and, in
+ addition, satisfies other system-dependent criteria. Any non-directory
+ file created by a Java application is guaranteed to be a normal file.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#isFile()">isFile</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file denoted by this
+ abstract pathname exists <em>and</em> is a normal file;
+ <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isMountPoint()"><!-- --></A><H3>
+isMountPoint</H3>
+<PRE>
+public boolean <B>isMountPoint</B>()</PRE>
+<DL>
+<DD>Tests whether the file denoted by this abstract pathname is an
+ AFS Volume Mount Point.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file denoted by this
+ abstract pathname exists <em>and</em> is a mount point;
+ <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isLink()"><!-- --></A><H3>
+isLink</H3>
+<PRE>
+public boolean <B>isLink</B>()</PRE>
+<DL>
+<DD>Tests whether the file denoted by this abstract pathname is a
+ symbolic-link.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file denoted by this
+ abstract pathname exists <em>and</em> is a symbolic-link;
+ <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="exists()"><!-- --></A><H3>
+exists</H3>
+<PRE>
+public boolean <B>exists</B>()</PRE>
+<DL>
+<DD>Tests whether the file denoted by this abstract pathname exists.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#exists()">exists</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file denoted by this
+ abstract pathname exists; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lastModified()"><!-- --></A><H3>
+lastModified</H3>
+<PRE>
+public long <B>lastModified</B>()</PRE>
+<DL>
+<DD>Returns the time that the file denoted by this abstract pathname was
+ last modified.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#lastModified()">lastModified</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A <code>long</code> value representing the time the file was
+ last modified, measured in milliseconds since the epoch
+ (00:00:00 GMT, January 1, 1970), or <code>0L</code> if the
+ file does not exist or if an I/O error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="length()"><!-- --></A><H3>
+length</H3>
+<PRE>
+public long <B>length</B>()</PRE>
+<DL>
+<DD>Returns the length of the file denoted by this abstract pathname.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#length()">length</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The length, in bytes, of the file denoted by this abstract
+ pathname, or <code>0L</code> if the file does not exist</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTarget()"><!-- --></A><H3>
+getTarget</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getTarget</B>()</PRE>
+<DL>
+<DD>Returns an abstract pathname string that represents the target resource of
+ of this file, if it is a symbolic-link.
+
+ <p> If this abstract pathname <B>does not</B> denote a symbolic-link, then this
+ method returns <code>null</code>. Otherwise a string is
+ returned that represents the target resource of this symbolic-link.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A string representation of this symbolic-link's target resource.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#isLink()"><CODE>isLink()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="list()"><!-- --></A><H3>
+list</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>list</B>()</PRE>
+<DL>
+<DD>Returns an array of strings naming the files and directories in the
+ directory denoted by this abstract pathname.
+
+ <p> If this abstract pathname does not denote a directory, then this
+ method returns <code>null</code>. Otherwise an array of strings is
+ returned, one for each file or directory in the directory. Names
+ denoting the directory itself and the directory's parent directory are
+ not included in the result. Each string is a file name rather than a
+ complete path.
+
+ <p> There is no guarantee that the name strings in the resulting array
+ will appear in any specific order; they are not, in particular,
+ guaranteed to appear in alphabetical order.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#list()">list</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An array of strings naming the files and directories in the
+ directory denoted by this abstract pathname. The array will be
+ empty if the directory is empty. Returns <code>null</code> if
+ this abstract pathname does not denote a directory, or if an
+ I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="listArray()"><!-- --></A><H3>
+listArray</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>listArray</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Returns an ArrayList object containing strings naming the files and
+ directories in the directory denoted by this abstract pathname.
+
+ <p> If this abstract pathname does not denote a directory, then this
+ method returns <code>null</code>. Otherwise an array of strings is
+ returned, one for each file or directory in the directory. Names
+ denoting the directory itself and the directory's parent directory are
+ not included in the result. Each string is a file name rather than a
+ complete path.
+
+ <p> There is no guarantee that the name strings in the resulting array
+ will appear in any specific order; they are not, in particular,
+ guaranteed to appear in alphabetical order.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An array of strings naming the files and directories in the
+ directory denoted by this abstract pathname. The array will be
+ empty if the directory is empty. Returns <code>null</code> if
+ this abstract pathname does not denote a directory, or if an
+ I/O error occurs.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></CODE> - If you are not authorized to list the contents of this directory
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If this file object is not a <code>mount point</code>, <code>link
+ </code>, or <code>directory</code> <B>or</B> an unexpected AFS
+ error occurs.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#list()"><CODE>list()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete()"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public boolean <B>delete</B>()</PRE>
+<DL>
+<DD>Deletes the file or directory denoted by this abstract pathname. If
+ this pathname denotes a directory, then the directory must be empty in
+ order to be deleted.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#delete()">delete</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file or directory is
+ successfully deleted; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="copyTo(org.openafs.jafs.File)"><!-- --></A><H3>
+copyTo</H3>
+<PRE>
+public boolean <B>copyTo</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> dest)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Copies the file denoted by this abstract pathname to the destination
+ file provided. Then checks the newly copied file's size to
+ test for file size consistency.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>dest</CODE> - The new abstract pathname for the named file
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file that was copied
+ reports the same file size (length) as that of this file;
+ <code>false</code> otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an I/O or AFS exception is encountered while copying the file.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPermissionsMask()"><!-- --></A><H3>
+getPermissionsMask</H3>
+<PRE>
+public int <B>getPermissionsMask</B>()</PRE>
+<DL>
+<DD>Returns the permissions mask of the ACL for this object relative to the user accessing it.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the permissions mask of this object based upon the current user.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#getPermissionsMask()"><CODE>ACL.Entry.getPermissionsMask()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canAdmin()"><!-- --></A><H3>
+canAdmin</H3>
+<PRE>
+public boolean <B>canAdmin</B>()</PRE>
+<DL>
+<DD>Tests whether the user can administer the ACL (see: <A HREF="../../../org/openafs/jafs/ACL.html"><CODE>ACL</CODE></A>
+ of the directory denoted by this abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the directory specified by this
+ abstract pathname exists <em>and</em> can be administered by the
+ current user; <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canAdmin()"><CODE>ACL.Entry.canAdmin()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canDelete()"><!-- --></A><H3>
+canDelete</H3>
+<PRE>
+public boolean <B>canDelete</B>()</PRE>
+<DL>
+<DD>Tests whether the current user can delete the files or subdirectories of
+ the directory denoted by this abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the directory specified by this
+ abstract pathname exists <em>and</em> permits deletion of its files
+ and subdirectories by the current user; <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canDelete()"><CODE>ACL.Entry.canDelete()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canInsert()"><!-- --></A><H3>
+canInsert</H3>
+<PRE>
+public boolean <B>canInsert</B>()</PRE>
+<DL>
+<DD>Tests whether the current user can insert a file into the directory
+ denoted by this abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the directory specified by this
+ abstract pathname exists <em>and</em> a file can be inserted by the
+ current user; <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canInsert()"><CODE>ACL.Entry.canInsert()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canLock()"><!-- --></A><H3>
+canLock</H3>
+<PRE>
+public boolean <B>canLock</B>()</PRE>
+<DL>
+<DD>Tests whether the current user can lock the file denoted by this
+ abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file specified by this
+ abstract pathname exists <em>and</em> can be locked by the
+ current user; <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLock()"><CODE>ACL.Entry.canLock()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canLookup()"><!-- --></A><H3>
+canLookup</H3>
+<PRE>
+public boolean <B>canLookup</B>()</PRE>
+<DL>
+<DD>Tests whether the current user can lookup the contents of the directory
+ denoted by this abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the directory specified by this
+ abstract pathname exists <em>and</em> its contents can be listed by the
+ current user; <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canLookup()"><CODE>ACL.Entry.canLookup()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canRead()"><!-- --></A><H3>
+canRead</H3>
+<PRE>
+public boolean <B>canRead</B>()</PRE>
+<DL>
+<DD>Tests whether the current user can read the file denoted by this
+ abstract pathname.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#canRead()">canRead</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file specified by this
+ abstract pathname exists <em>and</em> can be read by the
+ current user; <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canRead()"><CODE>ACL.Entry.canRead()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canWrite()"><!-- --></A><H3>
+canWrite</H3>
+<PRE>
+public boolean <B>canWrite</B>()</PRE>
+<DL>
+<DD>Tests whether the current user can modify to the file denoted by this
+ abstract pathname.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#canWrite()">canWrite</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the file system actually
+ contains a file denoted by this abstract pathname <em>and</em>
+ the current user is allowed to write to the file;
+ <code>false</code> otherwise.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/ACL.Entry.html#canWrite()"><CODE>ACL.Entry.canWrite()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public boolean <B>close</B>()</PRE>
+<DL>
+<DD>Closes the directory denoted by this abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the directory is
+ successfully closed; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<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 <code><A HREF="../../../org/openafs/jafs/ErrorTable.html"><CODE>ErrorTable</CODE></A></code> static class method
+ <code><A HREF="../../../org/openafs/jafs/ErrorTable.html#getMessage(int)"><CODE>ErrorTable.getMessage(int)</CODE></A></code>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error code (number) associated with the last action performed
+ on this 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="getErrorMessage()"><!-- --></A><H3>
+getErrorMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getErrorMessage</B>()</PRE>
+<DL>
+<DD>Returns the AFS error message string defined by the <code><A HREF="../../../org/openafs/jafs/ErrorTable.html"><CODE>ErrorTable</CODE></A></code>
+ class.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS error message string associated with the last action performed
+ on this 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="compareTo(org.openafs.jafs.File)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file)</PRE>
+<DL>
+<DD>Compares two File objects relative to their filenames and <B>does not</B>
+ compare their respective absolute paths. Alphabetic case is significant in
+ comparing filenames.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - The File object to be compared to this file's filename
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this file's filename, a
+ value less than zero if this file's filename is
+ lexicographically less than the argument, or a value greater
+ than zero if this file's filename is lexicographically
+ greater than the argument<DT><B>Since:</B></DT>
+ <DD>JDK1.2</DD>
+</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> o)
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/ClassCastException.html">ClassCastException</A></PRE>
+<DL>
+<DD>Compares this file to another File object. If the other object
+ is an abstract pathname, then this function behaves like <code><A HREF="../../../org/openafs/jafs/File.html#compareTo(org.openafs.jafs.File)"><CODE>compareTo(File)</CODE></A></code>. Otherwise, it throws a
+ <code>ClassCastException</code>, since File objects can only be
+ compared to File objects.
+<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><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#compareTo(java.lang.Object)">compareTo</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>o</CODE> - The <code>Object</code> to be compared to this abstract pathname
+<DT><B>Returns:</B><DD>If the argument is an File object, returns zero
+ if the argument is equal to this file's filename, a value
+ less than zero if this file's filename is lexicographically
+ less than the argument, or a value greater than zero if this
+ file's filename is lexicographically greater than the
+ argument
+<DT><B>Throws:</B>
+<DD><CODE><code>ClassCastException</code></CODE> - if the argument is not an
+ File object
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/ClassCastException.html">ClassCastException</A></CODE><DT><B>Since:</B></DT>
+ <DD>JDK1.2</DD>
+<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Comparable.html"><CODE>Comparable</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="mkdir()"><!-- --></A><H3>
+mkdir</H3>
+<PRE>
+public boolean <B>mkdir</B>()</PRE>
+<DL>
+<DD>Creates the directory named by this abstract pathname.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html#mkdir()">mkdir</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/File.html">File</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the directory was
+ created; <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="renameTo(org.openafs.jafs.File)"><!-- --></A><H3>
+renameTo</H3>
+<PRE>
+public boolean <B>renameTo</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> dest)</PRE>
+<DL>
+<DD>Renames the file denoted by this abstract pathname.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>dest</CODE> - The new abstract pathname for the named file
+<DT><B>Returns:</B><DD><code>true</code> if and only if the renaming succeeded;
+ <code>false</code> otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/NullPointerException.html">NullPointerException</A></CODE> - If parameter <code>dest</code> is <code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes()"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public boolean <B>setAttributes</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></PRE>
+<DL>
+<DD>Performs a file <code>stat</code> on the actual AFS file and populates
+ this object's respective field members with the appropriate values.
+ method will, if authorized, perform a <code>stat</code> on the
+ actual AFS file and update its respective field members; defining
+ this file object's attributes.
+
+ <P><B>This method should not be used directly for refreshing or validating
+ this AFS file object. Please use <A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</CODE></A> instead.</B>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if and only if the current user is allowed to stat the file;
+ <code>false</code> otherwise.
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSSecurityException.html">AFSSecurityException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html#validate()"><CODE>validate()</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/File.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/ErrorTable.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/FileInputStream.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>
+ <A HREF="File.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#fields_inherited_from_class_java.io.File">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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>
+FileInputStream (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.FileInputStream,FileInputStream class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FileInputStream (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileInputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/File.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/FileOutputStream.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>
+ <A HREF="FileInputStream.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 FileInputStream</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/io/InputStream.html">java.io.InputStream</A>
+ |
+ +--<B>org.openafs.jafs.FileInputStream</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>FileInputStream</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></DL>
+
+<P>
+This class is a file input stream for files within AFS.
+ It is an input stream for reading data from a
+ <code><A HREF="../../../org/openafs/jafs/File.html"><CODE>File</CODE></A></code>.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+ <DD>2.1, 08/03/2001</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html"><CODE>File</CODE></A>,
+<A HREF="../../../org/openafs/jafs/FileOutputStream.html"><CODE>FileOutputStream</CODE></A>,
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/FileInputStream.html"><CODE>FileInputStream</CODE></A></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><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#FileInputStream(org.openafs.jafs.File)">FileInputStream</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file)</CODE>
+
+<BR>
+ Creates a <code>FileInputStream</code> by
+ opening a connection to an actual AFS file,
+ the file represented by file <code>file</code>
+ in the AFS file system.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#FileInputStream(java.lang.String)">FileInputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Creates a <code>FileInputStream</code> by
+ opening a connection to an actual AFS file,
+ the file named by the path name <code>name</code>
+ in the AFS file system.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Closes this file input stream and releases any system resources
+ associated with the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#read()">read</A></B>()</CODE>
+
+<BR>
+ Reads the next byte of data from this input stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#read(byte[])">read</A></B>(byte[] b)</CODE>
+
+<BR>
+ Reads up to <code>b.length</code> bytes of data from this input
+ stream into an array of bytes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#read(byte[], int, int)">read</A></B>(byte[] b,
+ int off,
+ int len)</CODE>
+
+<BR>
+ Reads up to <code>len</code> bytes of data from this input stream
+ into an array of bytes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileInputStream.html#skip(long)">skip</A></B>(long n)</CODE>
+
+<BR>
+ Skips over and discards <code>n</code> bytes of data from the
+ input stream. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.io.InputStream"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#available()">available</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#mark(int)">mark</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#markSupported()">markSupported</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#reset()">reset</A></CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="FileInputStream(java.lang.String)"><!-- --></A><H3>
+FileInputStream</H3>
+<PRE>
+public <B>FileInputStream</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a <code>FileInputStream</code> by
+ opening a connection to an actual AFS file,
+ the file named by the path name <code>name</code>
+ in the AFS file system.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the file to read from
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an AFS specific error occurs,
+ if the file does not, or cannot be opened for any
+ other reason, including authorization.</DL>
+<HR>
+
+<A NAME="FileInputStream(org.openafs.jafs.File)"><!-- --></A><H3>
+FileInputStream</H3>
+<PRE>
+public <B>FileInputStream</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a <code>FileInputStream</code> by
+ opening a connection to an actual AFS file,
+ the file represented by file <code>file</code>
+ in the AFS file system.
+<P>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - an AFS file object representing a file to read from
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an AFS specific error occurs,
+ if the file does not, or cannot be opened for any
+ other reason, including authorization.</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="read()"><!-- --></A><H3>
+read</H3>
+<PRE>
+public int <B>read</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Reads the next byte of data from this input stream. The value
+ byte is returned as an <code>int</code> in the range
+ <code>0</code> to <code>255</code>. If no byte is available
+ because the end of the stream has been reached, the value
+ <code>-1</code> is returned. This method blocks until input data
+ is available, the end of the stream is detected, or an exception
+ is thrown.
+
+ <p>This method simply performs <code>in.read()</code> and returns
+ the result.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#read()">read</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the next byte of data, or <code>-1</code> if the end of the
+ stream is reached.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.<DT><B>See Also:</B><DD><CODE>FileInputStream.read()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(byte[])"><!-- --></A><H3>
+read</H3>
+<PRE>
+public int <B>read</B>(byte[] b)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Reads up to <code>b.length</code> bytes of data from this input
+ stream into an array of bytes. This method blocks until some input
+ is available.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#read(byte[])">read</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the buffer into which the data is read.
+<DT><B>Returns:</B><DD>the total number of bytes read into the buffer, or
+ <code>-1</code> if there is no more data because the end of
+ the file has been reached.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(byte[], int, int)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public int <B>read</B>(byte[] b,
+ int off,
+ int len)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Reads up to <code>len</code> bytes of data from this input stream
+ into an array of bytes. This method blocks until some input is
+ available.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#read(byte[], int, int)">read</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the buffer into which the data is read.<DD><CODE>off</CODE> - the start offset of the data.<DD><CODE>len</CODE> - the maximum number of bytes read.
+<DT><B>Returns:</B><DD>the total number of bytes read into the buffer, or
+ <code>-1</code> if there is no more data because the end of
+ the file has been reached.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="skip(long)"><!-- --></A><H3>
+skip</H3>
+<PRE>
+public long <B>skip</B>(long n)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Skips over and discards <code>n</code> bytes of data from the
+ input stream. The <code>skip</code> method may, for a variety of
+ reasons, end up skipping over some smaller number of bytes,
+ possibly <code>0</code>. The actual number of bytes skipped is returned.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#skip(long)">skip</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>n</CODE> - the number of bytes to be skipped.
+<DT><B>Returns:</B><DD>the actual number of bytes skipped.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Closes this file input stream and releases any system resources
+ associated with the stream.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html#close()">close</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/InputStream.html">InputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileInputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/File.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/FileOutputStream.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>
+ <A HREF="FileInputStream.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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>
+FileOutputStream (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.FileOutputStream,FileOutputStream class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="FileOutputStream (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileOutputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/FileInputStream.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Group.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>
+ <A HREF="FileOutputStream.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 FileOutputStream</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/io/OutputStream.html">java.io.OutputStream</A>
+ |
+ +--<B>org.openafs.jafs.FileOutputStream</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>FileOutputStream</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html">OutputStream</A></DL>
+
+<P>
+This class is a file output stream for files within AFS.
+ It is an output stream for writing data to a
+ <code><A HREF="../../../org/openafs/jafs/File.html"><CODE>File</CODE></A></code>.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+ <DD>2.1, 08/03/2001</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/File.html"><CODE>File</CODE></A>,
+<A HREF="../../../org/openafs/jafs/FileInputStream.html"><CODE>FileInputStream</CODE></A>,
+<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/FileOutputStream.html"><CODE>FileOutputStream</CODE></A></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><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#FileOutputStream(org.openafs.jafs.File)">FileOutputStream</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file)</CODE>
+
+<BR>
+ Creates a file output stream to write to the AFS file represented by
+ the specified <code>File</code> object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#FileOutputStream(org.openafs.jafs.File, boolean)">FileOutputStream</A></B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file,
+ boolean append)</CODE>
+
+<BR>
+ Creates a file output stream to write to the AFS file represented by
+ the specified <code>File</code> object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#FileOutputStream(java.lang.String)">FileOutputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Creates an output file stream to write to the AFS file with the
+ specified name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#FileOutputStream(java.lang.String, boolean)">FileOutputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ boolean append)</CODE>
+
+<BR>
+ Creates an output file stream to write to the AFS file with the specified
+ <code>name</code>. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Closes this file output stream and releases any system resources
+ associated with this stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#write(byte[])">write</A></B>(byte[] b)</CODE>
+
+<BR>
+ Writes <code>b.length</code> bytes from the specified byte array
+ to this file output stream.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#write(byte[], int, int)">write</A></B>(byte[] b,
+ int off,
+ int len)</CODE>
+
+<BR>
+ Writes <code>len</code> bytes from the specified
+ <code>byte</code> array starting at offset <code>off</code> to
+ this file output stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/FileOutputStream.html#write(int)">write</A></B>(int b)</CODE>
+
+<BR>
+ Writes the specified <code>byte</code> to this file output stream.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.io.OutputStream"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html">OutputStream</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html#flush()">flush</A></CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="FileOutputStream(java.lang.String)"><!-- --></A><H3>
+FileOutputStream</H3>
+<PRE>
+public <B>FileOutputStream</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates an output file stream to write to the AFS file with the
+ specified name.
+ <p>
+ If the file exists but is a directory rather than a regular file, does
+ not exist but cannot be created, or cannot be opened for any other
+ reason then a <code>AFSFileException</code> is thrown.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the file to write to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an AFS specific error occurs,
+ if the file exists but is a directory
+ rather than a regular file, does not exist but cannot
+ be created, or cannot be opened for any other reason, including
+ authorization.</DL>
+<HR>
+
+<A NAME="FileOutputStream(java.lang.String, boolean)"><!-- --></A><H3>
+FileOutputStream</H3>
+<PRE>
+public <B>FileOutputStream</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ boolean append)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates an output file stream to write to the AFS file with the specified
+ <code>name</code>. If the second argument is <code>true</code>, then
+ bytes will be written to the end of the file rather than the beginning.
+ <p>
+ If the file exists but is a directory rather than a regular file, does
+ not exist but cannot be created, or cannot be opened for any other
+ reason then a <code>AFSFileException</code> is thrown.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the file to write to<DD><CODE>append</CODE> - if <code>true</code>, then bytes will be written
+ to the end of the file rather than the beginning
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an AFS specific error occurs,
+ if the file exists but is a directory
+ rather than a regular file, does not exist but cannot
+ be created, or cannot be opened for any other reason, including
+ authorization.</DL>
+<HR>
+
+<A NAME="FileOutputStream(org.openafs.jafs.File)"><!-- --></A><H3>
+FileOutputStream</H3>
+<PRE>
+public <B>FileOutputStream</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a file output stream to write to the AFS file represented by
+ the specified <code>File</code> object.
+ <p>
+ If the file exists but is a directory rather than a regular file, does
+ not exist but cannot be created, or cannot be opened for any other
+ reason then a <code>AFSFileException</code> is thrown.
+<P>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - the AFS file to be opened for writing.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an AFS specific error occurs,
+ if the file exists but is a directory
+ rather than a regular file, does not exist but cannot
+ be created, or cannot be opened for any other reason, including
+ authorization.<DT><B>See Also:</B><DD><CODE>File.getPath()</CODE></DL>
+<HR>
+
+<A NAME="FileOutputStream(org.openafs.jafs.File, boolean)"><!-- --></A><H3>
+FileOutputStream</H3>
+<PRE>
+public <B>FileOutputStream</B>(<A HREF="../../../org/openafs/jafs/File.html">File</A> file,
+ boolean append)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Creates a file output stream to write to the AFS file represented by
+ the specified <code>File</code> object.
+ <p>
+ If the file exists but is a directory rather than a regular file, does
+ not exist but cannot be created, or cannot be opened for any other
+ reason then a <code>AFSFileException</code> is thrown.
+<P>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - the AFS file to be opened for writing.<DD><CODE>append</CODE> - if <code>true</code>, then bytes will be written
+ to the end of the file rather than the beginning
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - If an AFS specific error occurs,
+ if the file exists but is a directory
+ rather than a regular file, does not exist but cannot
+ be created, or cannot be opened for any other reason, including
+ authorization.<DT><B>See Also:</B><DD><CODE>File.getPath()</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="write(int)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(int b)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Writes the specified <code>byte</code> to this file output stream.
+ <p>
+ Implements the abstract <tt>write</tt> method of <tt>OutputStream</tt>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html#write(int)">write</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html">OutputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the byte to be written.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(byte[])"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(byte[] b)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Writes <code>b.length</code> bytes from the specified byte array
+ to this file output stream.
+ <p>
+ Implements the <code>write</code> method of three arguments with the
+ arguments <code>b</code>, <code>0</code>, and
+ <code>b.length</code>.
+ <p>
+ Note that this method does not call the one-argument
+ <code>write</code> method of its underlying stream with the single
+ argument <code>b</code>.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html#write(byte[])">write</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html">OutputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the data to be written.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an error occurs.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/FileOutputStream.html#write(byte[], int, int)"><CODE>write(byte[], int, int)</CODE></A>,
+<CODE>FilterOutputStream.write(byte[], int, int)</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(byte[], int, int)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(byte[] b,
+ int off,
+ int len)
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Writes <code>len</code> bytes from the specified
+ <code>byte</code> array starting at offset <code>off</code> to
+ this file output stream.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html#write(byte[], int, int)">write</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html">OutputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the data to be written<DD><CODE>off</CODE> - the start offset in the data<DD><CODE>len</CODE> - the number of bytes that are written
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.<DT><B>See Also:</B><DD><CODE>FilterOutputStream.write(int)</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></PRE>
+<DL>
+<DD>Closes this file output stream and releases any system resources
+ associated with this stream. This file output stream may no longer
+ be used for writing bytes.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html#close()">close</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/OutputStream.html">OutputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSFileException.html">AFSFileException</A></CODE> - if an I/O or other file related error occurs.</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileOutputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/FileInputStream.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Group.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>
+ <A HREF="FileOutputStream.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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>
+Group (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Group,Group class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Group (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Group.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/FileOutputStream.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Key.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>
+ <A HREF="Group.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Group</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.Group</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="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</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>Group</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A>, <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 an AFS group. It holds information about
+ the group, such as what groups it owns.<BR><BR>
+
+ Constructing an instance of a <code>Group</code> does not mean an actual
+ AFS group is created in a cell -- usually a <code>Group</code>
+ object is a representation of an already existing AFS group. If,
+ however, the <code>Group</code> is constructed with the name of a
+ group that does not exist in the cell represented by the provided
+ <code>Cell</code>, a new group with that name can be
+ created in that cell by calling the <A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String, int)"><CODE>create(String, int)</CODE></A> or
+ <A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String)"><CODE>create(String)</CODE></A> method. If such a group does already exist when
+ one of these methods is called, an exception will be thrown.<BR><BR>
+
+ Each <code>Group</code> object has its own individual set of
+ <code>Group</code>s that it owns and <code>User</code>s that belong
+ to it. These represents the properties and attributes
+ of an actual AFS group.
+ <BR><BR>
+
+ <!--Information on how member values are set-->
+
+ Associated with an AFS group are many attributes, such as whether or not
+ who is allowed to list the members of this group. The <code>Group</code>
+ class has many "set" methods to indicate values for these attributes (i.e.
+ <A HREF="../../../org/openafs/jafs/Group.html#setListMembership(int)"><CODE>setListMembership(int)</CODE></A>. However, in order for these values to be
+ written to the actual AFS group, the <A HREF="../../../org/openafs/jafs/Group.html#flushInfo()"><CODE>flushInfo()</CODE></A> method needs to
+ be called. This writes all user attributes set through this API to AFS.
+ This is done to minimize calls through JNI.<BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a
+ <code>Group</code> object. It lists the name and owner of a specified
+ group.
+
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Partition;
+ import org.openafs.jafs.Group;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ private Group group;
+ ...
+ public static void main(String[] args) throws Exception
+ {
+ String username = arg[0];
+ String password = arg[1];
+ String cellName = arg[2];
+ String groupName = arg[3];
+
+ token = new Token(username, password, cellName);
+ cell = new Cell(token);
+ group = new Group(groupName, cell);
+
+ System.out.println("Owner of group " + group.getName() + " is "
+ + group.getOwnerName());
+ ...
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Group">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 boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ Whether or not the information fields of this group have been filled.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#cell">cell</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#cellHandle">cellHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#creator">creator</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#creatorUID">creatorUID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS">GROUP_ANYUSER_ACCESS</A></B></CODE>
+
+<BR>
+ Any user has access</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS">GROUP_GROUP_ACCESS</A></B></CODE>
+
+<BR>
+ Members of the group have access</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS">GROUP_OWNER_ACCESS</A></B></CODE>
+
+<BR>
+ Only the owner of the group has access</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#groupsOwned">groupsOwned</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#groupsOwnedNames">groupsOwnedNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#listAdd">listAdd</A></B></CODE>
+
+<BR>
+ who is allowed to execute PTS adduser for this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#listDelete">listDelete</A></B></CODE>
+
+<BR>
+ who is allowed to execute PTS removeuser for this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#listGroupsOwned">listGroupsOwned</A></B></CODE>
+
+<BR>
+ who is allowed to execute PTS examine for this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#listMembership">listMembership</A></B></CODE>
+
+<BR>
+ who is allowed to execute PTS listowned for this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#listStatus">listStatus</A></B></CODE>
+
+<BR>
+ who is allowed to execute PTS examine for this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#memberNames">memberNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#members">members</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#membershipCount">membershipCount</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#name">name</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#nameUID">nameUID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#owner">owner</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#ownerUID">ownerUID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.openafs.jafs.PTSEntry"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.openafs.jafs.<A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_GROUP">PTS_GROUP</A>, <A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_USER">PTS_USER</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/Group.html#Group(org.openafs.jafs.Cell)">Group</A></B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)</CODE>
+
+<BR>
+ Creates a blank <code>Group</code> given the cell to which the group
+ belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#Group(java.lang.String, org.openafs.jafs.Cell)">Group</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)</CODE>
+
+<BR>
+ Constructs a new <code>Group</code> object instance given the name
+ of the AFS group and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#Group(java.lang.String, org.openafs.jafs.Cell, boolean)">Group</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <code>Group</code> object instance given the name
+ of the AFS group and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#addMember(int, java.lang.String, java.lang.String)">addMember</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)</CODE>
+
+<BR>
+ Adds a user to the specified group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#addMember(org.openafs.jafs.User)">addMember</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ Add the specified member to this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#changeOwner(org.openafs.jafs.Group)">changeOwner</A></B>(<A HREF="../../../org/openafs/jafs/Group.html">Group</A> theOwner)</CODE>
+
+<BR>
+ Change the owner of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#changeOwner(int, java.lang.String, java.lang.String)">changeOwner</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName)</CODE>
+
+<BR>
+ Change the owner of the specified group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#changeOwner(org.openafs.jafs.User)">changeOwner</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> theOwner)</CODE>
+
+<BR>
+ Change the owner of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#compareTo(org.openafs.jafs.Group)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Group.html">Group</A> group)</CODE>
+
+<BR>
+ Compares two Group objects respective to their names 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#create(int, java.lang.String, java.lang.String, int)">create</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName,
+ int gid)</CODE>
+
+<BR>
+ Creates the PTS entry for a new group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName)</CODE>
+
+<BR>
+ Creates the PTS entry for a new group in this cell. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String, int)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName,
+ int gid)</CODE>
+
+<BR>
+ Creates the PTS entry for a new group in this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#delete()">delete</A></B>()</CODE>
+
+<BR>
+ Deletes the PTS entry for a group in this cell. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#delete(int, java.lang.String)">delete</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName)</CODE>
+
+<BR>
+ Deletes the PTS entry for a group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#equals(org.openafs.jafs.Group)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Group.html">Group</A> otherGroup)</CODE>
+
+<BR>
+ Tests whether two <code>Group</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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#flushInfo()">flushInfo</A></B>()</CODE>
+
+<BR>
+ Flushes the current information of this <code>Group</code> object to disk.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getCell()">getCell</A></B>()</CODE>
+
+<BR>
+ Returns the Cell this group belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getCreator()">getCreator</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the creator of this group in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getGroupInfo(int, java.lang.String, org.openafs.jafs.Group)">getGroupInfo</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> group)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>Group</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getGroupMembersBegin(int, java.lang.String)">getGroupMembersBegin</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Begin the process of getting the users that belong to the group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getGroupMembersDone(int)">getGroupMembersDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getGroupMembersNext(int, int, org.openafs.jafs.User)">getGroupMembersNext</A></B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ Fills the next user object belonging to that group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Group.html#getGroupMembersNextString(int)">getGroupMembersNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next members that belongs to the group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getGroupsOwned()">getGroupsOwned</A></B>()</CODE>
+
+<BR>
+ Returns an array of the <code>Group</code> objects this group owns.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Group.html#getGroupsOwnedNames()">getGroupsOwnedNames</A></B>()</CODE>
+
+<BR>
+ Returns an array of the group names this group owns.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Group.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this <code>Group</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getListAdd()">getListAdd</A></B>()</CODE>
+
+<BR>
+ Returns who can add members (pts adduser) to this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getListDelete()">getListDelete</A></B>()</CODE>
+
+<BR>
+ Returns who can delete members (pts removemember) from this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getListGroupsOwned()">getListGroupsOwned</A></B>()</CODE>
+
+<BR>
+ Returns who can list the groups owned (pts listowned) by this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getListMembership()">getListMembership</A></B>()</CODE>
+
+<BR>
+ Returns who can list the users (pts membership) that belong to this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getListStatus()">getListStatus</A></B>()</CODE>
+
+<BR>
+ Returns who can list the status (pts examine) of this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Group.html#getMemberNames()">getMemberNames</A></B>()</CODE>
+
+<BR>
+ Returns an array of the member names of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/User.html">User</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getMembers()">getMembers</A></B>()</CODE>
+
+<BR>
+ Returns an array of the <code>User</code> object members of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getMembershipCount()">getMembershipCount</A></B>()</CODE>
+
+<BR>
+ Returns the number of members of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Group.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getOwner()">getOwner</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the owner of this group in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+ Returns the type of <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> this object represents.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#getUID()">getUID</A></B>()</CODE>
+
+<BR>
+ Returns the numeric AFS id of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#reclaimGroupMemory()">reclaimGroupMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the group portion of the native
+ library.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this Group object instance with values from
+ the AFS group it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this Group object instance with values from
+ the AFS group it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refreshGroupsOwned()">refreshGroupsOwned</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the <code>Group</code> objects the
+ group owns. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refreshGroupsOwnedNames()">refreshGroupsOwnedNames</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the names of groups the group
+ owns. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>Group</code> to reflect
+ the current state of the AFS group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refreshMemberNames()">refreshMemberNames</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the names of members belonging
+ to this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#refreshMembers()">refreshMembers</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the <code>User</code> objects
+ belonging to this group. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#removeMember(int, java.lang.String, java.lang.String)">removeMember</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)</CODE>
+
+<BR>
+ Removes a user from the specified group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#removeMember(org.openafs.jafs.User)">removeMember</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ Remove the specified member from this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#rename(int, java.lang.String, java.lang.String)">rename</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> oldGroupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newGroupName)</CODE>
+
+<BR>
+ Change the name of the specified group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#rename(java.lang.String)">rename</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)</CODE>
+
+<BR>
+ Change the name of this group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#setGroupInfo(int, java.lang.String, org.openafs.jafs.Group)">setGroupInfo</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)</CODE>
+
+<BR>
+ Sets the information values of this AFS group to be the parameter values.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#setListAdd(int)">setListAdd</A></B>(int value)</CODE>
+
+<BR>
+ Sets who can add members (pts adduser) to this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#setListDelete(int)">setListDelete</A></B>(int value)</CODE>
+
+<BR>
+ Sets who can delete members (pts removemember) from this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#setListGroupsOwned(int)">setListGroupsOwned</A></B>(int value)</CODE>
+
+<BR>
+ Sets who can list the groups owned (pts listowned) by this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#setListMembership(int)">setListMembership</A></B>(int value)</CODE>
+
+<BR>
+ Sets who can list the users (pts membership) that belong to this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Group.html#setListStatus(int)">setListStatus</A></B>(int value)</CODE>
+
+<BR>
+ Sets who can list the status (pts examine) of this group.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Group.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Group</CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="GROUP_OWNER_ACCESS"><!-- --></A><H3>
+GROUP_OWNER_ACCESS</H3>
+<PRE>
+public static final int <B>GROUP_OWNER_ACCESS</B></PRE>
+<DL>
+<DD>Only the owner of the group has access
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Group.GROUP_OWNER_ACCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GROUP_GROUP_ACCESS"><!-- --></A><H3>
+GROUP_GROUP_ACCESS</H3>
+<PRE>
+public static final int <B>GROUP_GROUP_ACCESS</B></PRE>
+<DL>
+<DD>Members of the group have access
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Group.GROUP_GROUP_ACCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GROUP_ANYUSER_ACCESS"><!-- --></A><H3>
+GROUP_ANYUSER_ACCESS</H3>
+<PRE>
+public static final int <B>GROUP_ANYUSER_ACCESS</B></PRE>
+<DL>
+<DD>Any user has access
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Group.GROUP_ANYUSER_ACCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="cell"><!-- --></A><H3>
+cell</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>cell</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="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="membershipCount"><!-- --></A><H3>
+membershipCount</H3>
+<PRE>
+protected int <B>membershipCount</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nameUID"><!-- --></A><H3>
+nameUID</H3>
+<PRE>
+protected int <B>nameUID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ownerUID"><!-- --></A><H3>
+ownerUID</H3>
+<PRE>
+protected int <B>ownerUID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="creatorUID"><!-- --></A><H3>
+creatorUID</H3>
+<PRE>
+protected int <B>creatorUID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="owner"><!-- --></A><H3>
+owner</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>owner</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="creator"><!-- --></A><H3>
+creator</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>creator</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listStatus"><!-- --></A><H3>
+listStatus</H3>
+<PRE>
+protected int <B>listStatus</B></PRE>
+<DL>
+<DD>who is allowed to execute PTS examine for this group. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A> -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A>
+ -- only members of the group have permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A> -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listGroupsOwned"><!-- --></A><H3>
+listGroupsOwned</H3>
+<PRE>
+protected int <B>listGroupsOwned</B></PRE>
+<DL>
+<DD>who is allowed to execute PTS examine for this group. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A> -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A>
+ -- only members of the group have permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A> -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listMembership"><!-- --></A><H3>
+listMembership</H3>
+<PRE>
+protected int <B>listMembership</B></PRE>
+<DL>
+<DD>who is allowed to execute PTS listowned for this group. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A> -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A>
+ -- only members of the group have permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A> -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listAdd"><!-- --></A><H3>
+listAdd</H3>
+<PRE>
+protected int <B>listAdd</B></PRE>
+<DL>
+<DD>who is allowed to execute PTS adduser for this group. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A> -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A>
+ -- only members of the group have permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A> -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listDelete"><!-- --></A><H3>
+listDelete</H3>
+<PRE>
+protected int <B>listDelete</B></PRE>
+<DL>
+<DD>who is allowed to execute PTS removeuser for this group. Valid
+ values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A> -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A>
+ -- only members of the group have permission</li>
+ <li><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A> -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="members"><!-- --></A><H3>
+members</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>members</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="memberNames"><!-- --></A><H3>
+memberNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>memberNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groupsOwned"><!-- --></A><H3>
+groupsOwned</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>groupsOwned</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groupsOwnedNames"><!-- --></A><H3>
+groupsOwnedNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>groupsOwnedNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="cachedInfo"><!-- --></A><H3>
+cachedInfo</H3>
+<PRE>
+protected boolean <B>cachedInfo</B></PRE>
+<DL>
+<DD>Whether or not the information fields of this group have been filled.
+<P>
+<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="Group(java.lang.String, org.openafs.jafs.Cell)"><!-- --></A><H3>
+Group</H3>
+<PRE>
+public <B>Group</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <code>Group</code> object instance given the name
+ of the AFS group and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. This does not actually
+ create a new AFS group, it just represents one.
+ If <code>name</code> is not an actual AFS group, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String, int)"><CODE>create(String, int)</CODE></A> or <A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String)"><CODE>create(String)</CODE></A>
+ method is explicitly called to create it.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the group to represent<DD><CODE>cell</CODE> - the cell to which the group belongs.
+<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="Group(java.lang.String, org.openafs.jafs.Cell, boolean)"><!-- --></A><H3>
+Group</H3>
+<PRE>
+public <B>Group</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <code>Group</code> object instance given the name
+ of the AFS group and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. This does not actually
+ create a new AFS group, it just represents one.
+ If <code>name</code> is not an actual AFS group, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String, int)"><CODE>create(String, int)</CODE></A> or <A HREF="../../../org/openafs/jafs/Group.html#create(java.lang.String)"><CODE>create(String)</CODE></A>
+ method is explicitly called to create it. Note that if the process
+ doesn't exist and <code>preloadAllMembers</code> is true, an exception
+ will be thrown.
+
+ <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/Group.html#refresh()"><CODE>refresh()</CODE></A> method to address any coherency
+ concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the group to represent<DD><CODE>cell</CODE> - the cell to which the group belongs.<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/Group.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="Group(org.openafs.jafs.Cell)"><!-- --></A><H3>
+Group</H3>
+<PRE>
+<B>Group</B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)
+throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a blank <code>Group</code> given the cell to which the group
+ belongs. Other methods cvan then be used to fill the fields of this
+ blank object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>cell</CODE> - the cell to which the group belongs.
+<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>
+
+<!-- ============ 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="create(java.lang.String)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public void <B>create</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates the PTS entry for a new group in this cell. Automatically assigns
+ a group id.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ownerName</CODE> - the owner of this group
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(java.lang.String, int)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public void <B>create</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName,
+ int gid)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates the PTS entry for a new group in this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ownerName</CODE> - the owner of this group<DD><CODE>gid</CODE> - the group id to assign to the new group
+<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="delete()"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes the PTS entry for a group in this cell. Deletes this group
+ from the membership list of the user that belonged to it, but does not
+ delete the groups owned by this group. Also nullifies the Java object.
+<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="flushInfo()"><!-- --></A><H3>
+flushInfo</H3>
+<PRE>
+public void <B>flushInfo</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Flushes the current information of this <code>Group</code> object to disk.
+ This will update the information of the actual AFS group to match the
+ settings that have been modified in this <code>Group</code> object.
+ This function must be called before any changes made to the information
+ fields of this group will be seen by the AFS system.
+<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="addMember(org.openafs.jafs.User)"><!-- --></A><H3>
+addMember</H3>
+<PRE>
+public void <B>addMember</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Add the specified member to this group.
+<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="removeMember(org.openafs.jafs.User)"><!-- --></A><H3>
+removeMember</H3>
+<PRE>
+public void <B>removeMember</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Remove the specified member from this group.
+<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="changeOwner(org.openafs.jafs.User)"><!-- --></A><H3>
+changeOwner</H3>
+<PRE>
+public void <B>changeOwner</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> theOwner)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Change the owner of this group.
+<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="changeOwner(org.openafs.jafs.Group)"><!-- --></A><H3>
+changeOwner</H3>
+<PRE>
+public void <B>changeOwner</B>(<A HREF="../../../org/openafs/jafs/Group.html">Group</A> theOwner)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Change the owner of this group.
+<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="rename(java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+public void <B>rename</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Change the name of this group.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newName</CODE> - the new name for this group
+<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()"><!-- --></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 Group object instance with values from
+ the AFS group it represents. All properties that have been initialized
+ and/or accessed will be renewed according to the values of the AFS group
+ this <code>Group</code> 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Group object instance with values from
+ the AFS group it represents. If <CODE>all</CODE> is <CODE>true</CODE>
+ then <U>all</U> of the properties of this Group object instance will be
+ set, or renewed, according to the values of the AFS group 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/Group.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/Group.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>Refreshes the information fields of this <code>Group</code> to reflect
+ the current state of the AFS group. Does not refresh the members that
+ belong to the group, nor the groups the group owns.
+<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="refreshMembers()"><!-- --></A><H3>
+refreshMembers</H3>
+<PRE>
+protected void <B>refreshMembers</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the current information about the <code>User</code> objects
+ belonging to this group. Does not refresh the information fields of
+ the group or groups owned.
+<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="refreshMemberNames()"><!-- --></A><H3>
+refreshMemberNames</H3>
+<PRE>
+protected void <B>refreshMemberNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the current information about the names of members belonging
+ to this group. Does not refresh the information fields of the group
+ or groups owned.
+<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="refreshGroupsOwned()"><!-- --></A><H3>
+refreshGroupsOwned</H3>
+<PRE>
+protected void <B>refreshGroupsOwned</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the current information about the <code>Group</code> objects the
+ group owns. Does not refresh the information fields of the group or
+ members.
+<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="refreshGroupsOwnedNames()"><!-- --></A><H3>
+refreshGroupsOwnedNames</H3>
+<PRE>
+protected void <B>refreshGroupsOwnedNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the current information about the names of groups the group
+ owns. Does not refresh the information fields of the group or members.
+<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="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 group.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this group</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUID()"><!-- --></A><H3>
+getUID</H3>
+<PRE>
+public int <B>getUID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the numeric AFS id of this group.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getUID()">getUID</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS id of this group
+<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="getCell()"><!-- --></A><H3>
+getCell</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>getCell</B>()</PRE>
+<DL>
+<DD>Returns the Cell this group belongs to.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getCell()">getCell</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Cell this group belongs to</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMembers()"><!-- --></A><H3>
+getMembers</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/User.html">User</A>[] <B>getMembers</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array of the <code>User</code> object members of this group.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the members of this group
+<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="getMemberNames()"><!-- --></A><H3>
+getMemberNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getMemberNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array of the member names of this group.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the member names of this group
+<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="getGroupsOwned()"><!-- --></A><H3>
+getGroupsOwned</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[] <B>getGroupsOwned</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array of the <code>Group</code> objects this group owns.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the <code>Groups</code> this group owns
+<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="getGroupsOwnedNames()"><!-- --></A><H3>
+getGroupsOwnedNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getGroupsOwnedNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array of the group names this group owns.
+ Contains <code>String</code> objects.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the group names this group owns
+<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="getMembershipCount()"><!-- --></A><H3>
+getMembershipCount</H3>
+<PRE>
+public int <B>getMembershipCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of members of this group.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the membership count
+<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="getOwner()"><!-- --></A><H3>
+getOwner</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A> <B>getOwner</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the owner of this group in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ <P>The returning object could be either a <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> or <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A>;
+ to determine what type of object the <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> represents,
+ call the <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A> method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getOwner()">getOwner</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the owner of this group
+<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/PTSEntry.html"><CODE>PTSEntry</CODE></A>,
+<A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Group.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCreator()"><!-- --></A><H3>
+getCreator</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A> <B>getCreator</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the creator of this group in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ <P>The returning object could be either a <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> or <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A>;
+ to determine what type of object the <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> represents,
+ call the <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A> method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getCreator()">getCreator</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the creator of this group
+<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/PTSEntry.html"><CODE>PTSEntry</CODE></A>,
+<A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Group.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public short <B>getType</B>()</PRE>
+<DL>
+<DD>Returns the type of <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> this object represents.
+
+ <P>This method will always return <A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_GROUP"><CODE>PTSEntry.PTS_GROUP</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()">getType</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of PTSEntry this object represents
+ (will always return <A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_GROUP"><CODE>PTSEntry.PTS_GROUP</CODE></A>)<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>,
+<A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getListStatus()"><!-- --></A><H3>
+getListStatus</H3>
+<PRE>
+public int <B>getListStatus</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns who can list the status (pts examine) of this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the status listing permission
+<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="getListGroupsOwned()"><!-- --></A><H3>
+getListGroupsOwned</H3>
+<PRE>
+public int <B>getListGroupsOwned</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns who can list the groups owned (pts listowned) by this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the groups owned listing permission
+<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="getListMembership()"><!-- --></A><H3>
+getListMembership</H3>
+<PRE>
+public int <B>getListMembership</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns who can list the users (pts membership) that belong to this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the membership listing permission
+<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="getListAdd()"><!-- --></A><H3>
+getListAdd</H3>
+<PRE>
+public int <B>getListAdd</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns who can add members (pts adduser) to this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the member adding permission
+<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="getListDelete()"><!-- --></A><H3>
+getListDelete</H3>
+<PRE>
+public int <B>getListDelete</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns who can delete members (pts removemember) from this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the member deleting permission
+<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="setListStatus(int)"><!-- --></A><H3>
+setListStatus</H3>
+<PRE>
+public void <B>setListStatus</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets who can list the status (pts examine) of this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list membership permission
+<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/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - if an invalud argument is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListGroupsOwned(int)"><!-- --></A><H3>
+setListGroupsOwned</H3>
+<PRE>
+public void <B>setListGroupsOwned</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets who can list the groups owned (pts listowned) by this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list membership permission
+<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/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - if an invalud argument is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListMembership(int)"><!-- --></A><H3>
+setListMembership</H3>
+<PRE>
+public void <B>setListMembership</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets who can list the users (pts membership) that belong to this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list membership permission
+<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/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - if an invalud argument is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListAdd(int)"><!-- --></A><H3>
+setListAdd</H3>
+<PRE>
+public void <B>setListAdd</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets who can add members (pts adduser) to this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list membership permission
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - if an invalid value is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListDelete(int)"><!-- --></A><H3>
+setListDelete</H3>
+<PRE>
+public void <B>setListDelete</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets who can delete members (pts removemember) from this group.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_OWNER_ACCESS"><CODE>GROUP_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_GROUP_ACCESS"><CODE>GROUP_GROUP_ACCESS</CODE></A></code>
+ -- only members of the group have permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/Group.html#GROUP_ANYUSER_ACCESS"><CODE>GROUP_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list membership permission
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - if an invalid value is provided</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>Group</code>.
+ Contains the information fields and members.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>Group</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.Group)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Group.html">Group</A> group)</PRE>
+<DL>
+<DD>Compares two Group objects respective to their names 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>group</CODE> - The Group object to be compared to this Group instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this Group's name, a
+ value less than zero if this Group's name is
+ lexicographically less than the argument, or a value greater
+ than zero if this Group's name 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> 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/Group.html#compareTo(org.openafs.jafs.Group)"><CODE>compareTo(Group)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Group)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Group.html">Group</A> otherGroup)</PRE>
+<DL>
+<DD>Tests whether two <code>Group</code> objects are equal, based on their
+ names.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherGroup</CODE> - the Group to test
+<DT><B>Returns:</B><DD>whether the specifed Group is the same as this Group</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>Group</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>Group</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(int, java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+create</H3>
+<PRE>
+protected static void <B>create</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName,
+ int gid)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates the PTS entry for a new group. Pass in 0 for the uid if PTS is to
+ automatically assign the group id.
+<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>groupName</CODE> - the name of the group to create<DD><CODE>ownerName</CODE> - the owner of this group<DD><CODE>gid</CODE> - the group id to assign to the group (0 to have one
+ automatically assigned)
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(int, java.lang.String)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+protected static void <B>delete</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes the PTS entry for a group. Deletes this group from the
+ membership list of the users that belonged to it, but does not delete
+ the groups owned by this group.
+<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>groupName</CODE> - the name of the group to delete
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupInfo(int, java.lang.String, org.openafs.jafs.Group)"><!-- --></A><H3>
+getGroupInfo</H3>
+<PRE>
+protected static void <B>getGroupInfo</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> group)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>Group</code>.
+ Fills in values based on the current PTS information of the group.
+<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>name</CODE> - the name of the group for which to get the information<DD><CODE>group</CODE> - the <code>Group</code> object in which to fill in the
+ information
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGroupInfo(int, java.lang.String, org.openafs.jafs.Group)"><!-- --></A><H3>
+setGroupInfo</H3>
+<PRE>
+protected static void <B>setGroupInfo</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the information values of this AFS group to be the parameter values.
+<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>name</CODE> - the name of the user for which to set the information<DD><CODE>theGroup</CODE> - the group object containing the desired information
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupMembersBegin(int, java.lang.String)"><!-- --></A><H3>
+getGroupMembersBegin</H3>
+<PRE>
+protected static int <B>getGroupMembersBegin</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the users that belong to the group. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getGroupMembersNext</code> and <code>getGroupMembersDone</code>.
+<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>name</CODE> - the name of the group for which to get the members
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupMembersNextString(int)"><!-- --></A><H3>
+getGroupMembersNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getGroupMembersNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next members that belongs to the group. Returns
+ <code>null</code> if there are no more members.
+<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 member
+<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/Group.html#getGroupMembersBegin(int, java.lang.String)"><CODE>getGroupMembersBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupMembersNext(int, int, org.openafs.jafs.User)"><!-- --></A><H3>
+getGroupMembersNext</H3>
+<PRE>
+protected static int <B>getGroupMembersNext</B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next user object belonging to that group. 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 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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Group.html#getGroupMembersBegin(int, java.lang.String)"><CODE>getGroupMembersBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupMembersDone(int)"><!-- --></A><H3>
+getGroupMembersDone</H3>
+<PRE>
+protected static void <B>getGroupMembersDone</B>(int 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/Group.html#getGroupMembersBegin(int, java.lang.String)"><CODE>getGroupMembersBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addMember(int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addMember</H3>
+<PRE>
+protected static void <B>addMember</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Adds a user to the specified group.
+<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>groupName</CODE> - the name of the group to which to add a member<DD><CODE>userName</CODE> - the name of the user to add
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeMember(int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+removeMember</H3>
+<PRE>
+protected static void <B>removeMember</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes a user from the specified group.
+<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>groupName</CODE> - the name of the group from which to remove a
+ member<DD><CODE>userName</CODE> - the name of the user to remove
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeOwner(int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+changeOwner</H3>
+<PRE>
+protected static void <B>changeOwner</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> groupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> ownerName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Change the owner of the specified group.
+<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>groupName</CODE> - the name of the group of which to change the
+ owner<DD><CODE>ownerName</CODE> - the name of the new owner
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rename(int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+protected static void <B>rename</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> oldGroupName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newGroupName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Change the name of the specified group.
+<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>oldGroupName</CODE> - the old name of the group<DD><CODE>newGroupName</CODE> - the new name for the group
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimGroupMemory()"><!-- --></A><H3>
+reclaimGroupMemory</H3>
+<PRE>
+protected static void <B>reclaimGroupMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the group portion of the native
+ library.
+ This method should be called when no more <code>Groups</code> are expected
+ to be used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Group.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/FileOutputStream.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Key.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>
+ <A HREF="Group.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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 K5PasswordPolicy\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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/K5PasswordPolicy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ <A HREF="Group.html"><B>PREV CLASS</B></A> \r
+ <A HREF="K5User.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> \r
+ <A HREF="K5PasswordPolicy.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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 K5PasswordPolicy</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.K5PasswordPolicy</B>\r
+</PRE>\r
+<HR>\r
+<DL>\r
+<DT>public class <B>K5PasswordPolicy</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
+An abstract representation of a Kerberos 5 Password Policy.\r
+ <BR><BR>\r
+\r
+ <!--Information on how member values are set-->\r
+<P>\r
+<DL>\r
+<DT><B>Version: </B><DD>1.0, 4/02/02</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="K5PasswordPolicy.html#K5PasswordPolicy(java.lang.String)">K5PasswordPolicy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> name)</CODE>\r
+\r
+<BR>\r
+ Constructs a new <CODE>K5PasswordPolicy</CODE> object instance given the name of \r
+ Kerberos 5 Password Policy it will represent.</TD>\r
+</TR>\r
+</TABLE>\r
+ \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> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#compareTo(org.openafs.jafsadm.K5PasswordPolicy)">compareTo</A></B>(<A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> user)</CODE>\r
+\r
+<BR>\r
+ Compares two K5PasswordPolicy objects respective to their names and does not\r
+ factor any other attribute.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#create()">create</A></B>()</CODE>\r
+\r
+<BR>\r
+ Creates a Kerberos 5 Password Policy that corresponds to this abstract representation.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#delete()">delete</A></B>()</CODE>\r
+\r
+<BR>\r
+ Deletes the K5 Password Policy.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#equals(org.openafs.jafsadm.K5PasswordPolicy)">equals</A></B>(<A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> policy)</CODE>\r
+\r
+<BR>\r
+ Tests whether two <code>K5PasswordPolicy</code> objects are equal, \r
+ based on their names.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#getMaxPasswordLifetime()">getMaxPasswordLifetime</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the maximum lifetime of a password.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> short</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#getMinCharacterClasses()">getMinCharacterClasses</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the minimum number of character classes required.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> short</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#getMinPasswordLength()">getMinPasswordLength</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the minimum length a password is allowed to have.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#getMinPasswordLifetime()">getMinPasswordLifetime</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the minimum lifetime of a password (in seconds).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <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="K5PasswordPolicy.html#getName()">getName</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the name of this password policy.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#getPastKeyCount()">getPastKeyCount</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the number of past keys kept.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#getReferenceCount()">getReferenceCount</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the number of principals using this policy.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#setMaxPasswordLifetime(int)">setMaxPasswordLifetime</A></B>(int seconds)</CODE>\r
+\r
+<BR>\r
+ Sets the maximum lifetime of a password (in seconds).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#setMinCharacterClasses(int)">setMinCharacterClasses</A></B>(int number)</CODE>\r
+\r
+<BR>\r
+ Requires at least <CODE>number</CODE> of character classes in a password.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#setMinPasswordLength(int)">setMinPasswordLength</A></B>(int characters)</CODE>\r
+\r
+<BR>\r
+ Sets the minimum password length (character length).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#setMinPasswordLifetime(int)">setMinPasswordLifetime</A></B>(int seconds)</CODE>\r
+\r
+<BR>\r
+ Sets the minimum lifetime of a password (in seconds).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5PasswordPolicy.html#setPastKeyCount(int)">setPastKeyCount</A></B>(int number)</CODE>\r
+\r
+<BR>\r
+ Sets the number of past keys kept for a principal to <CODE>number</CODE>.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <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="K5PasswordPolicy.html#toString()">toString</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the name of this <CODE>K5PasswordPolicy</CODE></TD>\r
+</TR>\r
+</TABLE>\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#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
+ \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="K5PasswordPolicy(java.lang.String)"><!-- --></A><H3>\r
+K5PasswordPolicy</H3>\r
+<PRE>\r
+public <B>K5PasswordPolicy</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> name)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Constructs a new <CODE>K5PasswordPolicy</CODE> object instance given the name of \r
+ Kerberos 5 Password Policy it will represent.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to represent<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</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="create()"><!-- --></A><H3>\r
+create</H3>\r
+<PRE>\r
+public void <B>create</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Creates a Kerberos 5 Password Policy that corresponds to this abstract representation.<DD><DL>\r
+<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="delete()"><!-- --></A><H3>\r
+delete</H3>\r
+<PRE>\r
+public void <B>delete</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Deletes the K5 Password Policy. \r
+\r
+ <P>Note that you must cancel the policy from all principals before deleting it. \r
+ The delete_policy command will fail if it is in use by any principals.<DD><DL>\r
+<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getName()"><!-- --></A><H3>\r
+getName</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> <B>getName</B>()</PRE>\r
+<DL>\r
+<DD>Returns the name of this password policy.<DD><DL>\r
+<DT><B>Returns:</B><DD>the name of this password policy</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMinPasswordLifetime()"><!-- --></A><H3>\r
+getMinPasswordLifetime</H3>\r
+<PRE>\r
+public int <B>getMinPasswordLifetime</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Returns the minimum lifetime of a password (in seconds).<DD><DL>\r
+<DT><B>Returns:</B><DD>the minimum lifetime of a password (in seconds).<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMaxPasswordLifetime()"><!-- --></A><H3>\r
+getMaxPasswordLifetime</H3>\r
+<PRE>\r
+public int <B>getMaxPasswordLifetime</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Returns the maximum lifetime of a password.<DD><DL>\r
+<DT><B>Returns:</B><DD>the maximum lifetime of a password (in seconds).<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMinPasswordLength()"><!-- --></A><H3>\r
+getMinPasswordLength</H3>\r
+<PRE>\r
+public short <B>getMinPasswordLength</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Returns the minimum length a password is allowed to have.<DD><DL>\r
+<DT><B>Returns:</B><DD>the minimum length a password is allowed to have.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMinCharacterClasses()"><!-- --></A><H3>\r
+getMinCharacterClasses</H3>\r
+<PRE>\r
+public short <B>getMinCharacterClasses</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Returns the minimum number of character classes required.<DD><DL>\r
+<DT><B>Returns:</B><DD>the minimum number of character classes required.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getPastKeyCount()"><!-- --></A><H3>\r
+getPastKeyCount</H3>\r
+<PRE>\r
+public int <B>getPastKeyCount</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Returns the number of past keys kept.<DD><DL>\r
+<DT><B>Returns:</B><DD>the number of past keys kept.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getReferenceCount()"><!-- --></A><H3>\r
+getReferenceCount</H3>\r
+<PRE>\r
+public int <B>getReferenceCount</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Returns the number of principals using this policy.<DD><DL>\r
+<DT><B>Returns:</B><DD>the number of principals using this policy.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setMaxPasswordLifetime(int)"><!-- --></A><H3>\r
+setMaxPasswordLifetime</H3>\r
+<PRE>\r
+public void <B>setMaxPasswordLifetime</B>(int seconds)</PRE>\r
+<DL>\r
+<DD>Sets the maximum lifetime of a password (in seconds).<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - the maximum lifetime of a password (in seconds).</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setMinPasswordLifetime(int)"><!-- --></A><H3>\r
+setMinPasswordLifetime</H3>\r
+<PRE>\r
+public void <B>setMinPasswordLifetime</B>(int seconds)</PRE>\r
+<DL>\r
+<DD>Sets the minimum lifetime of a password (in seconds).<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - the minimum lifetime of a password (in seconds).</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setMinPasswordLength(int)"><!-- --></A><H3>\r
+setMinPasswordLength</H3>\r
+<PRE>\r
+public void <B>setMinPasswordLength</B>(int characters)</PRE>\r
+<DL>\r
+<DD>Sets the minimum password length (character length).<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>characters</CODE> - the minimum password length (character length).</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setMinCharacterClasses(int)"><!-- --></A><H3>\r
+setMinCharacterClasses</H3>\r
+<PRE>\r
+public void <B>setMinCharacterClasses</B>(int number)</PRE>\r
+<DL>\r
+<DD>Requires at least <CODE>number</CODE> of character classes in a password.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - of character classes in a password.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPastKeyCount(int)"><!-- --></A><H3>\r
+setPastKeyCount</H3>\r
+<PRE>\r
+public void <B>setPastKeyCount</B>(int number)</PRE>\r
+<DL>\r
+<DD>Sets the number of past keys kept for a principal to <CODE>number</CODE>.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>number</CODE> - of past keys kept for a principal</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="compareTo(org.openafs.jafsadm.K5PasswordPolicy)"><!-- --></A><H3>\r
+compareTo</H3>\r
+<PRE>\r
+public int <B>compareTo</B>(<A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> user)</PRE>\r
+<DL>\r
+<DD>Compares two K5PasswordPolicy objects respective to their names and does not\r
+ factor any other attribute. Alphabetic case is significant in \r
+ comparing names.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>policy</CODE> - The K5PasswordPolicy object to be compared to this K5PasswordPolicy instance<DT><B>Returns:</B><DD>Zero if the argument is equal to this policy's name, a\r
+ value less than zero if this policy's name is\r
+ lexicographically less than the argument, or a value greater\r
+ than zero if this policy's name is lexicographically\r
+ greater than the argument</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="equals(org.openafs.jafsadm.K5PasswordPolicy)"><!-- --></A><H3>\r
+equals</H3>\r
+<PRE>\r
+public boolean <B>equals</B>(<A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> policy)</PRE>\r
+<DL>\r
+<DD>Tests whether two <code>K5PasswordPolicy</code> objects are equal, \r
+ based on their names.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>policy</CODE> - the user to test<DT><B>Returns:</B><DD>whether the specifed user is the same as this user</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 the name of this <CODE>K5PasswordPolicy</CODE><DD><DL>\r
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Returns:</B><DD>the name of this <CODE>K5PasswordPolicy</CODE></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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/K5PasswordPolicy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ <A HREF="Group.html"><B>PREV CLASS</B></A> \r
+ <A HREF="K5User.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> \r
+ <A HREF="K5PasswordPolicy.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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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
--- /dev/null
+<!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 K5User\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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/K5User.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ <A HREF="K5PasswordPolicy.html"><B>PREV CLASS</B></A> \r
+ <A HREF="Key.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> \r
+ <A HREF="K5User.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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 K5User</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.K5User</B>\r
+</PRE>\r
+<HR>\r
+<DL>\r
+<DT>public class <B>K5User</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
+An abstract representation of an AFS Kerberos V user.\r
+ <BR><BR>\r
+\r
+ <TABLE WIDTH="100%" CELLSPACING="2" CELLPADDING="8" BORDER="1"><TR><TD>\r
+ <FONT COLOR="AA0000"><B>This document should be considered a preliminary \r
+ draft posted for the purpose of feedback and should not be\r
+ considered a functional API document.</FONT>\r
+ \r
+ <P>The members of this class are strictly modeled after \r
+ the <code>kadmin command</code>.</B>\r
+ </TD></TR></TABLE><BR><BR>\r
+<P>\r
+<DL>\r
+<DT><B>Version: </B><DD>1.0, 3/31/02</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="K5User.html#K5User(java.lang.String, org.openafs.jafsadm.Cell)">K5User</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> name,\r
+ <A HREF="Cell.html">Cell</A> cell)</CODE>\r
+\r
+<BR>\r
+ Constructs a new <CODE>K5User</CODE> object instance given the name of the AFS user\r
+ and the AFS cell, represented by <CODE>cell</CODE>, to which it belongs.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="K5User.html#K5User(java.lang.String, org.openafs.jafsadm.Cell, org.openafs.jafsadm.K5PasswordPolicy)">K5User</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> name,\r
+ <A HREF="Cell.html">Cell</A> cell,\r
+ <A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> passwordPolicy)</CODE>\r
+\r
+<BR>\r
+ Constructs a new <CODE>K5User</CODE> object instance given the name of the AFS user\r
+ and the AFS cell, represented by <CODE>cell</CODE>, to which it belongs and the \r
+ Kerberos 5 Password Policy to be applied.</TD>\r
+</TR>\r
+</TABLE>\r
+ \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> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#allowsDuplicateSessionKey()">allowsDuplicateSessionKey</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is allowed to obtain a session key\r
+ for another user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#allowsForwardableTickets()">allowsForwardableTickets</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is allowed to obtain forwardable tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#allowsPostDatedTickets()">allowsPostDatedTickets</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is allowed to obtain postdated tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#allowsProxiableTickets()">allowsProxiableTickets</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is allowed to obtain proxiable tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#allowsRenewableTickets()">allowsRenewableTickets</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is allowed to obtain renewable tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#allowsServiceTickets()">allowsServiceTickets</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is allowed to obtain service tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#canChangePassword()">canChangePassword</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns whether or not the user can change their password</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#compareTo(org.openafs.jafsadm.K5User)">compareTo</A></B>(<A HREF="K5User.html">K5User</A> user)</CODE>\r
+\r
+<BR>\r
+ Compares two K5User objects respective to their names and does not\r
+ factor any other attribute.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#compareTo(java.lang.Object)">compareTo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A> obj)</CODE>\r
+\r
+<BR>\r
+ Comparable interface method.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#create(java.lang.String)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> password)</CODE>\r
+\r
+<BR>\r
+ Creates the Kerberos 5 entries for a new user in this cell.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#delete()">delete</A></B>()</CODE>\r
+\r
+<BR>\r
+ Deletes the K5 entries for a user in this cell.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#equals(org.openafs.jafsadm.K5User)">equals</A></B>(<A HREF="K5User.html">K5User</A> otherUser)</CODE>\r
+\r
+<BR>\r
+ Tests whether two <code>K5User</code> objects are equal, based on their names.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <A HREF="Cell.html">Cell</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getCell()">getCell</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the Cell/Realm this user belongs to.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getFailLoginCount()">getFailLoginCount</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the number of failed login attempts this user is allowed before being locked out.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getKeyVersion()">getKeyVersion</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the version of the user's key.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getLastChangePasswordDate()">getLastChangePasswordDate</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the last date and time the user changed its password.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getLastModDate()">getLastModDate</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the date and time the user was last modified.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <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="K5User.html#getLastModName()">getLastModName</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the name of this user that last modified this user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getMasterKeyVersion()">getMasterKeyVersion</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the master key version of this user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getMaxRenewableLife()">getMaxRenewableLife</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the the maximum renewable life of this user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getMaxTicketLifetime()">getMaxTicketLifetime</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the maximum lifetime of a ticket issued to this user (in seconds).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <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="K5User.html#getName()">getName</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the name of this user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getPasswordExpirationDate()">getPasswordExpirationDate</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the date and time the password expires.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getPasswordPolicy()">getPasswordPolicy</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the password policy assigned to this user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getSaltType()">getSaltType</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the specified salt for generating the key.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#getUserExpirationDate()">getUserExpirationDate</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns the date and time the user expires.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#requiresHardwareAuth()">requiresHardwareAuth</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is required to preauthenticate using a hardware device before being allowed to kinit.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#requiresPasswordChange()">requiresPasswordChange</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Flag in attributes field to force a password change.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#requiresPreAuth()">requiresPreAuth</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5 Attribute: Tests if this principal is required to preauthenticate before being allowed to kinit.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setChangePassword(boolean)">setChangePassword</A></B>(boolean setting)</CODE>\r
+\r
+<BR>\r
+ K5: Sets whether or not the user can change their password</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setDuplicateSessionKey(boolean)">setDuplicateSessionKey</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to allow/deny this principal from obtaining a session key for another user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setFailLoginCount(int)">setFailLoginCount</A></B>(int logins)</CODE>\r
+\r
+<BR>\r
+ K5: Sets the number of failed login attempts this user is allowed before being locked out.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setForwardableTickets(boolean)">setForwardableTickets</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to allow/deny this principal from obtaining forwardable tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setGrantTickets(boolean)">setGrantTickets</A></B>(boolean setting)</CODE>\r
+\r
+<BR>\r
+ K5: Sets whether or not TGS will issue tickets for this K5User</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setHardwareAuth(boolean)">setHardwareAuth</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to require this principal to preauthenticate using a\r
+ hardware device before being allowed to kinit, if <CODE>flag</CODE> is true.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setMaxTicketLifetime(int)">setMaxTicketLifetime</A></B>(int seconds)</CODE>\r
+\r
+<BR>\r
+ K5: Sets the maximum lifetime of a ticket issued to this user (in seconds).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setPassword(java.lang.String)">setPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> newPassword)</CODE>\r
+\r
+<BR>\r
+ Sets the password of this user to something new.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setPasswordChange(boolean)">setPasswordChange</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to force a password change for this principal, if <CODE>flag</CODE> is true.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setPasswordExpiration(java.util.GregorianCalendar)">setPasswordExpiration</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> expirationDate)</CODE>\r
+\r
+<BR>\r
+ K5: Sets the date and time the password expires.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setPasswordPolicy(org.openafs.jafsadm.K5PasswordPolicy)">setPasswordPolicy</A></B>(<A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> policy)</CODE>\r
+\r
+<BR>\r
+ K5: Sets the password policy for this user.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setPostDatedTickets(boolean)">setPostDatedTickets</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to allow/deny this principal from obtaining postdated tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setPreAuth(boolean)">setPreAuth</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to require this principal to preauthenticate before \r
+ being allowed to kinit, if <CODE>flag</CODE> is true.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setProxiableTickets(boolean)">setProxiableTickets</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to allow/deny this principal from obtaining proxiable tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setRenewableTickets(boolean)">setRenewableTickets</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to allow/deny this principal from obtaining renewable tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setSaltType(int)">setSaltType</A></B>(int type)</CODE>\r
+\r
+<BR>\r
+ K5: Sets the specified salt for generating the key.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setServiceTickets(boolean)">setServiceTickets</A></B>(boolean flag)</CODE>\r
+\r
+<BR>\r
+ K5: Sets attribute to allow/deny this principal from obtaining service tickets.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#setUserExpiration(java.util.GregorianCalendar)">setUserExpiration</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> expirationDate)</CODE>\r
+\r
+<BR>\r
+ K5: Sets the date and time the user expires.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> <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="K5User.html#toString()">toString</A></B>()</CODE>\r
+\r
+<BR>\r
+ Returns the name of this <CODE>User</CODE></TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="K5User.html#willGrantTickets()">willGrantTickets</A></B>()</CODE>\r
+\r
+<BR>\r
+ K5: Returns whether or not TGS will issue tickets for this user</TD>\r
+</TR>\r
+</TABLE>\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#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
+ \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="K5User(java.lang.String, org.openafs.jafsadm.Cell)"><!-- --></A><H3>\r
+K5User</H3>\r
+<PRE>\r
+public <B>K5User</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> name,\r
+ <A HREF="Cell.html">Cell</A> cell)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Constructs a new <CODE>K5User</CODE> object instance given the name of the AFS user\r
+ and the AFS cell, represented by <CODE>cell</CODE>, to which it belongs.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to represent<DD><CODE>cell</CODE> - the cell to which the user belongs.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="K5User(java.lang.String, org.openafs.jafsadm.Cell, org.openafs.jafsadm.K5PasswordPolicy)"><!-- --></A><H3>\r
+K5User</H3>\r
+<PRE>\r
+public <B>K5User</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> name,\r
+ <A HREF="Cell.html">Cell</A> cell,\r
+ <A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> passwordPolicy)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Constructs a new <CODE>K5User</CODE> object instance given the name of the AFS user\r
+ and the AFS cell, represented by <CODE>cell</CODE>, to which it belongs and the \r
+ Kerberos 5 Password Policy to be applied.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to represent<DD><CODE>cell</CODE> - the cell to which the user belongs.<DD><CODE>passwordPolicy</CODE> - the K5 password policy to be applied to this user.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</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="create(java.lang.String)"><!-- --></A><H3>\r
+create</H3>\r
+<PRE>\r
+public void <B>create</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> password)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Creates the Kerberos 5 entries for a new user in this cell. Automatically assigns \r
+ a user id. Be sure to call <code>refreshUsers</code> afterward to update this <code>\r
+ Cell's</code> user list.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>password</CODE> - the password for the new user<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="delete()"><!-- --></A><H3>\r
+delete</H3>\r
+<PRE>\r
+public void <B>delete</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Deletes the K5 entries for a user in this cell. Deletes this user \r
+ from the membership list of the groups to which it belonged, but does not \r
+ delete the groups owned by this user. Also nullifies this corresponding \r
+ Java object.<DD><DL>\r
+<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getName()"><!-- --></A><H3>\r
+getName</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> <B>getName</B>()</PRE>\r
+<DL>\r
+<DD>Returns the name of this user.<DD><DL>\r
+<DT><B>Returns:</B><DD>the name of this user</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getCell()"><!-- --></A><H3>\r
+getCell</H3>\r
+<PRE>\r
+public <A HREF="Cell.html">Cell</A> <B>getCell</B>()</PRE>\r
+<DL>\r
+<DD>Returns the Cell/Realm this user belongs to.<DD><DL>\r
+<DT><B>Returns:</B><DD>the Cell this user belongs to</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="willGrantTickets()"><!-- --></A><H3>\r
+willGrantTickets</H3>\r
+<PRE>\r
+public boolean <B>willGrantTickets</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns whether or not TGS will issue tickets for this user<DD><DL>\r
+<DT><B>Returns:</B><DD>whether or not TGS will issue tickets for this user<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="canChangePassword()"><!-- --></A><H3>\r
+canChangePassword</H3>\r
+<PRE>\r
+public boolean <B>canChangePassword</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns whether or not the user can change their password<DD><DL>\r
+<DT><B>Returns:</B><DD>whether or not the user can change their password<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getUserExpirationDate()"><!-- --></A><H3>\r
+getUserExpirationDate</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getUserExpirationDate</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the date and time the user expires. \r
+ A <code>null</code> value indicates the user never exipres (or that\r
+ there is no k5 entry for this user).<DD><DL>\r
+<DT><B>Returns:</B><DD>the date and time the user expires<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getLastModDate()"><!-- --></A><H3>\r
+getLastModDate</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLastModDate</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the date and time the user was last modified.<DD><DL>\r
+<DT><B>Returns:</B><DD>the date and time the user was last modified<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getLastModName()"><!-- --></A><H3>\r
+getLastModName</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> <B>getLastModName</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the name of this user that last modified this user.<DD><DL>\r
+<DT><B>Returns:</B><DD>the name of this user that last modified this user.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getLastChangePasswordDate()"><!-- --></A><H3>\r
+getLastChangePasswordDate</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLastChangePasswordDate</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the last date and time the user changed its password.<DD><DL>\r
+<DT><B>Returns:</B><DD>the last date and time the user changed its password.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMaxTicketLifetime()"><!-- --></A><H3>\r
+getMaxTicketLifetime</H3>\r
+<PRE>\r
+public int <B>getMaxTicketLifetime</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the maximum lifetime of a ticket issued to this user (in seconds).<DD><DL>\r
+<DT><B>Returns:</B><DD>the maximum lifetime of a ticket issued to this user (in seconds).<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getPasswordPolicy()"><!-- --></A><H3>\r
+getPasswordPolicy</H3>\r
+<PRE>\r
+public <A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> <B>getPasswordPolicy</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the password policy assigned to this user.<DD><DL>\r
+<DT><B>Returns:</B><DD>the password policy assigned to this user.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getPasswordExpirationDate()"><!-- --></A><H3>\r
+getPasswordExpirationDate</H3>\r
+<PRE>\r
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getPasswordExpirationDate</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the date and time the password expires. \r
+ A <code>null</code> value indicates the password never exipres (or that\r
+ there is no k5 entry for this user).<DD><DL>\r
+<DT><B>Returns:</B><DD>the number of days for which a password is valid<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getFailLoginCount()"><!-- --></A><H3>\r
+getFailLoginCount</H3>\r
+<PRE>\r
+public int <B>getFailLoginCount</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the number of failed login attempts this user is allowed before being locked out. \r
+ A value of 0 indicates there is no limit.<DD><DL>\r
+<DT><B>Returns:</B><DD>the number of failed login attempts a user is allowed<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMasterKeyVersion()"><!-- --></A><H3>\r
+getMasterKeyVersion</H3>\r
+<PRE>\r
+public int <B>getMasterKeyVersion</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the master key version of this user.<DD><DL>\r
+<DT><B>Returns:</B><DD>the master key version<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getKeyVersion()"><!-- --></A><H3>\r
+getKeyVersion</H3>\r
+<PRE>\r
+public int <B>getKeyVersion</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the version of the user's key.<DD><DL>\r
+<DT><B>Returns:</B><DD>the key version<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMaxRenewableLife()"><!-- --></A><H3>\r
+getMaxRenewableLife</H3>\r
+<PRE>\r
+public int <B>getMaxRenewableLife</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the the maximum renewable life of this user.<DD><DL>\r
+<DT><B>Returns:</B><DD>the the the maximum renewable life of this user.<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getSaltType()"><!-- --></A><H3>\r
+getSaltType</H3>\r
+<PRE>\r
+public int <B>getSaltType</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Returns the specified salt for generating the key.<DD><DL>\r
+<DT><B>Returns:</B><DD>the key version<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allowsPostDatedTickets()"><!-- --></A><H3>\r
+allowsPostDatedTickets</H3>\r
+<PRE>\r
+public boolean <B>allowsPostDatedTickets</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is allowed to obtain postdated tickets.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allowsForwardableTickets()"><!-- --></A><H3>\r
+allowsForwardableTickets</H3>\r
+<PRE>\r
+public boolean <B>allowsForwardableTickets</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is allowed to obtain forwardable tickets.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allowsRenewableTickets()"><!-- --></A><H3>\r
+allowsRenewableTickets</H3>\r
+<PRE>\r
+public boolean <B>allowsRenewableTickets</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is allowed to obtain renewable tickets.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allowsProxiableTickets()"><!-- --></A><H3>\r
+allowsProxiableTickets</H3>\r
+<PRE>\r
+public boolean <B>allowsProxiableTickets</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is allowed to obtain proxiable tickets.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allowsServiceTickets()"><!-- --></A><H3>\r
+allowsServiceTickets</H3>\r
+<PRE>\r
+public boolean <B>allowsServiceTickets</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is allowed to obtain service tickets.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allowsDuplicateSessionKey()"><!-- --></A><H3>\r
+allowsDuplicateSessionKey</H3>\r
+<PRE>\r
+public boolean <B>allowsDuplicateSessionKey</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is allowed to obtain a session key\r
+ for another user. True implies that user-to-user authentication is enabled\r
+ for this principal.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="requiresPreAuth()"><!-- --></A><H3>\r
+requiresPreAuth</H3>\r
+<PRE>\r
+public boolean <B>requiresPreAuth</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is required to preauthenticate before being allowed to kinit.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="requiresHardwareAuth()"><!-- --></A><H3>\r
+requiresHardwareAuth</H3>\r
+<PRE>\r
+public boolean <B>requiresHardwareAuth</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Tests if this principal is required to preauthenticate using a hardware device before being allowed to kinit.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="requiresPasswordChange()"><!-- --></A><H3>\r
+requiresPasswordChange</H3>\r
+<PRE>\r
+public boolean <B>requiresPasswordChange</B>()\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5 Attribute: Flag in attributes field to force a password change.<DD><DL>\r
+<DT><B>Returns:</B><DD>the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setGrantTickets(boolean)"><!-- --></A><H3>\r
+setGrantTickets</H3>\r
+<PRE>\r
+public void <B>setGrantTickets</B>(boolean setting)</PRE>\r
+<DL>\r
+<DD>K5: Sets whether or not TGS will issue tickets for this K5User<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not TGS will issue tickets for this user</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setFailLoginCount(int)"><!-- --></A><H3>\r
+setFailLoginCount</H3>\r
+<PRE>\r
+public void <B>setFailLoginCount</B>(int logins)</PRE>\r
+<DL>\r
+<DD>K5: Sets the number of failed login attempts this user is allowed before being locked out. \r
+ A value of 0 indicates there is no limit.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>logins</CODE> - the number of failed login attempts a user is allowed</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setChangePassword(boolean)"><!-- --></A><H3>\r
+setChangePassword</H3>\r
+<PRE>\r
+public void <B>setChangePassword</B>(boolean setting)</PRE>\r
+<DL>\r
+<DD>K5: Sets whether or not the user can change their password<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not the user can change their password</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setUserExpiration(java.util.GregorianCalendar)"><!-- --></A><H3>\r
+setUserExpiration</H3>\r
+<PRE>\r
+public void <B>setUserExpiration</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> expirationDate)</PRE>\r
+<DL>\r
+<DD>K5: Sets the date and time the user expires. \r
+ A <code>null</code> value indicates the user never exipres.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>expirationDate</CODE> - the date and time the user expires</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPasswordExpiration(java.util.GregorianCalendar)"><!-- --></A><H3>\r
+setPasswordExpiration</H3>\r
+<PRE>\r
+public void <B>setPasswordExpiration</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> expirationDate)</PRE>\r
+<DL>\r
+<DD>K5: Sets the date and time the password expires. \r
+ A <code>null</code> value indicates the password never exipres.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>expirationDate</CODE> - the date and time the user expires</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setMaxTicketLifetime(int)"><!-- --></A><H3>\r
+setMaxTicketLifetime</H3>\r
+<PRE>\r
+public void <B>setMaxTicketLifetime</B>(int seconds)</PRE>\r
+<DL>\r
+<DD>K5: Sets the maximum lifetime of a ticket issued to this user (in seconds).<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - the maximum lifetime of a ticket issued to this user (in seconds).</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPasswordPolicy(org.openafs.jafsadm.K5PasswordPolicy)"><!-- --></A><H3>\r
+setPasswordPolicy</H3>\r
+<PRE>\r
+public void <B>setPasswordPolicy</B>(<A HREF="K5PasswordPolicy.html">K5PasswordPolicy</A> policy)</PRE>\r
+<DL>\r
+<DD>K5: Sets the password policy for this user.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>policy</CODE> - the K5 password policy</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPassword(java.lang.String)"><!-- --></A><H3>\r
+setPassword</H3>\r
+<PRE>\r
+public void <B>setPassword</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html">String</A> newPassword)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>Sets the password of this user to something new. Sets the key version \r
+ to 0 automatically.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>newPassword</CODE> - the new password for this user<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setSaltType(int)"><!-- --></A><H3>\r
+setSaltType</H3>\r
+<PRE>\r
+public void <B>setSaltType</B>(int type)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets the specified salt for generating the key.<DD><DL>\r
+<DT><B>Returns:</B><DD>the key version<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPostDatedTickets(boolean)"><!-- --></A><H3>\r
+setPostDatedTickets</H3>\r
+<PRE>\r
+public void <B>setPostDatedTickets</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to allow/deny this principal from obtaining postdated tickets.\r
+\r
+ Effectively sets the KRB5_KDB_DISALLOW_POSTDATED flag on the principal in\r
+ the database if <CODE>flag</CODE> is false.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setForwardableTickets(boolean)"><!-- --></A><H3>\r
+setForwardableTickets</H3>\r
+<PRE>\r
+public void <B>setForwardableTickets</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to allow/deny this principal from obtaining forwardable tickets.\r
+\r
+ Effectively sets the KRB5_KDB_DISALLOW_FORWARDABLE flag on the principal in\r
+ the database if <CODE>flag</CODE> is false.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setRenewableTickets(boolean)"><!-- --></A><H3>\r
+setRenewableTickets</H3>\r
+<PRE>\r
+public void <B>setRenewableTickets</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to allow/deny this principal from obtaining renewable tickets.\r
+\r
+ Effectively sets the KRB5_KDB_DISALLOW_RENEWABLE flag on the principal in\r
+ the database if <CODE>flag</CODE> is false.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setProxiableTickets(boolean)"><!-- --></A><H3>\r
+setProxiableTickets</H3>\r
+<PRE>\r
+public void <B>setProxiableTickets</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to allow/deny this principal from obtaining proxiable tickets.\r
+\r
+ Effectively sets the KRB5_KDB_DISALLOW_PROXIABLE flag on the principal in\r
+ the database if <CODE>flag</CODE> is false.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setServiceTickets(boolean)"><!-- --></A><H3>\r
+setServiceTickets</H3>\r
+<PRE>\r
+public void <B>setServiceTickets</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to allow/deny this principal from obtaining service tickets.\r
+\r
+ Effectively sets the KRB5_KDB_DISALLOW_SVR flag on the principal in\r
+ the database if <CODE>flag</CODE> is false.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setDuplicateSessionKey(boolean)"><!-- --></A><H3>\r
+setDuplicateSessionKey</H3>\r
+<PRE>\r
+public void <B>setDuplicateSessionKey</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to allow/deny this principal from obtaining a session key for another user.\r
+\r
+ Effectively sets the KRB5_KDB_DISALLOW_DUP_SKEY flag on the principal in\r
+ the database if <CODE>flag</CODE> is false.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPreAuth(boolean)"><!-- --></A><H3>\r
+setPreAuth</H3>\r
+<PRE>\r
+public void <B>setPreAuth</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to require this principal to preauthenticate before \r
+ being allowed to kinit, if <CODE>flag</CODE> is true.\r
+\r
+ Effectively sets the KRB5_KDB_REQUIRES_PRE_AUTH flag on the principal in\r
+ the database if <CODE>flag</CODE> is true.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setHardwareAuth(boolean)"><!-- --></A><H3>\r
+setHardwareAuth</H3>\r
+<PRE>\r
+public void <B>setHardwareAuth</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to require this principal to preauthenticate using a\r
+ hardware device before being allowed to kinit, if <CODE>flag</CODE> is true.\r
+\r
+ Effectively sets the KRB5_KDB_REQUIRES_HW_AUTH flag on the principal in\r
+ the database if <CODE>flag</CODE> is true.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setPasswordChange(boolean)"><!-- --></A><H3>\r
+setPasswordChange</H3>\r
+<PRE>\r
+public void <B>setPasswordChange</B>(boolean flag)\r
+ throws <A HREF="AFSAdminException.html">AFSAdminException</A></PRE>\r
+<DL>\r
+<DD>K5: Sets attribute to force a password change for this principal, if <CODE>flag</CODE> is true.\r
+\r
+ Effectively sets the KRB5_KDB_REQUIRES_PWCHANGE flag on the principal in\r
+ the database if <CODE>flag</CODE> is true.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - the attribute flag<DT><B>Throws:</B><DD><CODE><A HREF="AFSAdminException.html">AFSAdminException</A></CODE> - If an error occurs in the native code</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="compareTo(org.openafs.jafsadm.K5User)"><!-- --></A><H3>\r
+compareTo</H3>\r
+<PRE>\r
+public int <B>compareTo</B>(<A HREF="K5User.html">K5User</A> user)</PRE>\r
+<DL>\r
+<DD>Compares two K5User objects respective to their names and does not\r
+ factor any other attribute. Alphabetic case is significant in \r
+ comparing names.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>user</CODE> - The K5User object to be compared to this K5User instance<DT><B>Returns:</B><DD>Zero if the argument is equal to this User's name, a\r
+ value less than zero if this User's name is\r
+ lexicographically less than the argument, or a value greater\r
+ than zero if this User's name is lexicographically\r
+ greater than the argument</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="compareTo(java.lang.Object)"><!-- --></A><H3>\r
+compareTo</H3>\r
+<PRE>\r
+public int <B>compareTo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A> obj)</PRE>\r
+<DL>\r
+<DD>Comparable interface method.<DD><DL>\r
+<DT><B>See Also: </B><DD><A HREF="K5User.html#compareTo(org.openafs.jafsadm.K5User)"><CODE>compareTo(K5User)</CODE></A></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="equals(org.openafs.jafsadm.K5User)"><!-- --></A><H3>\r
+equals</H3>\r
+<PRE>\r
+public boolean <B>equals</B>(<A HREF="K5User.html">K5User</A> otherUser)</PRE>\r
+<DL>\r
+<DD>Tests whether two <code>K5User</code> objects are equal, based on their names.<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>otherUser</CODE> - the user to test<DT><B>Returns:</B><DD>whether the specifed user is the same as this user</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 the name of this <CODE>User</CODE><DD><DL>\r
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html">Object</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Returns:</B><DD>the name of this <CODE>User</CODE></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> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/K5User.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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
+ <A HREF="K5PasswordPolicy.html"><B>PREV CLASS</B></A> \r
+ <A HREF="Key.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> \r
+ <A HREF="K5User.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: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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
--- /dev/null
+<!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>
+Key (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Key,Key class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Key (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Key.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Group.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Partition.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>
+ <A HREF="Key.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Key</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.Key</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>Key</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 an AFS key. It holds information about
+ the key, such as what its version is.
+ <BR><BR>
+
+ Constructing an instance of a <code>Key</code> does not mean an actual
+ AFS key is created on a server -- usually a <code>Key</code>
+ object is a representation of an already existing AFS key. If,
+ however, the <code>Key</code> is constructed with the version number of a
+ key that does not exist on the server represented by the provided
+ <code>Server</code>, a new key with that version number can be
+ created on that server by calling the <A HREF="../../../org/openafs/jafs/Key.html#create(java.lang.String)"><CODE>create(String)</CODE></A> methods If
+ such a key does already exist when this method is called,
+ an exception will be thrown.<BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a
+ <code>Key</code> object. It obtains the list of <code>Key</code>s from
+ a specified server, and prints the string representation of each key.
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Key;
+ import org.openafs.jafs.Server;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ private Server server;
+ ...
+ 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 = new Server(serverName, cell);
+
+ System.out.println("Keys in Server " + server.getName() + ":");
+ Key[] keys = server.getKeys();
+ for (int i = 0; i < keys.length; i++) {
+ System.out.println(" -> " + keys[i] );
+ }
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Key">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 boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#checkSum">checkSum</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Key.html#encryptionKey">encryptionKey</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#lastModDate">lastModDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Key.html#lastModDateDate">lastModDateDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#lastModMs">lastModMs</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#server">server</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#version">version</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#Key(int, org.openafs.jafs.Server)">Key</A></B>(int version,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Constructs a new <CODE>Key</CODE> object instance given the version of
+ the AFS key and the AFS server, represented by <CODE>server</CODE>,
+ to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#Key(int, org.openafs.jafs.Server, boolean)">Key</A></B>(int version,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <CODE>Key</CODE> object instance given the version of
+ the AFS key and the AFS server, represented by <CODE>server</CODE>,
+ to which it belongs. </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/Key.html#Key(org.openafs.jafs.Server)">Key</A></B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Creates a blank <code>Key</code> given the server to which the key
+ belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#compareTo(org.openafs.jafs.Key)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Key.html">Key</A> key)</CODE>
+
+<BR>
+ Compares two Key objects respective to their key version 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#create(int, int, int, java.lang.String)">create</A></B>(int cellHandle,
+ int serverHandle,
+ int versionNumber,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> keyString)</CODE>
+
+<BR>
+ Create a server key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#create(java.lang.String)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> keyString)</CODE>
+
+<BR>
+ Creates a key with this <code>Key's</code> version number at the server,
+ using the specified <code>String</code> for the key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#delete()">delete</A></B>()</CODE>
+
+<BR>
+ Removes the key with this <code>Key's</code> version number from
+ the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#delete(int, int)">delete</A></B>(int serverHandle,
+ int versionNumber)</CODE>
+
+<BR>
+ Delete a server key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#equals(org.openafs.jafs.Key)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Key.html">Key</A> otherKey)</CODE>
+
+<BR>
+ Tests whether two <code>Key</code> objects are equal, based on their
+ encryption key, version, and associated Server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#getCheckSum()">getCheckSum</A></B>()</CODE>
+
+<BR>
+ Returns the check sum of this key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Key.html#getEncryptionKey()">getEncryptionKey</A></B>()</CODE>
+
+<BR>
+ Returns the encrypted key as a string in octal form. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Key.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this <code>Key</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#getKeyInfo(int, int, org.openafs.jafs.Key)">getKeyInfo</A></B>(int serverHandle,
+ int version,
+ <A HREF="../../../org/openafs/jafs/Key.html">Key</A> key)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>Key</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Key.html#getLastModDate()">getLastModDate</A></B>()</CODE>
+
+<BR>
+ Returns the last modification date of this key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#getServer()">getServer</A></B>()</CODE>
+
+<BR>
+ Returns the server this key is associated with.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#getVersion()">getVersion</A></B>()</CODE>
+
+<BR>
+ Returns the version of this key in primitive form.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#reclaimKeyMemory()">reclaimKeyMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the key portion of the native library.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this Key object instance with values from
+ the AFS key it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this Key object instance with values from
+ the AFS key it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Key.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>Key</code> to reflect the
+ current state of the AFS server key. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Key.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Key</CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="server"><!-- --></A><H3>
+server</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>server</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="version"><!-- --></A><H3>
+version</H3>
+<PRE>
+protected int <B>version</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="checkSum"><!-- --></A><H3>
+checkSum</H3>
+<PRE>
+protected long <B>checkSum</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="encryptionKey"><!-- --></A><H3>
+encryptionKey</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>encryptionKey</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastModDate"><!-- --></A><H3>
+lastModDate</H3>
+<PRE>
+protected int <B>lastModDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastModMs"><!-- --></A><H3>
+lastModMs</H3>
+<PRE>
+protected int <B>lastModMs</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastModDateDate"><!-- --></A><H3>
+lastModDateDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>lastModDateDate</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="Key(int, org.openafs.jafs.Server)"><!-- --></A><H3>
+Key</H3>
+<PRE>
+public <B>Key</B>(int version,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Key</CODE> object instance given the version of
+ the AFS key and the AFS server, represented by <CODE>server</CODE>,
+ to which it belongs. This does not actually
+ create a new AFS key, it just represents one.
+ If <code>version</code> is not an actual AFS key, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/Key.html#create(java.lang.String)"><CODE>create(String)</CODE></A>
+ method is explicitly called to create it.
+<P>
+<DT><B>Parameters:</B><DD><CODE>version</CODE> - the version of the key to represent<DD><CODE>server</CODE> - the server to which the key belongs.
+<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="Key(int, org.openafs.jafs.Server, boolean)"><!-- --></A><H3>
+Key</H3>
+<PRE>
+public <B>Key</B>(int version,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Key</CODE> object instance given the version of
+ the AFS key and the AFS server, represented by <CODE>server</CODE>,
+ to which it belongs. This does not actually
+ create a new AFS key, it just represents one.
+ If <code>version</code> is not an actual AFS key, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/Key.html#create(java.lang.String)"><CODE>create(String)</CODE></A>
+ method is explicitly called to create it. Note that if the key does not
+ exist and <code>preloadAllMembers</code> is true, an exception will
+ be thrown.
+
+ <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/Key.html#refresh()"><CODE>refresh()</CODE></A> method to address any coherency
+ concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>version</CODE> - the version of the key to represent<DD><CODE>server</CODE> - the server to which the key belongs.<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/Key.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="Key(org.openafs.jafs.Server)"><!-- --></A><H3>
+Key</H3>
+<PRE>
+<B>Key</B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a blank <code>Key</code> given the server to which the key
+ belongs. This blank object can then be passed into other methods to
+ fill out its properties.
+<P>
+<DT><B>Parameters:</B><DD><CODE>server</CODE> - the server to which the key belongs.
+<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>
+
+<!-- ============ 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 Key object instance with values from
+ the AFS key it represents. All properties that have been initialized
+ and/or accessed will be renewed according to the values of the AFS key
+ this Key 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Key object instance with values from
+ the AFS key it represents. If <CODE>all</CODE> is <CODE>true</CODE>
+ then <U>all</U> of the properties of this Key object instance will be
+ set, or renewed, according to the values of the AFS key 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/Key.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/Key.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>Refreshes the information fields of this <code>Key</code> to reflect the
+ current state of the AFS server key. These inlclude the last
+ modification time, etc.
+<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="create(java.lang.String)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public void <B>create</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> keyString)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a key with this <code>Key's</code> version number at the server,
+ using the specified <code>String</code> for the key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>keyString</CODE> - the string to use for the encryption key
+<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="delete()"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes the key with this <code>Key's</code> version number from
+ the server.
+<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="getVersion()"><!-- --></A><H3>
+getVersion</H3>
+<PRE>
+public int <B>getVersion</B>()</PRE>
+<DL>
+<DD>Returns the version of this key in primitive form.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the version number of this key</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServer()"><!-- --></A><H3>
+getServer</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>getServer</B>()</PRE>
+<DL>
+<DD>Returns the server this key is associated with.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this key's server</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEncryptionKey()"><!-- --></A><H3>
+getEncryptionKey</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getEncryptionKey</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the encrypted key as a string in octal form. This is how AFS
+ prints it out on the command line. An example would be:
+ '\040\205\211\241\345\002\023\211'.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the encrypted key
+<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="getCheckSum()"><!-- --></A><H3>
+getCheckSum</H3>
+<PRE>
+public long <B>getCheckSum</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the check sum of this key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the check sum of this key
+<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="getLastModDate()"><!-- --></A><H3>
+getLastModDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLastModDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the last modification date of this key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the last modification date of this key
+<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>Key</code>.
+ Contains the information fields.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>Key</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.Key)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Key.html">Key</A> key)</PRE>
+<DL>
+<DD>Compares two Key objects respective to their key version and does not
+ factor any other attribute.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - The Key object to be compared to this Key instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this Key's version, a
+ value less than zero if this Key's version is less than
+ the argument, or a value greater than zero if this Key's
+ version is 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> 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/Key.html#compareTo(org.openafs.jafs.Key)"><CODE>compareTo(Key)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Key)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Key.html">Key</A> otherKey)</PRE>
+<DL>
+<DD>Tests whether two <code>Key</code> objects are equal, based on their
+ encryption key, version, and associated Server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherKey</CODE> - the Key to test
+<DT><B>Returns:</B><DD>whether the specifed Key is the same as this Key</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>Key</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>Key</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeyInfo(int, int, org.openafs.jafs.Key)"><!-- --></A><H3>
+getKeyInfo</H3>
+<PRE>
+protected static void <B>getKeyInfo</B>(int serverHandle,
+ int version,
+ <A HREF="../../../org/openafs/jafs/Key.html">Key</A> key)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>Key</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the key
+ belongs<DD><CODE>version</CODE> - the version of the key for which to get the information<DD><CODE>key</CODE> - the <code>Key</code> object in which to fill in the
+ information
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html"><CODE>Server</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(int, int, int, java.lang.String)"><!-- --></A><H3>
+create</H3>
+<PRE>
+protected static void <B>create</B>(int cellHandle,
+ int serverHandle,
+ int versionNumber,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> keyString)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Create a server key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the server belongs<DD><CODE>serverHandle</CODE> - the bos handle of the server to which the key will
+ belong<DD><CODE>versionNumber</CODE> - the version number of the key to create (0 to 255)<DD><CODE>keyString</CODE> - the <code>String</code> version of the key that will
+ be encrypted
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(int, int)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+protected static void <B>delete</B>(int serverHandle,
+ int versionNumber)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Delete a server key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the key belongs<DD><CODE>versionNumber</CODE> - the version number of the key to remove (0 to 255)
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimKeyMemory()"><!-- --></A><H3>
+reclaimKeyMemory</H3>
+<PRE>
+protected static void <B>reclaimKeyMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the key portion of the native library.
+ This method should be called when no more <code>Key</code> objects are
+ expected to be
+ used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Key.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Group.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Partition.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>
+ <A HREF="Key.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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>
+PTSEntry (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.PTSEntry,PTSEntry interface">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="PTSEntry (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PTSEntry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ PREV CLASS
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="PTSEntry.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <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>
+Interface PTSEntry</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/openafs/jafs/Group.html">Group</A>, <A HREF="../../../org/openafs/jafs/User.html">User</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>PTSEntry</B></DL>
+
+<P>
+An interface representation of a PTS entry as it applies to
+ AFS users and groups. This interface is implemented in both
+ <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> and <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A> object abstractions.
+ <BR><BR>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+ <DD>1.0, 3/31/02</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></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 short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_GROUP">PTS_GROUP</A></B></CODE>
+
+<BR>
+ Constant for <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A> object implementers,
+ used with <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>getType()</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_USER">PTS_USER</A></B></CODE>
+
+<BR>
+ Constant for <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> object implementers,
+ used with <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>getType()</CODE></A></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== 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> <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#getCell()">getCell</A></B>()</CODE>
+
+<BR>
+ Returns the Cell this PTS user or group belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#getCreator()">getCreator</A></B>()</CODE>
+
+<BR>
+ Returns the creator of this PTS user or group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/PTSEntry.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this PTS user or group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#getOwner()">getOwner</A></B>()</CODE>
+
+<BR>
+ Returns the owner of this PTS user or group.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+ Returns the type of PTS entry the implementing object represents.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/PTSEntry.html#getUID()">getUID</A></B>()</CODE>
+
+<BR>
+ Returns the numeric AFS id of this user or group.</TD>
+</TR>
+</TABLE>
+
+<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="PTS_USER"><!-- --></A><H3>
+PTS_USER</H3>
+<PRE>
+public static final short <B>PTS_USER</B></PRE>
+<DL>
+<DD>Constant for <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> object implementers,
+ used with <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>getType()</CODE></A>
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.PTSEntry.PTS_USER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PTS_GROUP"><!-- --></A><H3>
+PTS_GROUP</H3>
+<PRE>
+public static final short <B>PTS_GROUP</B></PRE>
+<DL>
+<DD>Constant for <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A> object implementers,
+ used with <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>getType()</CODE></A>
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.PTSEntry.PTS_GROUP">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ 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="getCell()"><!-- --></A><H3>
+getCell</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>getCell</B>()</PRE>
+<DL>
+<DD>Returns the Cell this PTS user or group belongs to.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Cell this PTS user or group belongs to</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCreator()"><!-- --></A><H3>
+getCreator</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A> <B>getCreator</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the creator of this PTS user or group.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the creator of this PTS user or group
+<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 PTS user or group.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this PTS user or group</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwner()"><!-- --></A><H3>
+getOwner</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A> <B>getOwner</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the owner of this PTS user or group.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the owner of this PTS user or group
+<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="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public short <B>getType</B>()</PRE>
+<DL>
+<DD>Returns the type of PTS entry the implementing object represents.
+
+ <P>Possible values are:<BR>
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_USER"><CODE>PTS_USER</CODE></A></code>
+ -- a <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> object</li>
+ <li><code><A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_GROUP"><CODE>PTS_GROUP</CODE></A></code>
+ -- a <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A> object</li>
+ </ul>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this PTS user or group</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUID()"><!-- --></A><H3>
+getUID</H3>
+<PRE>
+public int <B>getUID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the numeric AFS id of this user or group.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS id of this user/group
+<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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PTSEntry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ PREV CLASS
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="PTSEntry.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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>
+Partition (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Partition,Partition class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Partition (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Partition.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Key.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Process.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>
+ <A HREF="Partition.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Partition</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.Partition</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>Partition</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 an AFS partition. It holds information about
+ the partition, such as what its total space is.
+ <BR><BR>
+
+ Constructing an instance of a <code>Partition</code> does not mean
+ an actual AFS partition is created on a server -- on the contrary,
+ a <code>Partition</code> object must be a representation of an already
+ existing AFS partition. There is no way to create a new AFS partition
+ through this API.<BR><BR>
+
+ Each <code>Partition</code> object has its own individual set of
+ <code>Volume</code>s. This represents the properties and attributes
+ of an actual AFS cell.<BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to obtain and use a
+ <code>Partition</code> object. In this example, a list of the
+ <code>Partition</code> objects of a server are obtained, and the name
+ and number of volumes is printed out for each one.<BR><BR>
+
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Partition;
+ import org.openafs.jafs.Server;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ private Server server;
+ ...
+ 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 = new Server(serverName, cell);
+
+ System.out.println("Partitions in Server " + server.getName() + ":");
+ Partition[] partitions = server.getPartitions();
+ for (int i = 0; i < partitions.length; i++) {
+ System.out.print("Partition " + partitions[i].getName());
+ System.out.print("hosts " + partitions[i].getVolumeCount());
+ System.out.print("volumes.\n");
+ }
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Partition">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 boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#cell">cell</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Partition.html#deviceName">deviceName</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#id">id</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#lockFileDescriptor">lockFileDescriptor</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Partition.html#name">name</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#server">server</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#totalFreeSpace">totalFreeSpace</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#totalQuota">totalQuota</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#totalSpace">totalSpace</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Partition.html#volumeNames">volumeNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Partition.html#volumes">volumes</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/Partition.html#Partition(org.openafs.jafs.Server)">Partition</A></B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Creates a blank <code>Server</code> given the cell to which the partition
+ belongs and the server on which the partition resides. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#Partition(java.lang.String, org.openafs.jafs.Server)">Partition</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Constructs a new <code>Partition</code> object instance given the
+ name of the AFS partition and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#Partition(java.lang.String, org.openafs.jafs.Server, boolean)">Partition</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <CODE>Partition</CODE> object instance given the name
+ of the AFS partition and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#compareTo(org.openafs.jafs.Partition)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition)</CODE>
+
+<BR>
+ Compares two Partition objects respective to their names 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#equals(org.openafs.jafs.Partition)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> otherPartition)</CODE>
+
+<BR>
+ Tests whether two <code>Partition</code> objects are equal,
+ based on their names and hosting server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Partition.html#getDeviceName()">getDeviceName</A></B>()</CODE>
+
+<BR>
+ Returns the device name of this partition (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getID()">getID</A></B>()</CODE>
+
+<BR>
+ Returns the id of this partition (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Partition.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this
+ <code>Partition</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Partition.html#getInfoVolumes()">getInfoVolumes</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> containing the <code>String</code>
+ representations of all the volumes of this <code>Partition</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getLockFileDescriptor()">getLockFileDescriptor</A></B>()</CODE>
+
+<BR>
+ Returns the lock file descriptor of this partition</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Partition.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getPartitionInfo(int, int, int, org.openafs.jafs.Partition)">getPartitionInfo</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> thePartition)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>Partition</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getServer()">getServer</A></B>()</CODE>
+
+<BR>
+ Returns this partition's hosting server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getTotalFreeSpace()">getTotalFreeSpace</A></B>()</CODE>
+
+<BR>
+ Returns the total free space on this partition.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getTotalQuota()">getTotalQuota</A></B>()</CODE>
+
+<BR>
+ Returns the total combined quota of all volumes on this partition,
+ unless a volume has configured an unlimited quota at which case an
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> is thrown.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getTotalQuota(boolean)">getTotalQuota</A></B>(boolean ignoreUnlimitedQuotas)</CODE>
+
+<BR>
+ Returns the total combined quota of all volumes on this partition,
+ ignoring volumes with unlimited quotas, if <CODE>
+ ignoreUnlimitedQuotas</CODE> is <CODE>true</CODE>; otherwise an
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> is thrown if a volume has an unlimited quota.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getTotalSpace()">getTotalSpace</A></B>()</CODE>
+
+<BR>
+ Returns the total space on this partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getUsedSpace()">getUsedSpace</A></B>()</CODE>
+
+<BR>
+ Returns the total used space on this partition.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolume(java.lang.String)">getVolume</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Retrieves the <CODE>Volume</CODE> object (which is an abstract
+ representation of an actual AFS volume of this partition) designated
+ by <code>name</code> (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumeCount()">getVolumeCount</A></B>()</CODE>
+
+<BR>
+ Returns the number of volumes contained in this partition.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumeCount(int, int, int)">getVolumeCount</A></B>(int cellHandle,
+ int serverHandle,
+ int partition)</CODE>
+
+<BR>
+ Returns the total number of volumes hosted by this partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Partition.html#getVolumeNames()">getVolumeNames</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the names of volumes
+ associated with this <code>Partition</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Partition.html#getVolumeNames(int, int)">getVolumeNames</A></B>(int startIndex,
+ int length)</CODE>
+
+<BR>
+ Returns an array containing a subset of the names of volumes
+ associated with this <code>Partition</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumes()">getVolumes</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the <code>Volume</code> objects
+ associated with this <code>Partition</code>, each of which is an
+ abstract representation of an actual AFS volume of the AFS partition.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumes(int, int)">getVolumes</A></B>(int startIndex,
+ int length)</CODE>
+
+<BR>
+ Returns an array containing a subset of the <code>Volume</code> objects
+ associated with this <code>Partition</code>, each of which is an abstract
+ representation of an actual AFS volume of the AFS partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumesAdvanceTo(int, org.openafs.jafs.Volume, int)">getVolumesAdvanceTo</A></B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> theVolume,
+ int advanceCount)</CODE>
+
+<BR>
+ Fills the next volume object of the partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumesBegin(int, int, int)">getVolumesBegin</A></B>(int cellHandle,
+ int serverHandle,
+ int partition)</CODE>
+
+<BR>
+ Begin the process of getting the volumes on a partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumesBeginAt(int, int, int, int)">getVolumesBeginAt</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int index)</CODE>
+
+<BR>
+ Begin the process of getting the volumes on a partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumesDone(int)">getVolumesDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#getVolumesNext(int, org.openafs.jafs.Volume)">getVolumesNext</A></B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> theVolume)</CODE>
+
+<BR>
+ Fills the next volume object of the partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Partition.html#getVolumesNextString(int)">getVolumesNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next volume of the partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#hasVolumeWithUnlimitedQuota()">hasVolumeWithUnlimitedQuota</A></B>()</CODE>
+
+<BR>
+ Tests whether this partition contains a volume that has an unlimited
+ quota configured.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#reclaimPartitionMemory()">reclaimPartitionMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the partition portion of the native
+ library. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this Partition object instance with values
+ from the AFS partition
+ it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this Partition object instance with values
+ from the AFS partition it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>Partition</code> to
+ reflect the current state of the AFS partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#refreshVolumeNames()">refreshVolumeNames</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of volume names of this partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#refreshVolumes()">refreshVolumes</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of <code>Volume</code> objects of this
+ partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#salvage()">salvage</A></B>()</CODE>
+
+<BR>
+ Salvages (restores consistency to) this partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#syncPartition()">syncPartition</A></B>()</CODE>
+
+<BR>
+ Syncs this partition to the VLDB.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#syncVLDB()">syncVLDB</A></B>()</CODE>
+
+<BR>
+ Syncs the VLDB to this partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Partition.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Partition</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Partition.html#translateIDToName(int)">translateIDToName</A></B>(int id)</CODE>
+
+<BR>
+ Translates a partition id into a partition name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Partition.html#translateNameToID(java.lang.String)">translateNameToID</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Translates a partition name into a partition id</TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="cell"><!-- --></A><H3>
+cell</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>cell</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="server"><!-- --></A><H3>
+server</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>server</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="id"><!-- --></A><H3>
+id</H3>
+<PRE>
+protected int <B>id</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="deviceName"><!-- --></A><H3>
+deviceName</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>deviceName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lockFileDescriptor"><!-- --></A><H3>
+lockFileDescriptor</H3>
+<PRE>
+protected int <B>lockFileDescriptor</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalSpace"><!-- --></A><H3>
+totalSpace</H3>
+<PRE>
+protected int <B>totalSpace</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalFreeSpace"><!-- --></A><H3>
+totalFreeSpace</H3>
+<PRE>
+protected int <B>totalFreeSpace</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalQuota"><!-- --></A><H3>
+totalQuota</H3>
+<PRE>
+protected int <B>totalQuota</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="volumes"><!-- --></A><H3>
+volumes</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>volumes</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="volumeNames"><!-- --></A><H3>
+volumeNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>volumeNames</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="Partition(java.lang.String, org.openafs.jafs.Server)"><!-- --></A><H3>
+Partition</H3>
+<PRE>
+public <B>Partition</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <code>Partition</code> object instance given the
+ name of the AFS partition and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. This does not actually
+ create a new AFS partition, it just represents an existing one.
+ If <code>name</code> is not an actual AFS partition, exceptions
+ will be thrown during subsequent method invocations on this
+ object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the partition to represent<DD><CODE>server</CODE> - the server on which the partition resides
+<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="Partition(java.lang.String, org.openafs.jafs.Server, boolean)"><!-- --></A><H3>
+Partition</H3>
+<PRE>
+public <B>Partition</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Partition</CODE> object instance given the name
+ of the AFS partition and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. This does not actually
+ create a new AFS partition, it just represents an existing one.
+ If <code>name</code> is not an actual AFS partition, exceptions
+ will be thrown during subsequent method invocations on this
+ object.
+
+ <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/Partition.html#refresh()"><CODE>refresh()</CODE></A> method to address any coherency
+ concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the partition to represent<DD><CODE>server</CODE> - the server to which the partition belongs.<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="Partition(org.openafs.jafs.Server)"><!-- --></A><H3>
+Partition</H3>
+<PRE>
+<B>Partition</B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a blank <code>Server</code> given the cell to which the partition
+ belongs and the server on which the partition resides. This blank
+ object can then be passed into other methods to fill out its properties.
+<P>
+<DT><B>Parameters:</B><DD><CODE>server</CODE> - the server on which the partition resides
+<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>
+
+<!-- ============ 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 Partition object instance with values
+ from the AFS partition
+ it represents. All properties that have been initialized and/or
+ accessed will be renewed according to the values of the AFS partition
+ this Partition 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Partition object instance with values
+ from the AFS partition it represents. If <CODE>all</CODE> is
+ <CODE>true</CODE> then <U>all</U> of the properties of this Partition
+ object instance will be set, or renewed, according to the values of the
+ AFS partition 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/Partition.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/Partition.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>Refreshes the information fields of this <code>Partition</code> to
+ reflect the current state of the AFS partition. These include total
+ free space, id, etc.
+<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="refreshVolumes()"><!-- --></A><H3>
+refreshVolumes</H3>
+<PRE>
+protected void <B>refreshVolumes</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Volume</code> objects of this
+ partition.
+<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="refreshVolumeNames()"><!-- --></A><H3>
+refreshVolumeNames</H3>
+<PRE>
+protected void <B>refreshVolumeNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of volume names of this partition.
+<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="syncPartition()"><!-- --></A><H3>
+syncPartition</H3>
+<PRE>
+public void <B>syncPartition</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Syncs this partition to the VLDB.
+<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="syncVLDB()"><!-- --></A><H3>
+syncVLDB</H3>
+<PRE>
+public void <B>syncVLDB</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Syncs the VLDB to this partition.
+<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="salvage()"><!-- --></A><H3>
+salvage</H3>
+<PRE>
+public void <B>salvage</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Salvages (restores consistency to) this partition. Uses default values for
+ most salvager options in order to simplify the API.
+<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="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 partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this partition</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServer()"><!-- --></A><H3>
+getServer</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>getServer</B>()</PRE>
+<DL>
+<DD>Returns this partition's hosting server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this partition's server</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumeCount()"><!-- --></A><H3>
+getVolumeCount</H3>
+<PRE>
+public int <B>getVolumeCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of volumes contained in this partition.
+
+ <P>If the total list of volumes or volume names have already been
+ collected (see <A HREF="../../../org/openafs/jafs/Partition.html#getVolumes()"><CODE>getVolumes()</CODE></A>), then the returning value will
+ be calculated based upon the current list. Otherwise, AFS will be
+ explicitly queried for the information.
+
+ <P> The product of this method is not saved, and is recalculated
+ with every call.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of volumes contained in this partition.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in any
+ of the associated native methods</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolume(java.lang.String)"><!-- --></A><H3>
+getVolume</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> <B>getVolume</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>Volume</CODE> object (which is an abstract
+ representation of an actual AFS volume of this partition) designated
+ by <code>name</code> (i.e. "root.afs", etc.). If a volume by
+ that name does not actually exist in AFS on the partition
+ 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 volume to retrieve
+<DT><B>Returns:</B><DD><CODE>Volume</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="getVolumes()"><!-- --></A><H3>
+getVolumes</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A>[] <B>getVolumes</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>Volume</code> objects
+ associated with this <code>Partition</code>, each of which is an
+ abstract representation of an actual AFS volume of the AFS partition.
+ After this method is called once, it saves the array of
+ <code>Volume</code>s and returns that saved array on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Partition.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>Volume</code> array of the <code>Volume</code>
+ objects of the partition.
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumes(int, int)"><!-- --></A><H3>
+getVolumes</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A>[] <B>getVolumes</B>(int startIndex,
+ int length)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array containing a subset of the <code>Volume</code> objects
+ associated with this <code>Partition</code>, each of which is an abstract
+ representation of an actual AFS volume of the AFS partition. The subset
+ is a point-in-time list of volumes (<code>Volume</code> objects
+ representing AFS volumes) 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 partition's complete array of volumes.
+
+ <P>This method is especially useful when managing iterations of very
+ large lists. <A HREF="../../../org/openafs/jafs/Partition.html#getVolumeCount()"><CODE>getVolumeCount()</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 volumes within this partition
+ then only render them in increments of 10,000.
+ <PRE>
+ ...
+ Volume[] volumes;
+ if (partition.getVolumeCount() > 50000) {
+ int index = 0;
+ int length = 10000;
+ while (index < partition.getVolumeCount()) {
+ volumes = partition.<B>getVolumes</B>(index, length);
+ for (int i = 0; i < volumes.length; i++) {
+ ...
+ }
+ index += length;
+ ...
+ }
+ } else {
+ volumes = partition.getVolumes();
+ for (int i = 0; i < volumes.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 volumes hosted by this partition
+<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/Partition.html#getVolumeCount()"><CODE>getVolumeCount()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#getVolumeNames(int, int)"><CODE>getVolumeNames(int, int)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#getVolumes()"><CODE>getVolumes()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumeNames()"><!-- --></A><H3>
+getVolumeNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getVolumeNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of volumes
+ associated with this <code>Partition</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/Partition.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 volumes of the partition.
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumeNames(int, int)"><!-- --></A><H3>
+getVolumeNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getVolumeNames</B>(int startIndex,
+ int length)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns an array containing a subset of the names of volumes
+ associated with this <code>Partition</code>. The subset is a
+ point-in-time list of volume names 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 partition's complete array of volume names.
+
+ <P>This method is especially useful when managing iterations of very
+ large lists. <A HREF="../../../org/openafs/jafs/Partition.html#getVolumeCount()"><CODE>getVolumeCount()</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 volumes within this partition
+ then only render them in increments of 10,000.
+ <PRE>
+ ...
+ String[] volumes;
+ if (partition.getVolumeCount() > 50000) {
+ int index = 0;
+ int length = 10000;
+ while (index < partition.getVolumeCount()) {
+ volumes = partition.<B>getVolumeNames</B>(index, length);
+ for (int i = 0; i < volumes.length; i++) {
+ ...
+ }
+ index += length;
+ ...
+ }
+ } else {
+ volumes = partition.getVolumeNames();
+ for (int i = 0; i < volumes.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 volume names hosted by this partition
+<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/Partition.html#getVolumeCount()"><CODE>getVolumeCount()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#getVolumes(int, int)"><CODE>getVolumes(int, int)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#getVolumes()"><CODE>getVolumes()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getID()"><!-- --></A><H3>
+getID</H3>
+<PRE>
+public int <B>getID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the id of this partition (i.e. "vicepa" = 0, etc.)
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the id of this partition
+<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="getDeviceName()"><!-- --></A><H3>
+getDeviceName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getDeviceName</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the device name of this partition (i.e. "hda5", etc.)
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the device name of this partition
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLockFileDescriptor()"><!-- --></A><H3>
+getLockFileDescriptor</H3>
+<PRE>
+public int <B>getLockFileDescriptor</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the lock file descriptor of this partition
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the lock file descriptor of this partition
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalSpace()"><!-- --></A><H3>
+getTotalSpace</H3>
+<PRE>
+public int <B>getTotalSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total space on this partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total space on this partition
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalFreeSpace()"><!-- --></A><H3>
+getTotalFreeSpace</H3>
+<PRE>
+public int <B>getTotalFreeSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total free space on this partition.
+ After this method is called once, it saves the total free space
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Partition.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total free space on this partition
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsedSpace()"><!-- --></A><H3>
+getUsedSpace</H3>
+<PRE>
+public int <B>getUsedSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total used space on this partition.
+ After this method is called once, it saves the total used space
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Partition.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total used space on this partition
+<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/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalQuota()"><!-- --></A><H3>
+getTotalQuota</H3>
+<PRE>
+public int <B>getTotalQuota</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total combined quota of all volumes on this partition,
+ unless a volume has configured an unlimited quota at which case an
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> is thrown.
+
+ <P>After this method is called once, it saves the value and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Partition.html#refresh()"><CODE>refresh()</CODE></A>
+ method is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total combined quota of all volumes on this partition
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs while retrieving and
+ calculating, or a volume has an
+ unlimited quota.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Partition.html#getTotalQuota(boolean)"><CODE>getTotalQuota(boolean)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#hasVolumeWithUnlimitedQuota()"><CODE>hasVolumeWithUnlimitedQuota()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Volume.html#getQuota()"><CODE>Volume.getQuota()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalQuota(boolean)"><!-- --></A><H3>
+getTotalQuota</H3>
+<PRE>
+public int <B>getTotalQuota</B>(boolean ignoreUnlimitedQuotas)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total combined quota of all volumes on this partition,
+ ignoring volumes with unlimited quotas, if <CODE>
+ ignoreUnlimitedQuotas</CODE> is <CODE>true</CODE>; otherwise an
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> is thrown if a volume has an unlimited quota.
+
+ <P>After this method is called once, it saves the value and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Partition.html#refresh()"><CODE>refresh()</CODE></A>
+ method is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total combined quota of all volumes on this partition
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs while retrieving and
+ calculating, or a volume has an
+ unlimited quota.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Partition.html#getTotalQuota()"><CODE>getTotalQuota()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#hasVolumeWithUnlimitedQuota()"><CODE>hasVolumeWithUnlimitedQuota()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Volume.html#getQuota()"><CODE>Volume.getQuota()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasVolumeWithUnlimitedQuota()"><!-- --></A><H3>
+hasVolumeWithUnlimitedQuota</H3>
+<PRE>
+public boolean <B>hasVolumeWithUnlimitedQuota</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Tests whether this partition contains a volume that has an unlimited
+ quota configured.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><CODE>true</CODE> if a contained volume's quota is configured
+ as unlimited; otherwise <CODE>false</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<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Partition.html#getTotalQuota()"><CODE>getTotalQuota()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#getTotalQuota(boolean)"><CODE>getTotalQuota(boolean)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Volume.html#isQuotaUnlimited()"><CODE>Volume.isQuotaUnlimited()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Volume.html#getQuota()"><CODE>Volume.getQuota()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Partition.html#refresh()"><CODE>refresh()</CODE></A></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>Partition</code>. Contains the information fields and a list of
+ volumes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>Partition</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoVolumes()"><!-- --></A><H3>
+getInfoVolumes</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoVolumes</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 volumes of this <code>Partition</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the volumes
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Volume.html#getInfo()"><CODE>Volume.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.Partition)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition)</PRE>
+<DL>
+<DD>Compares two Partition objects respective to their names 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>partition</CODE> - The Partition object to be compared to
+ this Partition instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this Partition's name, a
+ value less than zero if this Partition's name is
+ lexicographically less than the argument, or a value greater
+ than zero if this Partition's name 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> 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/Partition.html#compareTo(org.openafs.jafs.Partition)"><CODE>compareTo(Partition)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Partition)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> otherPartition)</PRE>
+<DL>
+<DD>Tests whether two <code>Partition</code> objects are equal,
+ based on their names and hosting server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherPartition</CODE> - the Partition to test
+<DT><B>Returns:</B><DD>whether the specifed Partition is the same as this Partition</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>Partition</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>Partition</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionInfo(int, int, int, org.openafs.jafs.Partition)"><!-- --></A><H3>
+getPartitionInfo</H3>
+<PRE>
+protected static void <B>getPartitionInfo</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> thePartition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>Partition</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the partition belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the
+ partition resides<DD><CODE>partition</CODE> - the numeric id of the partition for which to get the
+ info<DD><CODE>thePartition</CODE> - the <A HREF="../../../org/openafs/jafs/Partition.html"><CODE>Partition</CODE></A> object in which to
+ fill in the information
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumeCount(int, int, int)"><!-- --></A><H3>
+getVolumeCount</H3>
+<PRE>
+protected static int <B>getVolumeCount</B>(int cellHandle,
+ int serverHandle,
+ int partition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of volumes hosted by this partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the partition belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server to which the partition
+ belongs<DD><CODE>partition</CODE> - the numeric id of the partition on which the volumes
+ reside
+<DT><B>Returns:</B><DD>total number of volumes hosted by this partition
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumesBegin(int, int, int)"><!-- --></A><H3>
+getVolumesBegin</H3>
+<PRE>
+protected static int <B>getVolumesBegin</B>(int cellHandle,
+ int serverHandle,
+ int partition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the volumes on a partition. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getVolumesNext</code> and <code>getVolumesDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the partition belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server to which the partition
+ belongs<DD><CODE>partition</CODE> - the numeric id of the partition on which the volumes
+ reside
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumesBeginAt(int, int, int, int)"><!-- --></A><H3>
+getVolumesBeginAt</H3>
+<PRE>
+protected static int <B>getVolumesBeginAt</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int index)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the volumes on a partition. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getVolumesNext</code> and <code>getVolumesDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the partition belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server to which the partition
+ belongs<DD><CODE>partition</CODE> - the numeric id of the partition on which the volumes
+ reside
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumesNextString(int)"><!-- --></A><H3>
+getVolumesNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getVolumesNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next volume of the partition. Returns <code>null</code>
+ if there are no more volumes.
+<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 volume of the server
+<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/Partition.html#getVolumesBegin(int, int, int)"><CODE>getVolumesBegin(int, int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumesNext(int, org.openafs.jafs.Volume)"><!-- --></A><H3>
+getVolumesNext</H3>
+<PRE>
+protected static int <B>getVolumesNext</B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> theVolume)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next volume object of the partition. Returns 0 if there
+ are no more volumes, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theVolume</CODE> - the Volume object in which to fill the values
+ of the next volume
+<DT><B>Returns:</B><DD>0 if there are no more volumes, != 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/Partition.html#getVolumesBegin(int, int, int)"><CODE>getVolumesBegin(int, int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumesAdvanceTo(int, org.openafs.jafs.Volume, int)"><!-- --></A><H3>
+getVolumesAdvanceTo</H3>
+<PRE>
+protected static int <B>getVolumesAdvanceTo</B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> theVolume,
+ int advanceCount)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next volume object of the partition. Returns 0 if there
+ are no more volumes, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theVolume</CODE> - the Volume object in which to fill the values of the
+ next volume
+<DT><B>Returns:</B><DD>0 if there are no more volumes, != 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/Partition.html#getVolumesBegin(int, int, int)"><CODE>getVolumesBegin(int, int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumesDone(int)"><!-- --></A><H3>
+getVolumesDone</H3>
+<PRE>
+protected static void <B>getVolumesDone</B>(int 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/Partition.html#getVolumesBegin(int, int, int)"><CODE>getVolumesBegin(int, int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="translateNameToID(java.lang.String)"><!-- --></A><H3>
+translateNameToID</H3>
+<PRE>
+protected static int <B>translateNameToID</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Translates a partition name into a partition id
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the partition in question
+<DT><B>Returns:</B><DD>the id of the partition in question
+<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="translateIDToName(int)"><!-- --></A><H3>
+translateIDToName</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>translateIDToName</B>(int id)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Translates a partition id into a partition name
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id of the partition in question
+<DT><B>Returns:</B><DD>the name of the partition in question
+<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="reclaimPartitionMemory()"><!-- --></A><H3>
+reclaimPartitionMemory</H3>
+<PRE>
+protected static void <B>reclaimPartitionMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the partition portion of the native
+ library. This method should be called when no more <code>Partition</code>
+ objects are expected to be
+ used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Partition.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Key.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Process.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>
+ <A HREF="Partition.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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:38 PDT 2003 -->
+<TITLE>
+Process (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Process,Process class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Process (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Process.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Partition.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Server.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>
+ <A HREF="Process.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Process</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.Process</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>Process</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 an AFS process. It holds information about
+ the server, such as what its state is.
+ <BR><BR>
+
+ Constructing an instance of a <code>Process</code> does not mean an actual
+ AFS process is created on a server -- usually a <code>Process</code>
+ object is a representation of an already existing AFS process. If,
+ however, the <code>Process</code> is constructed with the name of a
+ process that does not exist in the server represented by the provided
+ <code>Server</code>, a new process with that name can be
+ created on that server by calling one of the <A HREF="../../../org/openafs/jafs/Process.html#createSimple(java.lang.String)"><CODE>createSimple(String)</CODE></A>,
+ <A HREF="../../../org/openafs/jafs/Process.html#createFS(java.lang.String)"><CODE>createFS(String)</CODE></A>, or <A HREF="../../../org/openafs/jafs/Process.html#createCron(java.lang.String, java.lang.String)"><CODE>createCron(String,String)</CODE></A> methods. If
+ such a process does already exist when one of these methods are called,
+ an exception will be thrown.<BR><BR>
+
+ <!--Information on how member values are set-->
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a
+ <code>Process</code> object. This example obtains the list of all
+ <code>Process</code> objects on a particular server and prints out the
+ name of each one along with its start time.<BR><BR>
+
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Process;
+ import org.openafs.jafs.Server;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ private Server server;
+ ...
+ 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 = new Server(serverName, cell);
+
+ System.out.println("Processes in Server " + server.getName() + ":");
+ Process[] processes = server.getProcesss();
+ for (int i = 0; i < processes.length; i++) {
+ System.out.print("Process " + processes[i].getName());
+ System.out.print("was started: " +
+ processes[i].getStartTimeDate().getTime() + "\n");
+ }
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Process">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 boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#CRON_PROCESS">CRON_PROCESS</A></B></CODE>
+
+<BR>
+ A process that should be restarted at a specific time either daily
+ or weekly.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#errorCode">errorCode</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#errorSignal">errorSignal</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#exitErrorTime">exitErrorTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Process.html#exitErrorTimeDate">exitErrorTimeDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#exitTime">exitTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Process.html#exitTimeDate">exitTimeDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#FS_PROCESS">FS_PROCESS</A></B></CODE>
+
+<BR>
+ Combination of File Server, Volume Server, and Salvager processes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#goal">goal</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Process.html#name">name</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#numberStarts">numberStarts</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#RUNNING">RUNNING</A></B></CODE>
+
+<BR>
+ Process execution state running</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#server">server</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#serverHandle">serverHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#SIMPLE_PROCESS">SIMPLE_PROCESS</A></B></CODE>
+
+<BR>
+ Any standard type of process except for fs (such as kaserver,
+ upclientbin, etc.)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#STARTING">STARTING</A></B></CODE>
+
+<BR>
+ Process execution state starting</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#startTime">startTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Process.html#startTimeDate">startTimeDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#state">state</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#stateBadFileAccess">stateBadFileAccess</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#stateOk">stateOk</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#stateTooManyErrors">stateTooManyErrors</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#STOPPED">STOPPED</A></B></CODE>
+
+<BR>
+ Process execution state stopped</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#STOPPING">STOPPING</A></B></CODE>
+
+<BR>
+ Process execution state stopping</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#type">type</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/Process.html#Process(org.openafs.jafs.Server)">Process</A></B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Creates a blank <code>Process</code> given the server to which the process
+ belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#Process(java.lang.String, org.openafs.jafs.Server)">Process</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Constructs a new <code>Process</code> object instance given the name
+ of the AFS process and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#Process(java.lang.String, org.openafs.jafs.Server, boolean)">Process</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <CODE>Process</CODE> object instance given the name
+ of the AFS process and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#compareTo(org.openafs.jafs.Process)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Process.html">Process</A> process)</CODE>
+
+<BR>
+ Compares two Process objects respective to their names 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>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#create(int, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)">create</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName,
+ int processType,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cronTime,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> notifier)</CODE>
+
+<BR>
+ Creates a processes on a server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#createCron(java.lang.String, java.lang.String)">createCron</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cronTime)</CODE>
+
+<BR>
+ Creates this process as a cron process on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#createFS(java.lang.String)">createFS</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath)</CODE>
+
+<BR>
+ Creates this process as a file server process on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#createSimple(java.lang.String)">createSimple</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath)</CODE>
+
+<BR>
+ Creates this process as a simple process on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#delete()">delete</A></B>()</CODE>
+
+<BR>
+ Removes this process from the bos server</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#delete(int, java.lang.String)">delete</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)</CODE>
+
+<BR>
+ Removes a process from a server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#equals(org.openafs.jafs.Process)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Process.html">Process</A> otherProcess)</CODE>
+
+<BR>
+ Tests whether two <code>Process</code> objects are equal, based on their
+ names and hosting server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getErrorCode()">getErrorCode</A></B>()</CODE>
+
+<BR>
+ Returns the error code of the process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getErrorSignal()">getErrorSignal</A></B>()</CODE>
+
+<BR>
+ Returns the error signal of the process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getExitErrorTime()">getExitErrorTime</A></B>()</CODE>
+
+<BR>
+ Returns the most recent time this process exited with an error. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Process.html#getExitErrorTimeDate()">getExitErrorTimeDate</A></B>()</CODE>
+
+<BR>
+ Returns the most recent time this process exited with an error. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getExitTime()">getExitTime</A></B>()</CODE>
+
+<BR>
+ Returns the most recent exit time of this process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Process.html#getExitTimeDate()">getExitTimeDate</A></B>()</CODE>
+
+<BR>
+ Returns the most recent exit time of this process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getGoal()">getGoal</A></B>()</CODE>
+
+<BR>
+ Returns the process goal. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Process.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this <code>Process</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Process.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getNumberOfStarts()">getNumberOfStarts</A></B>()</CODE>
+
+<BR>
+ Returns the number of starts of the process.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getProcessInfo(int, java.lang.String, org.openafs.jafs.Process)">getProcessInfo</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName,
+ <A HREF="../../../org/openafs/jafs/Process.html">Process</A> theProcess)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>Process</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getServer()">getServer</A></B>()</CODE>
+
+<BR>
+ Returns the server hosting this process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getStartTime()">getStartTime</A></B>()</CODE>
+
+<BR>
+ Returns the most recent start time of this process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Process.html#getStartTimeDate()">getStartTimeDate</A></B>()</CODE>
+
+<BR>
+ Returns the most recent start time of this process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getState()">getState</A></B>()</CODE>
+
+<BR>
+ Returns the process execution state. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getStateBadFileAccess()">getStateBadFileAccess</A></B>()</CODE>
+
+<BR>
+ Returns whether or not the state of the process indicates bad file access.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getStateOk()">getStateOk</A></B>()</CODE>
+
+<BR>
+ Returns whether or not the state of the process is ok. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getStateTooManyErrors()">getStateTooManyErrors</A></B>()</CODE>
+
+<BR>
+ Returns whether or not the state of the process indicates too many errors.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+ Returns the process type. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#reclaimProcessMemory()">reclaimProcessMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the process portion of the native
+ library. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this Process object instance with values
+ from the AFS process it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this Process object instance with values from
+ the AFS process it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>Process</code> to reflect
+ the current state of the AFS process, such as the start time, the state,
+ etc.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#restart()">restart</A></B>()</CODE>
+
+<BR>
+ Restarts this process</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#restart(int, java.lang.String)">restart</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)</CODE>
+
+<BR>
+ Retart this process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#start()">start</A></B>()</CODE>
+
+<BR>
+ Starts this process</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#start(int, java.lang.String)">start</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)</CODE>
+
+<BR>
+ Start this process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#stop()">stop</A></B>()</CODE>
+
+<BR>
+ Stops this process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Process.html#stop(int, java.lang.String)">stop</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)</CODE>
+
+<BR>
+ Stop this process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Process.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Process</CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="SIMPLE_PROCESS"><!-- --></A><H3>
+SIMPLE_PROCESS</H3>
+<PRE>
+public static final int <B>SIMPLE_PROCESS</B></PRE>
+<DL>
+<DD>Any standard type of process except for fs (such as kaserver,
+ upclientbin, etc.)
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.SIMPLE_PROCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FS_PROCESS"><!-- --></A><H3>
+FS_PROCESS</H3>
+<PRE>
+public static final int <B>FS_PROCESS</B></PRE>
+<DL>
+<DD>Combination of File Server, Volume Server, and Salvager processes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.FS_PROCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CRON_PROCESS"><!-- --></A><H3>
+CRON_PROCESS</H3>
+<PRE>
+public static final int <B>CRON_PROCESS</B></PRE>
+<DL>
+<DD>A process that should be restarted at a specific time either daily
+ or weekly.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.CRON_PROCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STOPPED"><!-- --></A><H3>
+STOPPED</H3>
+<PRE>
+public static final int <B>STOPPED</B></PRE>
+<DL>
+<DD>Process execution state stopped
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.STOPPED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="RUNNING"><!-- --></A><H3>
+RUNNING</H3>
+<PRE>
+public static final int <B>RUNNING</B></PRE>
+<DL>
+<DD>Process execution state running
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.RUNNING">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STOPPING"><!-- --></A><H3>
+STOPPING</H3>
+<PRE>
+public static final int <B>STOPPING</B></PRE>
+<DL>
+<DD>Process execution state stopping
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.STOPPING">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STARTING"><!-- --></A><H3>
+STARTING</H3>
+<PRE>
+public static final int <B>STARTING</B></PRE>
+<DL>
+<DD>Process execution state starting
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Process.STARTING">Constant Field Values</A></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="server"><!-- --></A><H3>
+server</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>server</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serverHandle"><!-- --></A><H3>
+serverHandle</H3>
+<PRE>
+protected int <B>serverHandle</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="type"><!-- --></A><H3>
+type</H3>
+<PRE>
+protected int <B>type</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="state"><!-- --></A><H3>
+state</H3>
+<PRE>
+protected int <B>state</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="goal"><!-- --></A><H3>
+goal</H3>
+<PRE>
+protected int <B>goal</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="startTime"><!-- --></A><H3>
+startTime</H3>
+<PRE>
+protected long <B>startTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="numberStarts"><!-- --></A><H3>
+numberStarts</H3>
+<PRE>
+protected long <B>numberStarts</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="exitTime"><!-- --></A><H3>
+exitTime</H3>
+<PRE>
+protected long <B>exitTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="exitErrorTime"><!-- --></A><H3>
+exitErrorTime</H3>
+<PRE>
+protected long <B>exitErrorTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="errorCode"><!-- --></A><H3>
+errorCode</H3>
+<PRE>
+protected long <B>errorCode</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="errorSignal"><!-- --></A><H3>
+errorSignal</H3>
+<PRE>
+protected long <B>errorSignal</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="stateOk"><!-- --></A><H3>
+stateOk</H3>
+<PRE>
+protected boolean <B>stateOk</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="stateTooManyErrors"><!-- --></A><H3>
+stateTooManyErrors</H3>
+<PRE>
+protected boolean <B>stateTooManyErrors</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="stateBadFileAccess"><!-- --></A><H3>
+stateBadFileAccess</H3>
+<PRE>
+protected boolean <B>stateBadFileAccess</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="startTimeDate"><!-- --></A><H3>
+startTimeDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>startTimeDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="exitTimeDate"><!-- --></A><H3>
+exitTimeDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>exitTimeDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="exitErrorTimeDate"><!-- --></A><H3>
+exitErrorTimeDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>exitErrorTimeDate</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="Process(java.lang.String, org.openafs.jafs.Server)"><!-- --></A><H3>
+Process</H3>
+<PRE>
+public <B>Process</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <code>Process</code> object instance given the name
+ of the AFS process and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. This does not actually
+ create a new AFS process, it just represents one.
+ If <code>name</code> is not an actual AFS process, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless one of the <A HREF="../../../org/openafs/jafs/Process.html#createSimple(java.lang.String)"><CODE>createSimple(String)</CODE></A>,
+ <A HREF="../../../org/openafs/jafs/Process.html#createFS(java.lang.String)"><CODE>createFS(String)</CODE></A>, or <A HREF="../../../org/openafs/jafs/Process.html#createCron(java.lang.String, java.lang.String)"><CODE>createCron(String,String)</CODE></A>
+ methods are explicitly called to create it.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the server to represent<DD><CODE>server</CODE> - the server on which the process resides
+<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="Process(java.lang.String, org.openafs.jafs.Server, boolean)"><!-- --></A><H3>
+Process</H3>
+<PRE>
+public <B>Process</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Process</CODE> object instance given the name
+ of the AFS process and the AFS server, represented by
+ <CODE>server</CODE>, to which it belongs. This does not actually
+ create a new AFS process, it just represents one.
+ If <code>name</code> is not an actual AFS process, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless one of the <A HREF="../../../org/openafs/jafs/Process.html#createSimple(java.lang.String)"><CODE>createSimple(String)</CODE></A>,
+ <A HREF="../../../org/openafs/jafs/Process.html#createFS(java.lang.String)"><CODE>createFS(String)</CODE></A>, or <A HREF="../../../org/openafs/jafs/Process.html#createCron(java.lang.String, java.lang.String)"><CODE>createCron(String,String)</CODE></A>
+ methods are explicitly called to create it. Note that if he process
+ doesn't exist and <code>preloadAllMembers</code> is true, an exception
+ will be thrown.
+
+ <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/Process.html#refresh()"><CODE>refresh()</CODE></A> method to address any coherency
+ concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the process to represent<DD><CODE>server</CODE> - the server to which the process belongs.<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/Process.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="Process(org.openafs.jafs.Server)"><!-- --></A><H3>
+Process</H3>
+<PRE>
+<B>Process</B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a blank <code>Process</code> given the server to which the process
+ belongs. This blank object can then be passed into other methods to fill
+ out its properties.
+<P>
+<DT><B>Parameters:</B><DD><CODE>server</CODE> - the server to which the process belongs.
+<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>
+
+<!-- ============ 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 Process object instance with values
+ from the AFS process it represents. All properties that have been
+ initialized and/or accessed will be renewed according to the values of
+ the AFS process this Process 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Process object instance with values from
+ the AFS process it represents. If <CODE>all</CODE> is <CODE>true</CODE>
+ then <U>all</U> of the properties of this Process object instance will be
+ set, or renewed, according to the values of the AFS process 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/Process.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/Process.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>Refreshes the information fields of this <code>Process</code> to reflect
+ the current state of the AFS process, such as the start time, the state,
+ etc.
+<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="createSimple(java.lang.String)"><!-- --></A><H3>
+createSimple</H3>
+<PRE>
+public void <B>createSimple</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates this process as a simple process on the server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>executionPath</CODE> - the path to the process's executable
+<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="createFS(java.lang.String)"><!-- --></A><H3>
+createFS</H3>
+<PRE>
+public void <B>createFS</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates this process as a file server process on the server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>executionPath</CODE> - the path to the process's executable
+<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="createCron(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createCron</H3>
+<PRE>
+public void <B>createCron</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cronTime)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates this process as a cron process on the server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>executionPath</CODE> - the path to the process's executable<DD><CODE>cronTime</CODE> - a String representing the time a cron process is
+ to be run. Acceptable formats are:<ul>
+ <li>for daily restarts: "23:10" or "11:10 pm"</li>
+ <li>for weekly restarts: "sunday 11:10pm" or
+ "sun 11:10pm"</li>
+ </ul>
+<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="delete()"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes this process from the bos server
+<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="stop()"><!-- --></A><H3>
+stop</H3>
+<PRE>
+public void <B>stop</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Stops this process.
+<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="start()"><!-- --></A><H3>
+start</H3>
+<PRE>
+public void <B>start</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Starts this process
+<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="restart()"><!-- --></A><H3>
+restart</H3>
+<PRE>
+public void <B>restart</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restarts this process
+<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="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 process.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this process</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServer()"><!-- --></A><H3>
+getServer</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>getServer</B>()</PRE>
+<DL>
+<DD>Returns the server hosting this process.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this process' server</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public int <B>getType</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the process type. Possible values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#SIMPLE_PROCESS"><CODE>SIMPLE_PROCESS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#FS_PROCESS"><CODE>FS_PROCESS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#CRON_PROCESS"><CODE>CRON_PROCESS</CODE></A></li></ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the process type
+<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="getGoal()"><!-- --></A><H3>
+getGoal</H3>
+<PRE>
+public int <B>getGoal</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the process goal. Possible values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#STOPPED"><CODE>STOPPED</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#RUNNING"><CODE>RUNNING</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#STARTING"><CODE>STARTING</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#STOPPING"><CODE>STOPPING</CODE></A></li></ul>
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the process goal
+<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="getState()"><!-- --></A><H3>
+getState</H3>
+<PRE>
+public int <B>getState</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the process execution state. Possible values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#STOPPED"><CODE>STOPPED</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#RUNNING"><CODE>RUNNING</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#STARTING"><CODE>STARTING</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#STOPPING"><CODE>STOPPING</CODE></A></li></ul>
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the process execution state
+<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="getStartTime()"><!-- --></A><H3>
+getStartTime</H3>
+<PRE>
+public long <B>getStartTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the most recent start time of this process. A
+ <code>null</code> value
+ indicates no start time.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the start time
+<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="getStartTimeDate()"><!-- --></A><H3>
+getStartTimeDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getStartTimeDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the most recent start time of this process. A <code>null</code>
+ value indicates no start time.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the start time
+<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="getNumberOfStarts()"><!-- --></A><H3>
+getNumberOfStarts</H3>
+<PRE>
+public long <B>getNumberOfStarts</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of starts of the process.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of starts
+<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="getExitTime()"><!-- --></A><H3>
+getExitTime</H3>
+<PRE>
+public long <B>getExitTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the most recent exit time of this process. A <code>null</code>
+ value indicates no exit time.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the exit time
+<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="getExitTimeDate()"><!-- --></A><H3>
+getExitTimeDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getExitTimeDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the most recent exit time of this process. A <code>null</code>
+ value indicates no exit time
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the exit time
+<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="getExitErrorTime()"><!-- --></A><H3>
+getExitErrorTime</H3>
+<PRE>
+public long <B>getExitErrorTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the most recent time this process exited with an error. A
+ <code>null</code> value indicates no exit w/ error time.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the exit w/ error time
+<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="getExitErrorTimeDate()"><!-- --></A><H3>
+getExitErrorTimeDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getExitErrorTimeDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the most recent time this process exited with an error. A <
+ code>null</code> value indicates no exit w/ error time.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the exit w/ error time
+<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="getErrorCode()"><!-- --></A><H3>
+getErrorCode</H3>
+<PRE>
+public long <B>getErrorCode</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the error code of the process. A value of 0 indicates
+ no error code.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the error 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</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrorSignal()"><!-- --></A><H3>
+getErrorSignal</H3>
+<PRE>
+public long <B>getErrorSignal</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the error signal of the process. A value of 0 indicates no
+ error signal.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the error signal
+<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="getStateOk()"><!-- --></A><H3>
+getStateOk</H3>
+<PRE>
+public boolean <B>getStateOk</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not the state of the process is ok. A value of
+ <code>false</code> indicates there has been a core dump.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the state is ok
+<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="getStateTooManyErrors()"><!-- --></A><H3>
+getStateTooManyErrors</H3>
+<PRE>
+public boolean <B>getStateTooManyErrors</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not the state of the process indicates too many errors.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the state indicates too many errors
+<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="getStateBadFileAccess()"><!-- --></A><H3>
+getStateBadFileAccess</H3>
+<PRE>
+public boolean <B>getStateBadFileAccess</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not the state of the process indicates bad file access.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Process.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the state indicates bad file access
+<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>Process</code>.
+ Contains the information fields.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>Process</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.Process)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Process.html">Process</A> process)</PRE>
+<DL>
+<DD>Compares two Process objects respective to their names 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>process</CODE> - The Process object to be compared to this Process
+ instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this Process' name, a
+ value less than zero if this Process' name is
+ lexicographically less than the argument, or a value greater
+ than zero if this Process' name 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> 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/Process.html#compareTo(org.openafs.jafs.Process)"><CODE>compareTo(Process)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Process)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Process.html">Process</A> otherProcess)</PRE>
+<DL>
+<DD>Tests whether two <code>Process</code> objects are equal, based on their
+ names and hosting server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherProcess</CODE> - the Process to test
+<DT><B>Returns:</B><DD>whether the specifed Process is the same as this Process</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>Process</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>Process</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessInfo(int, java.lang.String, org.openafs.jafs.Process)"><!-- --></A><H3>
+getProcessInfo</H3>
+<PRE>
+protected static void <B>getProcessInfo</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName,
+ <A HREF="../../../org/openafs/jafs/Process.html">Process</A> theProcess)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>Process</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the process belongs<DD><CODE>processName</CODE> - the instance name of the process for which to get
+ the information<DD><CODE>theProcess</CODE> - the <A HREF="../../../org/openafs/jafs/Process.html"><CODE>Process</CODE></A> object in which to fill
+ in the information
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(int, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+create</H3>
+<PRE>
+protected static void <B>create</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName,
+ int processType,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> executionPath,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cronTime,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> notifier)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a processes on a server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the key will
+ belong<DD><CODE>processName</CODE> - the instance name to give the process. See AFS
+ documentation for a standard list of instance names<DD><CODE>processType</CODE> - the type of process this will be.
+ Acceptable values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#SIMPLE_PROCESS"><CODE>SIMPLE_PROCESS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#FS_PROCESS"><CODE>FS_PROCESS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Process.html#CRON_PROCESS"><CODE>CRON_PROCESS</CODE></A></li></ul><DD><CODE>executionPath</CODE> - the execution path process to create<DD><CODE>cronTime</CODE> - a String representing the time a cron process is to
+ be run. Acceptable formats are:<ul>
+ <li>for daily restarts: "23:10" or "11:10 pm"</li>
+ <li>for weekly restarts: "sunday 11:10pm" or
+ "sun 11:10pm"</li>
+ </ul>
+ Can be <code>null</code> for non-cron processes.<DD><CODE>notifier</CODE> - the execution path to a notifier program that should
+ be called when the process terminates. Can be
+ <code>null</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<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(int, java.lang.String)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+protected static void <B>delete</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes a process from a server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the process
+ belongs<DD><CODE>processName</CODE> - the name of the process to remove
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="start(int, java.lang.String)"><!-- --></A><H3>
+start</H3>
+<PRE>
+protected static void <B>start</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Start this process.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the process
+ belongs<DD><CODE>processName</CODE> - the name of the process to start
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="restart(int, java.lang.String)"><!-- --></A><H3>
+restart</H3>
+<PRE>
+protected static void <B>restart</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retart this process.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the process
+ belongs<DD><CODE>processName</CODE> - the name of the process to restart
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stop(int, java.lang.String)"><!-- --></A><H3>
+stop</H3>
+<PRE>
+protected static void <B>stop</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> processName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Stop this process.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the process
+ belongs<DD><CODE>processName</CODE> - the name of the process to stop
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>Server.getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimProcessMemory()"><!-- --></A><H3>
+reclaimProcessMemory</H3>
+<PRE>
+protected static void <B>reclaimProcessMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the process portion of the native
+ library. This method should be called when no more <code>Process</code>
+ objects are expected to be used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Process.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Partition.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Server.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>
+ <A HREF="Process.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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:38 PDT 2003 -->
+<TITLE>
+Server.ExecutableTime (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Server.ExecutableTime,Server.ExecutableTime class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Server.ExecutableTime (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Server.ExecutableTime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Server.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Token.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>
+ <A HREF="Server.ExecutableTime.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Server.ExecutableTime</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.Server.ExecutableTime</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/Server.html">Server</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public static final class <B>Server.ExecutableTime</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>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Server.ExecutableTime">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 short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#EVERYDAY">EVERYDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/text/DecimalFormat.html">DecimalFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#formatter">formatter</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#FRIDAY">FRIDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#MONDAY">MONDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#NEVER">NEVER</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#NOW">NOW</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#SATURDAY">SATURDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#SUNDAY">SUNDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#THURSDAY">THURSDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#TUESDAY">TUESDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#WEDNESDAY">WEDNESDAY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/Server.ExecutableTime.html#Server.ExecutableTime()">Server.ExecutableTime</A></B>()</CODE>
+
+<BR>
+ Internal constructor used to construct an empty object that will
+ be passed to JNI for member synchronization of the BOS Server
+ executable time this object represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short)">Server.ExecutableTime</A></B>(short type)</CODE>
+
+<BR>
+ Constructs an <code>ExecutableTime</code> object that represents either
+ a "<CODE>now</CODE>" <B>or</B> "<CODE>never</CODE>" BOS Executable
+ Restart Time.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short, short, short)">Server.ExecutableTime</A></B>(short second,
+ short minute,
+ short hour)</CODE>
+
+<BR>
+ Constructs an <code>ExecutableTime</code> object that may be used to
+ represent a <U>daily</U> BOS Executable Restart Time of a process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short, short, short, short)">Server.ExecutableTime</A></B>(short second,
+ short minute,
+ short hour,
+ short day)</CODE>
+
+<BR>
+ Constructs an <code>ExecutableTime</code> object that may be used to
+ represent the BOS Executable Restart Time of a process.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#equals(org.openafs.jafs.Server.ExecutableTime)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> time)</CODE>
+
+<BR>
+ Tests whether two <code>ExecutableTime</code> objects are equal,
+ based on a
+ comparison of each of their respective properties. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getDay()">getDay</A></B>()</CODE>
+
+<BR>
+ Returns a numeric representation of the day of this ExecutableTime
+ object. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.ExecutableTime.html#getDayString()">getDayString</A></B>()</CODE>
+
+<BR>
+ Returns a String representation, name for the day of the week or
+ "Everyday", of this object's day property.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getHour()">getHour</A></B>()</CODE>
+
+<BR>
+ Returns the hour of this ExecutableTime object, in 24 hour time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getMinute()">getMinute</A></B>()</CODE>
+
+<BR>
+ Returns the minute of this ExecutableTime object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getSecond()">getSecond</A></B>()</CODE>
+
+<BR>
+ Returns the second of this ExecutableTime object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#isNever()">isNever</A></B>()</CODE>
+
+<BR>
+ Returns whether or not the BOS restart time, represented by this
+ ExecutableTime object, is set to "<CODE>never</CODE>" or not.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#isNow()">isNow</A></B>()</CODE>
+
+<BR>
+ Returns whether or not the BOS restart time, represented by this
+ ExecutableTime object, is set to "<CODE>now</CODE>" or not.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.ExecutableTime.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the String representation of time value of this
+ <CODE>ExecutableTime</CODE> object.
+
+ </TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="NEVER"><!-- --></A><H3>
+NEVER</H3>
+<PRE>
+public static final short <B>NEVER</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.NEVER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NOW"><!-- --></A><H3>
+NOW</H3>
+<PRE>
+public static final short <B>NOW</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.NOW">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EVERYDAY"><!-- --></A><H3>
+EVERYDAY</H3>
+<PRE>
+public static final short <B>EVERYDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.EVERYDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SUNDAY"><!-- --></A><H3>
+SUNDAY</H3>
+<PRE>
+public static final short <B>SUNDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.SUNDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MONDAY"><!-- --></A><H3>
+MONDAY</H3>
+<PRE>
+public static final short <B>MONDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.MONDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TUESDAY"><!-- --></A><H3>
+TUESDAY</H3>
+<PRE>
+public static final short <B>TUESDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.TUESDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="WEDNESDAY"><!-- --></A><H3>
+WEDNESDAY</H3>
+<PRE>
+public static final short <B>WEDNESDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.WEDNESDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="THURSDAY"><!-- --></A><H3>
+THURSDAY</H3>
+<PRE>
+public static final short <B>THURSDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.THURSDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FRIDAY"><!-- --></A><H3>
+FRIDAY</H3>
+<PRE>
+public static final short <B>FRIDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.FRIDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SATURDAY"><!-- --></A><H3>
+SATURDAY</H3>
+<PRE>
+public static final short <B>SATURDAY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Server.ExecutableTime.SATURDAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="formatter"><!-- --></A><H3>
+formatter</H3>
+<PRE>
+static final <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/text/DecimalFormat.html">DecimalFormat</A> <B>formatter</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="Server.ExecutableTime()"><!-- --></A><H3>
+Server.ExecutableTime</H3>
+<PRE>
+<B>Server.ExecutableTime</B>()</PRE>
+<DL>
+<DD>Internal constructor used to construct an empty object that will
+ be passed to JNI for member synchronization of the BOS Server
+ executable time this object represents.
+<P>
+</DL>
+<HR>
+
+<A NAME="Server.ExecutableTime(short)"><!-- --></A><H3>
+Server.ExecutableTime</H3>
+<PRE>
+public <B>Server.ExecutableTime</B>(short type)
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</A></PRE>
+<DL>
+<DD>Constructs an <code>ExecutableTime</code> object that represents either
+ a "<CODE>now</CODE>" <B>or</B> "<CODE>never</CODE>" BOS Executable
+ Restart Time.
+
+ <P>Valid values for the <CODE>type</CODE> parameter are ExecutableTime.NOW
+ or ExecutableTime.NEVER. If a value other than these two is used an
+ IllegalArgumentException will be thrown.
+<P>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - either ExecutableTime.NOW or ExecutableTime.NEVER
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - If a value other than ExecutableTime.NOW or
+ ExecutableTime.NEVER is used for the <CODE>type</CODE>
+ parameter.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#isNow()"><CODE>isNow()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#isNever()"><CODE>isNever()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short, short, short)"><CODE>Server.ExecutableTime(short, short, short)</CODE></A></DL>
+<HR>
+
+<A NAME="Server.ExecutableTime(short, short, short)"><!-- --></A><H3>
+Server.ExecutableTime</H3>
+<PRE>
+public <B>Server.ExecutableTime</B>(short second,
+ short minute,
+ short hour)
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</A></PRE>
+<DL>
+<DD>Constructs an <code>ExecutableTime</code> object that may be used to
+ represent a <U>daily</U> BOS Executable Restart Time of a process.
+<P>
+<DT><B>Parameters:</B><DD><CODE>second</CODE> - the second field for this representation of a
+ BOS Server restart time value (range: 0-59)<DD><CODE>minute</CODE> - the minute field for this representation of a
+ BOS Server restart time value (range: 0-59)<DD><CODE>hour</CODE> - the hour field for this representation of a BOS
+ Server restart time value (range: 0-23)
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - If any of the parameters values are out of range
+ of their respective fields.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short, short, short, short)"><CODE>Server.ExecutableTime(short, short, short, short)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getSecond()"><CODE>getSecond()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getMinute()"><CODE>getMinute()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getHour()"><CODE>getHour()</CODE></A></DL>
+<HR>
+
+<A NAME="Server.ExecutableTime(short, short, short, short)"><!-- --></A><H3>
+Server.ExecutableTime</H3>
+<PRE>
+public <B>Server.ExecutableTime</B>(short second,
+ short minute,
+ short hour,
+ short day)</PRE>
+<DL>
+<DD>Constructs an <code>ExecutableTime</code> object that may be used to
+ represent the BOS Executable Restart Time of a process.
+<P>
+<DT><B>Parameters:</B><DD><CODE>second</CODE> - the second field for this representation of a
+ BOS Server restart time value (range: 0-59)<DD><CODE>minute</CODE> - the minute field for this representation of a
+ BOS Server restart time value (range: 0-59)<DD><CODE>hour</CODE> - the hour field for this representation of a BOS
+ Server restart time value (range: 0-23)<DD><CODE>day</CODE> - the day field for this representation of a BOS
+ Server restart time value.<BR><UL>Valid values include:
+ <CODE>ExecutableTime.EVERYDAY</CODE> (see also <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short, short, short)"><CODE>Server.ExecutableTime(short, short, short)</CODE></A>)<BR>
+ <CODE>
+ ExecutableTime.SUNDAY<BR>
+ ExecutableTime.MONDAY<BR>
+ ExecutableTime.TUESDAY<BR>
+ ExecutableTime.WEDNESDAY<BR>
+ ExecutableTime.THURSDAY<BR>
+ ExecutableTime.FRIDAY<BR>
+ ExecutableTime.SATURDAY<BR>
+ </CODE></UL>
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - If any of the parameters values are out of range
+ of their respective fields.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#Server.ExecutableTime(short, short, short)"><CODE>Server.ExecutableTime(short, short, short)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getSecond()"><CODE>getSecond()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getMinute()"><CODE>getMinute()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getHour()"><CODE>getHour()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getDay()"><CODE>getDay()</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="getSecond()"><!-- --></A><H3>
+getSecond</H3>
+<PRE>
+public short <B>getSecond</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></PRE>
+<DL>
+<DD>Returns the second of this ExecutableTime object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the second of this ExecutableTime object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></CODE> - If the executable time this object represents has a value of
+ "<CODE>now</CODE>" or "<CODE>never</CODE>".</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMinute()"><!-- --></A><H3>
+getMinute</H3>
+<PRE>
+public short <B>getMinute</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></PRE>
+<DL>
+<DD>Returns the minute of this ExecutableTime object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the minute of this ExecutableTime object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></CODE> - If the executable time this object represents has a value of
+ "<CODE>now</CODE>" or "<CODE>never</CODE>".</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHour()"><!-- --></A><H3>
+getHour</H3>
+<PRE>
+public short <B>getHour</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></PRE>
+<DL>
+<DD>Returns the hour of this ExecutableTime object, in 24 hour time.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the hour of this ExecutableTime object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></CODE> - If the executable time this object represents has a value of
+ "<CODE>now</CODE>" or "<CODE>never</CODE>".</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDay()"><!-- --></A><H3>
+getDay</H3>
+<PRE>
+public short <B>getDay</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></PRE>
+<DL>
+<DD>Returns a numeric representation of the day of this ExecutableTime
+ object. If it is daily, the value of ExecutableTime.EVERYDAY is returned.
+
+ <P>Possible return values are:<BR>
+ <CODE>
+ ExecutableTime.EVERYDAY<BR>
+ <BR>
+ ExecutableTime.SUNDAY<BR>
+ ExecutableTime.MONDAY<BR>
+ ExecutableTime.TUESDAY<BR>
+ ExecutableTime.WEDNESDAY<BR>
+ ExecutableTime.THURSDAY<BR>
+ ExecutableTime.FRIDAY<BR>
+ ExecutableTime.SATURDAY<BR>
+ </CODE>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a numeric representation of the day of this ExecutableTime
+ object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></CODE> - If the executable time this object represents has a value of
+ "<CODE>now</CODE>" or "<CODE>never</CODE>".</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDayString()"><!-- --></A><H3>
+getDayString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getDayString</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></PRE>
+<DL>
+<DD>Returns a String representation, name for the day of the week or
+ "Everyday", of this object's day property.
+
+ <P>Possible return values are:
+ <PRE>
+ Sunday
+ Monday
+ Tuesday
+ Wednesday
+ Thursday
+ Friday
+ Saturday
+
+ Everyday
+ </PRE>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the day of this ExecutableTime object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/IllegalStateException.html">IllegalStateException</A></CODE> - If the executable time this object represents has a value of
+ "<CODE>now</CODE>" or "<CODE>never</CODE>".<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html#getDay()"><CODE>getDay()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNow()"><!-- --></A><H3>
+isNow</H3>
+<PRE>
+public boolean <B>isNow</B>()</PRE>
+<DL>
+<DD>Returns whether or not the BOS restart time, represented by this
+ ExecutableTime object, is set to "<CODE>now</CODE>" or not.
+ This means that at some point in the past, when someone set it to
+ "<CODE>now</CODE>", the bosserver restarted all its processes,
+ and never again.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the restart time is "<CODE>now</CODE>"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNever()"><!-- --></A><H3>
+isNever</H3>
+<PRE>
+public boolean <B>isNever</B>()</PRE>
+<DL>
+<DD>Returns whether or not the BOS restart time, represented by this
+ ExecutableTime object, is set to "<CODE>never</CODE>" or not.
+ This means that the bosserver will never restart its processes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the restart time is "<CODE>never</CODE>"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Server.ExecutableTime)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> time)</PRE>
+<DL>
+<DD>Tests whether two <code>ExecutableTime</code> objects are equal,
+ based on a
+ comparison of each of their respective properties. If
+ "<CODE>now</CODE>" or "<CODE>never</CODE>" is set in either object,
+ only those properties are analyzed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>time</CODE> - the ExecutableTime to test against
+<DT><B>Returns:</B><DD>whether the specifed ExecutableTime is the same as this
+ ExecutableTime as defined above</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 String representation of time value of this
+ <CODE>ExecutableTime</CODE> object.
+
+ <P> Possible return values:<BR>
+ <LI> "Now"<BR>
+ <LI> "Never"<BR>
+ <LI> Day and time string in the form:<BR>
+ <CODE><day> at <hh>:<MM>[:<ss>]</CODE>
+ <BR><BR>
+
+ <B>Example Return Values:</B><PRE>
+ Sunday at 04:00
+ Sunday at 05:10:30
+ Everyday at 20:00</PRE>
+<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 String representation of this <CODE>ExecutableTime</CODE>
+ object</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Server.ExecutableTime.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Server.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Token.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>
+ <A HREF="Server.ExecutableTime.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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:38 PDT 2003 -->
+<TITLE>
+Server (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Server,Server class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Server (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Server.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Process.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.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>
+ <A HREF="Server.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Server</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.Server</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>Server</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 an AFS server. It holds information about
+ the server, such as what its processes are.
+ <BR><BR>
+
+ Constructing an instance of a <code>Server</code> does not mean an actual
+ AFS server is created and added to a cell -- on the contrary, a
+ <code>Server</code> object must be a representation of an already existing
+ AFS server. There is no way to create a new AFS server through this API.
+ See <a href="http://www.openafs.org">OpenAFS.org</a> for information on how
+ to create a new AFS server.<BR><BR>
+
+ A <code>Server</code> object may represent either an AFS file server,
+ an AFS database server, or both if the same machine serves both
+ purposes.<BR><BR>
+
+ Each <code>Server</code> object has its own individual set of
+ <code>Partition</code>s, <code>Process</code>es, and <code>Key</code>s.
+ This represents the properties and attributes of an actual AFS server.
+ <BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a Server
+ object. This example constructs a <code>Server</code> using the
+ <code>Cell</code> representing teh AFS cell to which the server belongs,
+ and prints out the names of all the partitions residing on the server.
+ <BR><BR>
+
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Partition;
+ import org.openafs.jafs.Server;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ private Server server;
+ ...
+ 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 = new Server(serverName, cell);
+
+ System.out.println("Partitions in Server " + server.getName() + ":");
+ if( server.isFileServer() ) {
+ Partition[] partitions = server.getPartitions();
+ for (int i = 0; i < partitions.length; i++) {
+ System.out.println(" -> " + partitions[i]);
+ }
+ }
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Server">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 class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- =========== 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 <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/Server.html#adminNames">adminNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#admins">admins</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#badDatabase">badDatabase</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#badFileServer">badFileServer</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#binRestartTime">binRestartTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#bosHandle">bosHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#cell">cell</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#database">database</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#fileServer">fileServer</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#genRestartTime">genRestartTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#ipAddresses">ipAddresses</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#keys">keys</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#name">name</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#partitionNames">partitionNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#partitions">partitions</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#processes">processes</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#processNames">processNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#totalFreeSpace">totalFreeSpace</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#totalQuota">totalQuota</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#totalSpace">totalSpace</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#totalUsedSpace">totalUsedSpace</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#vosHandle">vosHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/Server.html#Server(org.openafs.jafs.Cell)">Server</A></B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)</CODE>
+
+<BR>
+ Constructs a blank <code>Server</code> object instance given the cell to
+ which the server belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#Server(java.lang.String, org.openafs.jafs.Cell)">Server</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)</CODE>
+
+<BR>
+ Constructs a new <CODE>Server</CODE> object instance given the
+ name of the AFS server and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#Server(java.lang.String, org.openafs.jafs.Cell, boolean)">Server</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <CODE>Server</CODE> object instance given the name
+ of the AFS server and the AFS cell, represented by <CODE>cell</CODE>,
+ to which it belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#addAdmin(org.openafs.jafs.User)">addAdmin</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> admin)</CODE>
+
+<BR>
+ Add a bos admin to the UserList file of this server, in order to
+ given the AFS user represented by <code>admin</code> full bos
+ administrative privileges on this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#addBosAdmin(int, java.lang.String)">addBosAdmin</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> adminName)</CODE>
+
+<BR>
+ Adds the given to name to the list of bos administrators on that server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Unauthenticates all server-related tokens that have been obtained by
+ this <code>Server</code> object, and shuts this server object down.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#closeBosServerHandle(int)">closeBosServerHandle</A></B>(int bosHandle)</CODE>
+
+<BR>
+ Closes the given currently open bos server handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#closeVosServerHandle(int)">closeVosServerHandle</A></B>(int vosHandle)</CODE>
+
+<BR>
+ Closes the given currently open vos server handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#compareTo(org.openafs.jafs.Server)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Compares two Server objects respective to their names 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#equals(org.openafs.jafs.Server)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> otherServer)</CODE>
+
+<BR>
+ Tests whether two <code>Server</code> objects are equal, based on their
+ names and hosting Cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getAdminCount()">getAdminCount</A></B>()</CODE>
+
+<BR>
+ Returns the number of BOS administrators assigned to this server.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#getAdminNames()">getAdminNames</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the names of bos admins
+ associated with this <code>Server</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/User.html">User</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getAdmins()">getAdmins</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the admin <code>User</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual bos administrator of the AFS server.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBinaryRestartTime()">getBinaryRestartTime</A></B>()</CODE>
+
+<BR>
+ Returns the BOS Server's binary restart time in the form of an
+ ExecutableTime object. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBosAdminCount(int)">getBosAdminCount</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Returns the total number of BOS administrators associated with the server
+ denoted by <CODE>serverHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBosAdminsBegin(int)">getBosAdminsBegin</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Begin the process of getting the bos amdinistrators on a server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBosAdminsDone(int)">getBosAdminsDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBosAdminsNext(int, int, org.openafs.jafs.User)">getBosAdminsNext</A></B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ Returns the next bos admin of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Server.html#getBosAdminsNextString(int)">getBosAdminsNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next bos admin of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBosHandle()">getBosHandle</A></B>()</CODE>
+
+<BR>
+ Returns this server's bos handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getBosServerHandle(int, java.lang.String)">getBosServerHandle</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> serverName)</CODE>
+
+<BR>
+ Opens a server for administrative bos use, based on the cell handle
+ provided. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getCell()">getCell</A></B>()</CODE>
+
+<BR>
+ Returns the <code>Cell</code> object with which this <code>Server</code>
+ was constructed. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getGeneralRestartTime()">getGeneralRestartTime</A></B>()</CODE>
+
+<BR>
+ Returns the BOS Server's general restart time in the form of an
+ ExecutableTime object. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this <code>Server</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#getInfoKeys()">getInfoKeys</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> containing the <code>String</code>
+ representations of all the keys of this <code>Server</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#getInfoPartitions()">getInfoPartitions</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> containing the <code>String</code>
+ representations of all the partitions of this <code>Server</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Server.html#getInfoProcesses()">getInfoProcesses</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> containing the <code>String</code>
+ representations of all the processes of this <code>Server</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#getIPAddresses()">getIPAddresses</A></B>()</CODE>
+
+<BR>
+ Returns this server's IP address as a String. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Key.html">Key</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKey(int)">getKey</A></B>(int keyVersion)</CODE>
+
+<BR>
+ Retrieves the <CODE>Key</CODE> object (which is an abstract
+ representation of an actual AFS partition of this server) designated
+ by <code>nkeyVersion</code>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKeyCount()">getKeyCount</A></B>()</CODE>
+
+<BR>
+ Returns the number of keys on this server.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKeyCount(int)">getKeyCount</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Returns the total number of keys hosted by the server denoted by
+ <CODE>serverHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Key.html">Key</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKeys()">getKeys</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the <code>Key</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual AFS key of the AFS server.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKeysBegin(int)">getKeysBegin</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Begin the process of getting the keys of a server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKeysDone(int)">getKeysDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getKeysNext(int, org.openafs.jafs.Key)">getKeysNext</A></B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Key.html">Key</A> theKey)</CODE>
+
+<BR>
+ Returns the next key of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Server.html#getLog(int, java.lang.String)">getLog</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> logLocation)</CODE>
+
+<BR>
+ Retrieves a specified bos log from a server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#getLog(java.lang.String)">getLog</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> logLocation)</CODE>
+
+<BR>
+ Gets the contents of a log file, in one large <code>String</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartition(java.lang.String)">getPartition</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Retrieves the <CODE>Partition</CODE> object (which is an abstract
+ representation of an actual AFS partition of this server) designated
+ by <code>name</code> (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartitionCount()">getPartitionCount</A></B>()</CODE>
+
+<BR>
+ Returns the number of partitions on this server.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartitionCount(int, int)">getPartitionCount</A></B>(int cellHandle,
+ int serverHandle)</CODE>
+
+<BR>
+ Returns the total number of partitions hosted by the server denoted by
+ <CODE>serverHandle</CODE>, if the server is a fileserver.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#getPartitionNames()">getPartitionNames</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the names of partitions
+ associated with this <code>Server</code> (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartitions()">getPartitions</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the <code>Partition</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual AFS partition of the AFS server.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartitionsBegin(int, int)">getPartitionsBegin</A></B>(int cellHandle,
+ int serverHandle)</CODE>
+
+<BR>
+ Begin the process of getting the partitions on a server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartitionsDone(int)">getPartitionsDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getPartitionsNext(int, org.openafs.jafs.Partition)">getPartitionsNext</A></B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> thePartition)</CODE>
+
+<BR>
+ Fills the next partition object of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Server.html#getPartitionsNextString(int)">getPartitionsNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next partition of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Process.html">Process</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcess(java.lang.String)">getProcess</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Retrieves the <CODE>Process</CODE> object (which is an abstract
+ representation of an actual AFS process of this server) designated
+ by <code>name</code> (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcessCount()">getProcessCount</A></B>()</CODE>
+
+<BR>
+ Returns the number of processes hosted by this server.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcessCount(int)">getProcessCount</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Returns the total number of processes hosted by the server denoted by
+ <CODE>serverHandle</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Process.html">Process</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcesses()">getProcesses</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the <code>Process</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual AFS process of the AFS server.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcessesBegin(int)">getProcessesBegin</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Begin the process of getting the processes on a server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcessesDone(int)">getProcessesDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getProcessesNext(int, int, org.openafs.jafs.Process)">getProcessesNext</A></B>(int serverHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Process.html">Process</A> theProcess)</CODE>
+
+<BR>
+ Fills the next process object of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/Server.html#getProcessesNextString(int)">getProcessesNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next process of the server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#getProcessNames()">getProcessNames</A></B>()</CODE>
+
+<BR>
+ Retrieves an array containing all of the names of processes
+ associated with this <code>Server</code> (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getServerInfo(int, java.lang.String, org.openafs.jafs.Server)">getServerInfo</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>Server</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getTotalFreeSpace()">getTotalFreeSpace</A></B>()</CODE>
+
+<BR>
+ Returns the total free space on this server (a sum of the free space of
+ all the partitions associated with this server). </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getTotalSpace()">getTotalSpace</A></B>()</CODE>
+
+<BR>
+ Returns the total space on this server (a sum of the space of all the
+ partitions associated with this server). </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getTotalUsedSpace()">getTotalUsedSpace</A></B>()</CODE>
+
+<BR>
+ Returns the total used space on this server (a sum of the used space of
+ all the partitions associated with this server). </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getVosHandle()">getVosHandle</A></B>()</CODE>
+
+<BR>
+ Returns this server's vos handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)">getVosServerHandle</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> serverName)</CODE>
+
+<BR>
+ Opens a server for administrative vos use, based on the cell handle
+ provided. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#isBadDatabase()">isBadDatabase</A></B>()</CODE>
+
+<BR>
+ Returns whether or not this server is a database machine AND
+ either it isn't in reality (e.g. it's incorrectly configured)
+ or it's currently down.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#isBadFileServer()">isBadFileServer</A></B>()</CODE>
+
+<BR>
+ Returns whether this machine thinks it's a file server AND
+ either it isn't in reality (e.g. it's incorrectly configured)
+ or it's currently down.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#isDatabase()">isDatabase</A></B>()</CODE>
+
+<BR>
+ Returns whether or not this server is a database machine, meaning it runs
+ processes such as the "kaserver" and "vlserver", and participates in
+ elections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#isFileServer()">isFileServer</A></B>()</CODE>
+
+<BR>
+ Returns whether or not this server is a file server machine, meaning it
+ runs the "fs" process and stores AFS volumes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#reclaimServerMemory()">reclaimServerMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the server portion of the native
+ library. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this Server object instance with values
+ from the AFS server it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this Server object instance with values
+ from the AFS server it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshAdminNames()">refreshAdminNames</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of bos admin names of this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshAdmins()">refreshAdmins</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of admin <code>User</code> objects of
+ this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshBinaryRestart()">refreshBinaryRestart</A></B>()</CODE>
+
+<BR>
+ Refreshes the binary restart time fields of this <code>Server</code>
+ to reflect the current state of the AFS server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshGeneralRestart()">refreshGeneralRestart</A></B>()</CODE>
+
+<BR>
+ Refreshes the general restart time fields of this <code>Server</code>
+ to reflect the current state of the AFS server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>Server</code> to
+ reflect the current state of the AFS server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshKeys()">refreshKeys</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of <code>Key</code> objects of this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshPartitionNames()">refreshPartitionNames</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of partition names of this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshPartitions()">refreshPartitions</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of <code>Partition</code> objects
+ of this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshPartitions(boolean)">refreshPartitions</A></B>(boolean refreshVolumes)</CODE>
+
+<BR>
+ Obtains the most current list of <code>Partition</code> objects of
+ this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshProcesses()">refreshProcesses</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of <code>Process</code> objects of
+ this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#refreshProcessNames()">refreshProcessNames</A></B>()</CODE>
+
+<BR>
+ Obtains the most current list of process names of this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#removeAdmin(org.openafs.jafs.User)">removeAdmin</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> admin)</CODE>
+
+<BR>
+ Remove a bos admin from the UserList file of this server, in order to
+ take away from the AFS user represented by <code>admin</code> bos
+ administrative privileges on this machine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#removeBosAdmin(int, java.lang.String)">removeBosAdmin</A></B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> adminName)</CODE>
+
+<BR>
+ Removes the given to name from the list of bos administrators on
+ that server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#restartAllProcesses()">restartAllProcesses</A></B>()</CODE>
+
+<BR>
+ Restarts all bos processes on this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#restartAllProcesses(int, boolean)">restartAllProcesses</A></B>(int serverHandle,
+ boolean restartBosServer)</CODE>
+
+<BR>
+ Restart all server processes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#restartBosServer()">restartBosServer</A></B>()</CODE>
+
+<BR>
+ Restarts bos server and all bos processes on this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#salvage()">salvage</A></B>()</CODE>
+
+<BR>
+ Salvages (restores consistency to) this server. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#salvage(int, int, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean)">salvage</A></B>(int cellHandle,
+ int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> partitionName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volName,
+ int numSalvagers,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> tempDir,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> logFile,
+ boolean inspectAllVolumes,
+ boolean removeBadlyDamaged,
+ boolean writeInodes,
+ boolean writeRootInodes,
+ boolean forceDirectory,
+ boolean forceBlockReads)</CODE>
+
+<BR>
+ Salvages (restores consistency to) a volume, partition, or server</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#setBinaryRestartTime(org.openafs.jafs.Server.ExecutableTime)">setBinaryRestartTime</A></B>(<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> executableTime)</CODE>
+
+<BR>
+ Sets the BOS binary restart time. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#setGeneralRestartTime(org.openafs.jafs.Server.ExecutableTime)">setGeneralRestartTime</A></B>(<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> executableTime)</CODE>
+
+<BR>
+ Sets the BOS general restart time. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#startAllProcesses()">startAllProcesses</A></B>()</CODE>
+
+<BR>
+ Starts up all bos processes on this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#startAllProcesses(int)">startAllProcesses</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Start all server processes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#stopAllProcesses()">stopAllProcesses</A></B>()</CODE>
+
+<BR>
+ Stops all bos processes on this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#stopAllProcesses(int)">stopAllProcesses</A></B>(int serverHandle)</CODE>
+
+<BR>
+ Stop all server processes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#syncServer()">syncServer</A></B>()</CODE>
+
+<BR>
+ Syncs this server to the VLDB.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#syncServerWithVLDB(int, int, int)">syncServerWithVLDB</A></B>(int cellHandle,
+ int serverHandle,
+ int partition)</CODE>
+
+<BR>
+ Synchronizes a particular server with the volume location database.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#syncVLDB()">syncVLDB</A></B>()</CODE>
+
+<BR>
+ Syncs the VLDB to this server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Server.html#syncVLDBWithServer(int, int, int, boolean)">syncVLDBWithServer</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ boolean forceDeletion)</CODE>
+
+<BR>
+ Synchronizes the volume location database with a particular server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Server.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Server</CODE></TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="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="cell"><!-- --></A><H3>
+cell</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>cell</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="vosHandle"><!-- --></A><H3>
+vosHandle</H3>
+<PRE>
+protected int <B>vosHandle</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="bosHandle"><!-- --></A><H3>
+bosHandle</H3>
+<PRE>
+protected int <B>bosHandle</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="database"><!-- --></A><H3>
+database</H3>
+<PRE>
+protected boolean <B>database</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="fileServer"><!-- --></A><H3>
+fileServer</H3>
+<PRE>
+protected boolean <B>fileServer</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="badFileServer"><!-- --></A><H3>
+badFileServer</H3>
+<PRE>
+protected boolean <B>badFileServer</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="badDatabase"><!-- --></A><H3>
+badDatabase</H3>
+<PRE>
+protected boolean <B>badDatabase</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ipAddresses"><!-- --></A><H3>
+ipAddresses</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>ipAddresses</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="partitionNames"><!-- --></A><H3>
+partitionNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>partitionNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="partitions"><!-- --></A><H3>
+partitions</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>partitions</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="adminNames"><!-- --></A><H3>
+adminNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>adminNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="admins"><!-- --></A><H3>
+admins</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>admins</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="keys"><!-- --></A><H3>
+keys</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>keys</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="processNames"><!-- --></A><H3>
+processNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>processNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="processes"><!-- --></A><H3>
+processes</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>processes</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalSpace"><!-- --></A><H3>
+totalSpace</H3>
+<PRE>
+protected int <B>totalSpace</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalQuota"><!-- --></A><H3>
+totalQuota</H3>
+<PRE>
+protected int <B>totalQuota</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalFreeSpace"><!-- --></A><H3>
+totalFreeSpace</H3>
+<PRE>
+protected int <B>totalFreeSpace</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="totalUsedSpace"><!-- --></A><H3>
+totalUsedSpace</H3>
+<PRE>
+protected int <B>totalUsedSpace</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="genRestartTime"><!-- --></A><H3>
+genRestartTime</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> <B>genRestartTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="binRestartTime"><!-- --></A><H3>
+binRestartTime</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> <B>binRestartTime</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="Server(java.lang.String, org.openafs.jafs.Cell)"><!-- --></A><H3>
+Server</H3>
+<PRE>
+public <B>Server</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Server</CODE> object instance given the
+ name of the AFS server and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. This does not actually
+ create a new AFS server, it just represents an existing one.
+ If <code>name</code> is not an actual AFS server, exceptions
+ will be thrown during subsequent method invocations on this
+ object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the server to represent<DD><CODE>cell</CODE> - the cell to which the server belongs.
+<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="Server(java.lang.String, org.openafs.jafs.Cell, boolean)"><!-- --></A><H3>
+Server</H3>
+<PRE>
+public <B>Server</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Server</CODE> object instance given the name
+ of the AFS server and the AFS cell, represented by <CODE>cell</CODE>,
+ to which it belongs. This does not actually
+ create a new AFS server, it just represents an existing one.
+ If <code>name</code> is not an actual AFS server, exceptions
+ will be thrown during subsequent method invocations on this
+ object.
+
+ <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/Server.html#refresh()"><CODE>refresh()</CODE></A> method to address any
+ coherency concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the server to represent<DD><CODE>cell</CODE> - the cell to which the server belongs.<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="Server(org.openafs.jafs.Cell)"><!-- --></A><H3>
+Server</H3>
+<PRE>
+<B>Server</B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a blank <code>Server</code> object instance given the cell to
+ which the server belongs. This blank object can then be passed into
+ other methods to fill out its properties.
+<P>
+<DT><B>Parameters:</B><DD><CODE>cell</CODE> - the cell to which the server belongs.
+<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>
+
+<!-- ============ 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 Server object instance with values
+ from the AFS server it represents. All properties that have been
+ initialized and/or accessed will be renewed according to the values
+ of the AFS server this Server 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Server object instance with values
+ from the AFS server it represents. If <CODE>all</CODE> is
+ <CODE>true</CODE> then <U>all</U> of the properties of this Server
+ object instance will be set, or renewed, according to the values of the
+ AFS server 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/Server.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/Server.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>Refreshes the information fields of this <code>Server</code> to
+ reflect the current state of the AFS server. These fields include
+ the IP addresses and the fileserver types.
+<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="refreshGeneralRestart()"><!-- --></A><H3>
+refreshGeneralRestart</H3>
+<PRE>
+protected void <B>refreshGeneralRestart</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the general restart time fields of this <code>Server</code>
+ to reflect the current state of the AFS server.
+<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="refreshBinaryRestart()"><!-- --></A><H3>
+refreshBinaryRestart</H3>
+<PRE>
+protected void <B>refreshBinaryRestart</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the binary restart time fields of this <code>Server</code>
+ to reflect the current state of the AFS server.
+<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="refreshPartitions()"><!-- --></A><H3>
+refreshPartitions</H3>
+<PRE>
+protected void <B>refreshPartitions</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Partition</code> objects
+ of this server.
+<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="refreshPartitions(boolean)"><!-- --></A><H3>
+refreshPartitions</H3>
+<PRE>
+protected void <B>refreshPartitions</B>(boolean refreshVolumes)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Partition</code> objects of
+ this server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>refreshVolumes</CODE> - force all volumes contained in each
+ partition to be refreshed.
+<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="refreshPartitionNames()"><!-- --></A><H3>
+refreshPartitionNames</H3>
+<PRE>
+protected void <B>refreshPartitionNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of partition names of this server.
+<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="refreshAdminNames()"><!-- --></A><H3>
+refreshAdminNames</H3>
+<PRE>
+protected void <B>refreshAdminNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of bos admin names of this server.
+<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="refreshAdmins()"><!-- --></A><H3>
+refreshAdmins</H3>
+<PRE>
+protected void <B>refreshAdmins</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of admin <code>User</code> objects of
+ this server.
+<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="refreshKeys()"><!-- --></A><H3>
+refreshKeys</H3>
+<PRE>
+protected void <B>refreshKeys</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Key</code> objects of this server.
+<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="refreshProcessNames()"><!-- --></A><H3>
+refreshProcessNames</H3>
+<PRE>
+protected void <B>refreshProcessNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of process names of this server.
+<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="refreshProcesses()"><!-- --></A><H3>
+refreshProcesses</H3>
+<PRE>
+protected void <B>refreshProcesses</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Obtains the most current list of <code>Process</code> objects of
+ this server.
+<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="addAdmin(org.openafs.jafs.User)"><!-- --></A><H3>
+addAdmin</H3>
+<PRE>
+public void <B>addAdmin</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> admin)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Add a bos admin to the UserList file of this server, in order to
+ given the AFS user represented by <code>admin</code> full bos
+ administrative privileges on this server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>admin</CODE> - the admin to add
+<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="removeAdmin(org.openafs.jafs.User)"><!-- --></A><H3>
+removeAdmin</H3>
+<PRE>
+public void <B>removeAdmin</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> admin)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Remove a bos admin from the UserList file of this server, in order to
+ take away from the AFS user represented by <code>admin</code> bos
+ administrative privileges on this machine.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>admin</CODE> - the admin to remove
+<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="syncServer()"><!-- --></A><H3>
+syncServer</H3>
+<PRE>
+public void <B>syncServer</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Syncs this server to the VLDB.
+<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="syncVLDB()"><!-- --></A><H3>
+syncVLDB</H3>
+<PRE>
+public void <B>syncVLDB</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Syncs the VLDB to this server.
+<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="salvage()"><!-- --></A><H3>
+salvage</H3>
+<PRE>
+public void <B>salvage</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Salvages (restores consistency to) this server. Uses default values for
+ most salvager options in order to simplify the API.
+<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="startAllProcesses()"><!-- --></A><H3>
+startAllProcesses</H3>
+<PRE>
+public void <B>startAllProcesses</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Starts up all bos processes on this server.
+<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="stopAllProcesses()"><!-- --></A><H3>
+stopAllProcesses</H3>
+<PRE>
+public void <B>stopAllProcesses</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Stops all bos processes on this server.
+<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="restartAllProcesses()"><!-- --></A><H3>
+restartAllProcesses</H3>
+<PRE>
+public void <B>restartAllProcesses</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restarts all bos processes on this server.
+<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="restartBosServer()"><!-- --></A><H3>
+restartBosServer</H3>
+<PRE>
+public void <B>restartBosServer</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restarts bos server and all bos processes on this server.
+<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="getLog(java.lang.String)"><!-- --></A><H3>
+getLog</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getLog</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> logLocation)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Gets the contents of a log file, in one large <code>String</code>.
+ The log cannot be in AFS file space.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the contents of the log file
+<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 all server-related tokens that have been obtained by
+ this <code>Server</code> object, and shuts this server object down.
+ This method should only be called when this <code>Server</code> or any
+ of the objects constructed using this <code>Server</code> will not be
+ used anymore. Note that this does not effect the actual AFS server;
+ 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="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 server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this server</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCell()"><!-- --></A><H3>
+getCell</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>getCell</B>()</PRE>
+<DL>
+<DD>Returns the <code>Cell</code> object with which this <code>Server</code>
+ was constructed. It represents the actual AFS cell to which this
+ server belongs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this server's cell</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAdminCount()"><!-- --></A><H3>
+getAdminCount</H3>
+<PRE>
+public int <B>getAdminCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of BOS administrators assigned to this server.
+
+ <P>If the total list of admins or admin names have already been
+ collected (see <A HREF="../../../org/openafs/jafs/Server.html#getAdmins()"><CODE>getAdmins()</CODE></A>), then the returning value will
+ be calculated based upon the current list. Otherwise, AFS will be
+ explicitly queried for the information.
+
+ <P> The product of this method is not saved, and is recalculated
+ with every call.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of admins on this server.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs
+ in any of the associated native methods<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.html#getAdmins()"><CODE>getAdmins()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getAdminNames()"><CODE>getAdminNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAdmins()"><!-- --></A><H3>
+getAdmins</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/User.html">User</A>[] <B>getAdmins</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the admin <code>User</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual bos administrator of the AFS server.
+ 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/Server.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 admins of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAdminNames()"><!-- --></A><H3>
+getAdminNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getAdminNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of bos admins
+ associated with this <code>Server</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/Server.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 bos admin of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionCount()"><!-- --></A><H3>
+getPartitionCount</H3>
+<PRE>
+public int <B>getPartitionCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of partitions on this server.
+
+ <P>If the total list of partitions or partition names have already been
+ collected (see <A HREF="../../../org/openafs/jafs/Server.html#getPartitions()"><CODE>getPartitions()</CODE></A>), then the returning value will
+ be calculated based upon the current list. Otherwise, AFS will be
+ explicitly queried for the information.
+
+ <P> The product of this method is not saved, and is recalculated
+ with every call.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of partitions on this server.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs
+ in any of the associated native methods<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.html#getPartitions()"><CODE>getPartitions()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getPartitionNames()"><CODE>getPartitionNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartition(java.lang.String)"><!-- --></A><H3>
+getPartition</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> <B>getPartition</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>Partition</CODE> object (which is an abstract
+ representation of an actual AFS partition of this server) designated
+ by <code>name</code> (i.e. "/vicepa", etc.). If a partition by
+ that name does not actually exist in AFS on the server
+ 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 partition to retrieve
+<DT><B>Returns:</B><DD><CODE>Partition</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="getPartitions()"><!-- --></A><H3>
+getPartitions</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A>[] <B>getPartitions</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>Partition</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual AFS partition of the AFS server.
+ After this method is called once, it saves the array of
+ <code>Partition</code>s and returns that saved array on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Server.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>Partition</code> array of the <code>Partition</code>
+ objects of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionNames()"><!-- --></A><H3>
+getPartitionNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getPartitionNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of partitions
+ associated with this <code>Server</code> (i.e. "vicepa", etc.).
+ 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/Server.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 partitions of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKey(int)"><!-- --></A><H3>
+getKey</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Key.html">Key</A> <B>getKey</B>(int keyVersion)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>Key</CODE> object (which is an abstract
+ representation of an actual AFS partition of this server) designated
+ by <code>nkeyVersion</code>. If a key with
+ that version does not actually exist in AFS on the server
+ represented by this object, <code>null</code> is returned.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>keyVersion</CODE> - the version of the key to retrieve
+<DT><B>Returns:</B><DD><CODE>Key</CODE> designated by <code>keyVersion</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</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeyCount()"><!-- --></A><H3>
+getKeyCount</H3>
+<PRE>
+public int <B>getKeyCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of keys on this server.
+
+ <P>If the total list of keys has already been
+ collected (see <A HREF="../../../org/openafs/jafs/Server.html#getKeys()"><CODE>getKeys()</CODE></A>), then the returning value will
+ be calculated based upon the current list. Otherwise, AFS will be
+ explicitly queried for the information.
+
+ <P> The product of this method is not saved, and is recalculated
+ with every call.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of keys on this server.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs
+ in any of the associated native methods<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.html#getKeys()"><CODE>getKeys()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeys()"><!-- --></A><H3>
+getKeys</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Key.html">Key</A>[] <B>getKeys</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>Key</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual AFS key of the AFS server.
+ After this method is called once, it saves the array of
+ <code>Key</code>s and returns that saved array on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Server.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>Key</code> array of the <code>Key</code> objects
+ of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcess(java.lang.String)"><!-- --></A><H3>
+getProcess</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Process.html">Process</A> <B>getProcess</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves the <CODE>Process</CODE> object (which is an abstract
+ representation of an actual AFS process of this server) designated
+ by <code>name</code> (i.e. "kaserver", etc.). If a process by
+ that name does not actually exist in AFS on the server
+ 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 process to retrieve
+<DT><B>Returns:</B><DD><CODE>Process</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="getProcessCount()"><!-- --></A><H3>
+getProcessCount</H3>
+<PRE>
+public int <B>getProcessCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of processes hosted by this server.
+
+ <P>If the total list of processes or process names have already been
+ collected (see <A HREF="../../../org/openafs/jafs/Server.html#getProcesses()"><CODE>getProcesses()</CODE></A>), then the returning value will
+ be calculated based upon the current list. Otherwise, AFS will be
+ explicitly queried for the information.
+
+ <P> The product of this method is not saved, and is recalculated
+ with every call.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of processes on this server.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs
+ in any of the associated native methods<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Server.html#getProcesses()"><CODE>getProcesses()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getProcessNames()"><CODE>getProcessNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcesses()"><!-- --></A><H3>
+getProcesses</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Process.html">Process</A>[] <B>getProcesses</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the <code>Process</code> objects
+ associated with this <code>Server</code>, each of which are an abstract
+ representation of an actual AFS process of the AFS server.
+ After this method is called once, it saves the array of
+ <code>Process</code>es and returns that saved array on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Server.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>Process</code> array of the <code>Process</code>
+ objects of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessNames()"><!-- --></A><H3>
+getProcessNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getProcessNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves an array containing all of the names of processes
+ associated with this <code>Server</code> (i.e. "kaserver", etc.).
+ 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/Server.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 processes of the server.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDatabase()"><!-- --></A><H3>
+isDatabase</H3>
+<PRE>
+public boolean <B>isDatabase</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not this server is a database machine, meaning it runs
+ processes such as the "kaserver" and "vlserver", and participates in
+ elections.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this user this server is a database machine.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFileServer()"><!-- --></A><H3>
+isFileServer</H3>
+<PRE>
+public boolean <B>isFileServer</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not this server is a file server machine, meaning it
+ runs the "fs" process and stores AFS volumes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this user this server is a file server machine.
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isBadDatabase()"><!-- --></A><H3>
+isBadDatabase</H3>
+<PRE>
+public boolean <B>isBadDatabase</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not this server is a database machine AND
+ either it isn't in reality (e.g. it's incorrectly configured)
+ or it's currently down.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this server is a database machine
+ AND either it isn't in reality or it's currently down
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isBadFileServer()"><!-- --></A><H3>
+isBadFileServer</H3>
+<PRE>
+public boolean <B>isBadFileServer</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether this machine thinks it's a file server AND
+ either it isn't in reality (e.g. it's incorrectly configured)
+ or it's currently down.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this server is a file server machine AND
+ either it isn't in reality or it's currently down
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIPAddresses()"><!-- --></A><H3>
+getIPAddresses</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getIPAddresses</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns this server's IP address as a String. It returns it in
+ dotted quad notation (i.e. 123.123.123.123).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this server's IP address as a String
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGeneralRestartTime()"><!-- --></A><H3>
+getGeneralRestartTime</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> <B>getGeneralRestartTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the BOS Server's general restart time in the form of an
+ ExecutableTime object. This is the time at which the bos server
+ restarts itself and all running processes. After this method
+ is called once, it saves the time and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the general restart time
+<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/Server.ExecutableTime.html"><CODE>Server.ExecutableTime</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBinaryRestartTime()"><!-- --></A><H3>
+getBinaryRestartTime</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> <B>getBinaryRestartTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the BOS Server's binary restart time in the form of an
+ ExecutableTime object. This is the time at which all new or newly
+ modified AFS binaries are restarted. After this method
+ is called once, it saves the time and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the binary restart time
+<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/Server.ExecutableTime.html"><CODE>Server.ExecutableTime</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalSpace()"><!-- --></A><H3>
+getTotalSpace</H3>
+<PRE>
+public int <B>getTotalSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total space on this server (a sum of the space of all the
+ partitions associated with this server). If this server is not a
+ file server, zero will be returned. After this method
+ is called once, it saves the total space and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total space on this server
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalFreeSpace()"><!-- --></A><H3>
+getTotalFreeSpace</H3>
+<PRE>
+public int <B>getTotalFreeSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total free space on this server (a sum of the free space of
+ all the partitions associated with this server). If this server is not a
+ file server, zero will be returned. After this method
+ is called once, it saves the total free space and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total free space on this server
+<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/Server.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalUsedSpace()"><!-- --></A><H3>
+getTotalUsedSpace</H3>
+<PRE>
+public int <B>getTotalUsedSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total used space on this server (a sum of the used space of
+ all the partitions associated with this server). If this server is not a
+ file server, zero will be returned. After this method
+ is called once, it saves the total used space and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Server.html#refresh()"><CODE>refresh()</CODE></A> method
+ is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the total space on this partition
+<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/Server.html#getTotalSpace()"><CODE>getTotalSpace()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getTotalFreeSpace()"><CODE>getTotalFreeSpace()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVosHandle()"><!-- --></A><H3>
+getVosHandle</H3>
+<PRE>
+protected int <B>getVosHandle</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns this server's vos handle.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this server's vos 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="getBosHandle()"><!-- --></A><H3>
+getBosHandle</H3>
+<PRE>
+protected int <B>getBosHandle</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns this server's bos handle.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this server's bos 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="setGeneralRestartTime(org.openafs.jafs.Server.ExecutableTime)"><!-- --></A><H3>
+setGeneralRestartTime</H3>
+<PRE>
+public void <B>setGeneralRestartTime</B>(<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> executableTime)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the BOS general restart time. This is the time at which the bos
+ server restarts itself and all running processes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>executableTime</CODE> - Executable time object that represents what
+ the BOS Server's general restart time should be.
+<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/Server.ExecutableTime.html"><CODE>Server.ExecutableTime</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBinaryRestartTime(org.openafs.jafs.Server.ExecutableTime)"><!-- --></A><H3>
+setBinaryRestartTime</H3>
+<PRE>
+public void <B>setBinaryRestartTime</B>(<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html">Server.ExecutableTime</A> executableTime)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the BOS binary restart time. This is the time at which all new
+ or newly modified AFS binaries are restarted.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>executableTime</CODE> - Executable time object that represents what
+ the BOS Server's binary restart time should be.
+<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/Server.ExecutableTime.html"><CODE>Server.ExecutableTime</CODE></A></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>Server</code>.
+ Contains the information fields and a list of partitions, admin, and
+ processes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>Server</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoPartitions()"><!-- --></A><H3>
+getInfoPartitions</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoPartitions</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 partitions of this <code>Server</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the partitions
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Partition.html#getInfo()"><CODE>Partition.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoKeys()"><!-- --></A><H3>
+getInfoKeys</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoKeys</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 keys of this <code>Server</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the keys
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Key.html#getInfo()"><CODE>Key.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoProcesses()"><!-- --></A><H3>
+getInfoProcesses</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoProcesses</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 processes of this <code>Server</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the processes
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Process.html#getInfo()"><CODE>Process.getInfo()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.Server)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)</PRE>
+<DL>
+<DD>Compares two Server objects respective to their names 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>server</CODE> - The Server object to be compared to this
+ Server instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this Server's name, a
+ value less than zero if this Server's name is
+ lexicographically less than the argument, or a value greater
+ than zero if this Server's name 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> 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/Server.html#compareTo(org.openafs.jafs.Server)"><CODE>compareTo(Server)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Server)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Server.html">Server</A> otherServer)</PRE>
+<DL>
+<DD>Tests whether two <code>Server</code> objects are equal, based on their
+ names and hosting Cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherServer</CODE> - the Server to test
+<DT><B>Returns:</B><DD>whether the specifed Server is the same as this Server</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>Server</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>Server</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVosServerHandle(int, java.lang.String)"><!-- --></A><H3>
+getVosServerHandle</H3>
+<PRE>
+protected static int <B>getVosServerHandle</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> serverName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Opens a server for administrative vos use, based on the cell handle
+ provided. Returns a vos server handle to be used by other
+ methods as a means of identification.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - a cell handle previously returned by
+ a call to <A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A><DD><CODE>serverName</CODE> - the name of the server for which to retrieve
+ a vos handle
+<DT><B>Returns:</B><DD>a vos handle to the server
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="closeVosServerHandle(int)"><!-- --></A><H3>
+closeVosServerHandle</H3>
+<PRE>
+protected static void <B>closeVosServerHandle</B>(int vosHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Closes the given currently open vos server handle.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>vosHandle</CODE> - the vos server 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>
+<HR>
+
+<A NAME="getBosServerHandle(int, java.lang.String)"><!-- --></A><H3>
+getBosServerHandle</H3>
+<PRE>
+protected static int <B>getBosServerHandle</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> serverName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Opens a server for administrative bos use, based on the cell handle
+ provided. Returns a bos server handle to be used by other methods
+ as a means of identification.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - a cell handle previously returned by a call
+ to <A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A><DD><CODE>serverName</CODE> - the name of the server for which to retrieve
+ a bos handle
+<DT><B>Returns:</B><DD>a bos handle to the server
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="closeBosServerHandle(int)"><!-- --></A><H3>
+closeBosServerHandle</H3>
+<PRE>
+protected static void <B>closeBosServerHandle</B>(int bosHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Closes the given currently open bos server handle.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>bosHandle</CODE> - the bos server 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>
+<HR>
+
+<A NAME="getServerInfo(int, java.lang.String, org.openafs.jafs.Server)"><!-- --></A><H3>
+getServerInfo</H3>
+<PRE>
+protected static void <B>getServerInfo</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Server.html">Server</A> server)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>Server</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the server belongs<DD><CODE>name</CODE> - the name of the server for which to get the information<DD><CODE>server</CODE> - the <code>Server</code> object in which to fill in
+ the information
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html"><CODE>Server</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionCount(int, int)"><!-- --></A><H3>
+getPartitionCount</H3>
+<PRE>
+protected static int <B>getPartitionCount</B>(int cellHandle,
+ int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of partitions hosted by the server denoted by
+ <CODE>serverHandle</CODE>, if the server is a fileserver.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the server belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server to which the
+ partitions belong
+<DT><B>Returns:</B><DD>total number of partitions
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionsBegin(int, int)"><!-- --></A><H3>
+getPartitionsBegin</H3>
+<PRE>
+protected static int <B>getPartitionsBegin</B>(int cellHandle,
+ int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the partitions on a server. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getPartitionsNext</code> and <code>getPartitionsDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the server belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server to which the
+ partitions 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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionsNextString(int)"><!-- --></A><H3>
+getPartitionsNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getPartitionsNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next partition of the server. Returns <code>null</code>
+ if there are no more partitions.
+<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 partition of the server
+<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/Server.html#getPartitionsBegin(int, int)"><CODE>getPartitionsBegin(int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionsNext(int, org.openafs.jafs.Partition)"><!-- --></A><H3>
+getPartitionsNext</H3>
+<PRE>
+protected static int <B>getPartitionsNext</B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> thePartition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next partition object of the server. Returns 0 if there
+ are no more partitions, != 0 otherwise
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>thePartition</CODE> - the Partition object in which to fill the
+ values of the next partition
+<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/Server.html#getPartitionsBegin(int, int)"><CODE>getPartitionsBegin(int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartitionsDone(int)"><!-- --></A><H3>
+getPartitionsDone</H3>
+<PRE>
+protected static void <B>getPartitionsDone</B>(int 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/Server.html#getPartitionsBegin(int, int)"><CODE>getPartitionsBegin(int, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessCount(int)"><!-- --></A><H3>
+getProcessCount</H3>
+<PRE>
+protected static int <B>getProcessCount</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of processes hosted by the server denoted by
+ <CODE>serverHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the vos handle of the server to which the
+ processes belong
+<DT><B>Returns:</B><DD>total number of processes
+<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/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessesBegin(int)"><!-- --></A><H3>
+getProcessesBegin</H3>
+<PRE>
+protected static int <B>getProcessesBegin</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the processes on a server. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getProcessesNext</code> and <code>getProcessesDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ processes 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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessesNextString(int)"><!-- --></A><H3>
+getProcessesNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getProcessesNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next process of the server. Returns <code>null</code>
+ if there are no more processes.
+<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 process 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/Server.html#getProcessesBegin(int)"><CODE>getProcessesBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessesNext(int, int, org.openafs.jafs.Process)"><!-- --></A><H3>
+getProcessesNext</H3>
+<PRE>
+protected static int <B>getProcessesNext</B>(int serverHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Process.html">Process</A> theProcess)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next process object of the server. Returns 0 if there
+ are no more processes, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the handle of the BOS server that hosts the process<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theProcess</CODE> - the Process object in which to fill the
+ values of the next process
+<DT><B>Returns:</B><DD>0 if there are no more processes, != 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/Server.html#getBosHandle()"><CODE>getBosHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getProcessesBegin(int)"><CODE>getProcessesBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProcessesDone(int)"><!-- --></A><H3>
+getProcessesDone</H3>
+<PRE>
+protected static void <B>getProcessesDone</B>(int 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/Server.html#getProcessesBegin(int)"><CODE>getProcessesBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeyCount(int)"><!-- --></A><H3>
+getKeyCount</H3>
+<PRE>
+protected static int <B>getKeyCount</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of keys hosted by the server denoted by
+ <CODE>serverHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the vos handle of the server to which the
+ keys belong
+<DT><B>Returns:</B><DD>total number of keys
+<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/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeysBegin(int)"><!-- --></A><H3>
+getKeysBegin</H3>
+<PRE>
+protected static int <B>getKeysBegin</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the keys of a server. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getKeysNext</code> and <code>getKeysDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the keys 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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeysNext(int, org.openafs.jafs.Key)"><!-- --></A><H3>
+getKeysNext</H3>
+<PRE>
+protected static int <B>getKeysNext</B>(int iterationId,
+ <A HREF="../../../org/openafs/jafs/Key.html">Key</A> theKey)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next key of the server. Returns 0 if there
+ are no more keys, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theKey</CODE> - a <A HREF="../../../org/openafs/jafs/Key.html"><CODE>Key</CODE></A> object, in which to fill in the
+ properties of the next key.
+<DT><B>Returns:</B><DD>0 if there are no more keys, != 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/Server.html#getKeysBegin(int)"><CODE>getKeysBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeysDone(int)"><!-- --></A><H3>
+getKeysDone</H3>
+<PRE>
+protected static void <B>getKeysDone</B>(int 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/Server.html#getKeysBegin(int)"><CODE>getKeysBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBosAdminCount(int)"><!-- --></A><H3>
+getBosAdminCount</H3>
+<PRE>
+protected static int <B>getBosAdminCount</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of BOS administrators associated with the server
+ denoted by <CODE>serverHandle</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the vos handle of the server to which the
+ BOS admins belong
+<DT><B>Returns:</B><DD>total number of BOS administrators
+<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/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBosAdminsBegin(int)"><!-- --></A><H3>
+getBosAdminsBegin</H3>
+<PRE>
+protected static int <B>getBosAdminsBegin</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the bos amdinistrators on a server. Returns
+ an iteration ID to be used by subsequent calls to
+ <code>getBosAdminsNext</code> and <code>getBosAdminsDone</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ partitions 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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBosAdminsNextString(int)"><!-- --></A><H3>
+getBosAdminsNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getBosAdminsNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next bos admin of the server. Returns <code>null</code>
+ if there are no more admins.
+<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 admin of the server
+<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/Server.html#getBosAdminsBegin(int)"><CODE>getBosAdminsBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBosAdminsNext(int, int, org.openafs.jafs.User)"><!-- --></A><H3>
+getBosAdminsNext</H3>
+<PRE>
+protected static int <B>getBosAdminsNext</B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next bos admin of the server. Returns 0 if there
+ are no more admins, != 0 otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which these admins belong<DD><CODE>iterationId</CODE> - the iteration ID of this iteration<DD><CODE>theUser</CODE> - the user object in which to fill the values of this admin
+<DT><B>Returns:</B><DD>0 if no more admins, != 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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getBosAdminsBegin(int)"><CODE>getBosAdminsBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBosAdminsDone(int)"><!-- --></A><H3>
+getBosAdminsDone</H3>
+<PRE>
+protected static void <B>getBosAdminsDone</B>(int 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/Server.html#getBosAdminsBegin(int)"><CODE>getBosAdminsBegin(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addBosAdmin(int, java.lang.String)"><!-- --></A><H3>
+addBosAdmin</H3>
+<PRE>
+protected static void <B>addBosAdmin</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> adminName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Adds the given to name to the list of bos administrators on that server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ partitions belong<DD><CODE>adminName</CODE> - the name of the admin to add to the list
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeBosAdmin(int, java.lang.String)"><!-- --></A><H3>
+removeBosAdmin</H3>
+<PRE>
+protected static void <B>removeBosAdmin</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> adminName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Removes the given to name from the list of bos administrators on
+ that server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ partitions belong<DD><CODE>adminName</CODE> - the name of the admin to remove from the list
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="salvage(int, int, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean)"><!-- --></A><H3>
+salvage</H3>
+<PRE>
+protected static void <B>salvage</B>(int cellHandle,
+ int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> partitionName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volName,
+ int numSalvagers,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> tempDir,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> logFile,
+ boolean inspectAllVolumes,
+ boolean removeBadlyDamaged,
+ boolean writeInodes,
+ boolean writeRootInodes,
+ boolean forceDirectory,
+ boolean forceBlockReads)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Salvages (restores consistency to) a volume, partition, or server
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the bos handle of the server on which the
+ volume resides<DD><CODE>partitionName</CODE> - the name of the partition to salvage,
+ can be <code>null</code> only if volName is
+ <code>null</code><DD><CODE>volName</CODE> - the name of the volume to salvage,
+ can be <code>null</code><DD><CODE>numSalvagers</CODE> - the number of salvager processes to run in parallel<DD><CODE>tempDir</CODE> - directory to place temporary files, can be
+ <code>null</code><DD><CODE>logFile</CODE> - where salvager log will be written, can be
+ <code>null</code><DD><CODE>inspectAllVolumes</CODE> - whether or not to inspect all volumes,
+ not just those marked as active at crash<DD><CODE>removeBadlyDamaged</CODE> - whether or not to remove a volume if it's
+ badly damaged<DD><CODE>writeInodes</CODE> - whether or not to record a list of inodes modified<DD><CODE>writeRootInodes</CODE> - whether or not to record a list of AFS
+ inodes owned by root<DD><CODE>forceDirectory</CODE> - whether or not to salvage an entire directory
+ structure<DD><CODE>forceBlockReads</CODE> - whether or not to force the salvager to read
+ the partition
+ one block at a time and skip badly damaged
+ blocks. Use if partition has disk errors
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="syncServerWithVLDB(int, int, int)"><!-- --></A><H3>
+syncServerWithVLDB</H3>
+<PRE>
+protected static void <B>syncServerWithVLDB</B>(int cellHandle,
+ int serverHandle,
+ int partition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Synchronizes a particular server with the volume location database.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the server belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server<DD><CODE>partition</CODE> - the id of the partition to sync, can be -1 to ignore
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="syncVLDBWithServer(int, int, int, boolean)"><!-- --></A><H3>
+syncVLDBWithServer</H3>
+<PRE>
+protected static void <B>syncVLDBWithServer</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ boolean forceDeletion)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Synchronizes the volume location database with a particular server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the server belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server<DD><CODE>partition</CODE> - the id of the partition to sync, can be -1 to ignore<DD><CODE>forceDeletion</CODE> - whether or not to force the deletion of bad volumes
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLog(int, java.lang.String)"><!-- --></A><H3>
+getLog</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getLog</B>(int serverHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> logLocation)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Retrieves a specified bos log from a server. Right now this
+ method will simply return a huge String containing the log, but
+ hopefully we can devise a better way to make this work more efficiently.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the key belongs<DD><CODE>logLocation</CODE> - the full path and name of the desired bos log
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startAllProcesses(int)"><!-- --></A><H3>
+startAllProcesses</H3>
+<PRE>
+protected static void <B>startAllProcesses</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Start all server processes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ processes belong
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="restartAllProcesses(int, boolean)"><!-- --></A><H3>
+restartAllProcesses</H3>
+<PRE>
+protected static void <B>restartAllProcesses</B>(int serverHandle,
+ boolean restartBosServer)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restart all server processes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ processes belong<DD><CODE>restartBosServer</CODE> - whether or not to restart the bos server as well
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stopAllProcesses(int)"><!-- --></A><H3>
+stopAllProcesses</H3>
+<PRE>
+protected static void <B>stopAllProcesses</B>(int serverHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Stop all server processes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the bos handle of the server to which the
+ processes belong
+<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/Server.html#getBosServerHandle(int, java.lang.String)"><CODE>getBosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimServerMemory()"><!-- --></A><H3>
+reclaimServerMemory</H3>
+<PRE>
+protected static void <B>reclaimServerMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the server portion of the native
+ library. This method should be called when no more <code>Server</code>
+ objects are expected to be used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Server.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Process.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.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>
+ <A HREF="Server.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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:38 PDT 2003 -->
+<TITLE>
+Token (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Token,Token class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Token (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Token.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/User.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>
+ <A HREF="Token.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Token</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.Token</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>Token</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 an AFS authentication token. It conveniently
+ maintains the handle associated with token and the cell to which the token
+ is authenticated.
+ <BR><BR>
+
+ Constructing a <code>Token</code> object results in an immediate attempt to
+ authenticate the user within the specified cell. If this attempt fails, an
+ <code><A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A></code> will be thrown. Therefore, if the
+ construction of the object succeeds without an exception, then the
+ <code>Token</code> is considered authenticated.
+
+ The construction of a <code>Token</code> object acts as an entry point
+ for authentication into the AFS system. Thus, when you construct a
+ <code><A HREF="../../../org/openafs/jafs/Cell.html"><CODE>Cell</CODE></A></code> object, you must pass in an instance of a
+ <code>Token</code> that has been authenticated within the AFS cell that
+ <code><I>Cell</I></code> is intended to represent. You will only be
+ allowed to perform actions that the user, used to authenticate
+ <code>Token</code>, is authorized to perform. You must construct a
+ <code>Token</code> object before constructing a <code>Cell</code> object,
+ which is required by all other objects within this package either directly
+ or indirectly.<BR><BR>
+
+ 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>Token</code> object. It shows how to construct a <code>Cell</code>
+ using a <code>Token</code>. See <A HREF="../../../org/openafs/jafs/Cell.html"><CODE>Cell</CODE></A> for a more detailed example
+ of constructing and using a <code>Cell</code> object.<BR><BR>
+
+ <PRE>
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.Token;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ 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);
+ ...
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Token">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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#ANYUSER_PAG_ID">ANYUSER_PAG_ID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Token.html#cellName">cellName</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#errno">errno</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#pagID">pagID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#tokenHandle">tokenHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Token.html#username">username</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#Token(java.lang.String, java.lang.String, java.lang.String)">Token</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName)</CODE>
+
+<BR>
+ Constructs a new <CODE>Token</CODE> object instance given
+ the name of the AFS cell it represents and the username and password
+ of the user to be Tokend for
+ administrative access.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#Token(java.lang.String, java.lang.String, java.lang.String, boolean)">Token</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName,
+ boolean automaticallyLogin)</CODE>
+
+<BR>
+ Constructs a new <CODE>Token</CODE> object instance given
+ the name of the AFS cell it represents and the username and password
+ of the user to be Tokend for
+ administrative access.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Closes the given currently open token.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#close(int)">close</A></B>(int tokenHandle)</CODE>
+
+<BR>
+ Closes the given currently open token.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#compareTo(org.openafs.jafs.Token)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A> token)</CODE>
+
+<BR>
+ 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#equals(org.openafs.jafs.Token)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A> token)</CODE>
+
+<BR>
+ 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> <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/Token.html#getCellName()">getCellName</A></B>()</CODE>
+
+<BR>
+ Returns the name of the AFS cell that this <code>Token</code> was
+ authenticated against.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getExpiration()">getExpiration</A></B>()</CODE>
+
+<BR>
+ Gets the expiration time for a given token.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getExpiration(int)">getExpiration</A></B>(int tokenHandle)</CODE>
+
+<BR>
+ Gets the expiration time for a given token.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getHandle()">getHandle</A></B>()</CODE>
+
+<BR>
+ Returns a token handle that can be used to prove this authentication
+ later.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getToken(java.lang.String, java.lang.String, java.lang.String)">getToken</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password)</CODE>
+
+<BR>
+ Returns a token handle that can be used to prove this authentication
+ later.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Token.html#getUsername()">getUsername</A></B>()</CODE>
+
+<BR>
+ Returns the username of user to whom this token belongs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#initializeAdminClient()">initializeAdminClient</A></B>()</CODE>
+
+<BR>
+ Initialize the administrative library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#initializeUserSpace()">initializeUserSpace</A></B>()</CODE>
+
+<BR>
+ Initialize the user space AFS client (libjafs).
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#klog()">klog</A></B>()</CODE>
+
+<BR>
+ Authenticates a user in kas, and binds that authentication
+ to the current process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#klog(java.lang.String, java.lang.String, java.lang.String, int)">klog</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName,
+ int id)</CODE>
+
+<BR>
+ Authenticates a user in KAS, and binds that authentication
+ to the current thread or native process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#login()">login</A></B>()</CODE>
+
+<BR>
+ Authenticates a user in KAS, and binds that authentication
+ to the current process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#reclaimAuthMemory()">reclaimAuthMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the authentication portion of
+ the native library.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#relog(int)">relog</A></B>(int id)</CODE>
+
+<BR>
+ Authenticates a user in KAS by a previously acquired PAG ID, and binds
+ that authentication to the current thread or native process.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Inform the native library that the application is
+ shutting down and will be unloading.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Token.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Cell</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#unlog()">unlog</A></B>()</CODE>
+
+<BR>
+ Manually discards all AFS credentials associated with the bound user.</TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="ANYUSER_PAG_ID"><!-- --></A><H3>
+ANYUSER_PAG_ID</H3>
+<PRE>
+public static int <B>ANYUSER_PAG_ID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tokenHandle"><!-- --></A><H3>
+tokenHandle</H3>
+<PRE>
+protected int <B>tokenHandle</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="pagID"><!-- --></A><H3>
+pagID</H3>
+<PRE>
+protected int <B>pagID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="errno"><!-- --></A><H3>
+errno</H3>
+<PRE>
+protected int <B>errno</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="cellName"><!-- --></A><H3>
+cellName</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>cellName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="username"><!-- --></A><H3>
+username</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>username</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="Token(java.lang.String, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+Token</H3>
+<PRE>
+protected <B>Token</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName,
+ boolean automaticallyLogin)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Token</CODE> object instance given
+ the name of the AFS cell it represents and the username and password
+ of the user to be Tokend for
+ administrative access.
+<P>
+<DT><B>Parameters:</B><DD><CODE>username</CODE> - the name of the user to Token with<DD><CODE>password</CODE> - the password of that user<DD><CODE>cellName</CODE> - the name of the cell to Token into
+<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="Token(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+Token</H3>
+<PRE>
+public <B>Token</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Token</CODE> object instance given
+ the name of the AFS cell it represents and the username and password
+ of the user to be Tokend for
+ administrative access.
+<P>
+<DT><B>Parameters:</B><DD><CODE>username</CODE> - the name of the user to Token with<DD><CODE>password</CODE> - the password of that user<DD><CODE>cellName</CODE> - the name of the cell to Token into
+<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>
+
+<!-- ============ 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="getCellName()"><!-- --></A><H3>
+getCellName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getCellName</B>()</PRE>
+<DL>
+<DD>Returns the name of the AFS cell that this <code>Token</code> was
+ authenticated against.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the AFS cell associated with this <code>Token</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</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUsername()"><!-- --></A><H3>
+getUsername</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getUsername</B>()</PRE>
+<DL>
+<DD>Returns the username of user to whom this token belongs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the username of the user represented by this 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="getHandle()"><!-- --></A><H3>
+getHandle</H3>
+<PRE>
+protected int <B>getHandle</B>()</PRE>
+<DL>
+<DD>Returns a token handle that can be used to prove this authentication
+ later.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a token representing the authentication
+<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>Closes the given currently open token.
+<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="getExpiration()"><!-- --></A><H3>
+getExpiration</H3>
+<PRE>
+public long <B>getExpiration</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Gets the expiration time for a given token.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a long representing the UTC time for the token expiration
+<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="klog()"><!-- --></A><H3>
+klog</H3>
+<PRE>
+public void <B>klog</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Authenticates a user in kas, and binds that authentication
+ to the current process.
+<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="login()"><!-- --></A><H3>
+login</H3>
+<PRE>
+public void <B>login</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Authenticates a user in KAS, and binds that authentication
+ to the current process.
+<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="initializeUserSpace()"><!-- --></A><H3>
+initializeUserSpace</H3>
+<PRE>
+protected static void <B>initializeUserSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Initialize the user space AFS client (libjafs).
+
+ <P> The user space client must be initialized prior to any
+ user space related methods, including: klog, unlog, relog,
+ and shutdown.
+<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="compareTo(org.openafs.jafs.Token)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A> token)</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>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> 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/Token.html#compareTo(org.openafs.jafs.Token)"><CODE>compareTo(Token)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Token)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Token.html">Token</A> token)</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>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="initializeAdminClient()"><!-- --></A><H3>
+initializeAdminClient</H3>
+<PRE>
+protected static void <B>initializeAdminClient</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Initialize the administrative library.
+<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="getToken(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getToken</H3>
+<PRE>
+protected int <B>getToken</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns a token handle that can be used to prove this authentication
+ later.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellName</CODE> - the name of the cell in which to Token this user<DD><CODE>password</CODE> - the password of the user
+<DT><B>Returns:</B><DD>a token representing the authentication
+<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(int)"><!-- --></A><H3>
+close</H3>
+<PRE>
+protected void <B>close</B>(int tokenHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Closes the given currently open token.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tokenHandle</CODE> - the token 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>
+<HR>
+
+<A NAME="getExpiration(int)"><!-- --></A><H3>
+getExpiration</H3>
+<PRE>
+protected long <B>getExpiration</B>(int tokenHandle)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Gets the expiration time for a given token.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tokenHandle</CODE> - a token handle previously returned by a call
+ to <A HREF="../../../org/openafs/jafs/Token.html#getToken(java.lang.String, java.lang.String, java.lang.String)"><CODE>getToken(java.lang.String, java.lang.String, java.lang.String)</CODE></A>
+<DT><B>Returns:</B><DD>a long representing the UTC time for the token expiration
+<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#getToken(java.lang.String, java.lang.String, java.lang.String)"><CODE>getToken(java.lang.String, java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="klog(java.lang.String, java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+klog</H3>
+<PRE>
+protected int <B>klog</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> cellName,
+ int id)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Authenticates a user in KAS, and binds that authentication
+ to the current thread or native process.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>username</CODE> - the login to authenticate
+ (expected as username@cellname)<DD><CODE>password</CODE> - the password of the login<DD><CODE>cellName</CODE> - the name of the cell to authenticate into<DD><CODE>id</CODE> - the existing pag (or 0)
+<DT><B>Returns:</B><DD>the assigned pag
+<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="relog(int)"><!-- --></A><H3>
+relog</H3>
+<PRE>
+protected void <B>relog</B>(int id)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Authenticates a user in KAS by a previously acquired PAG ID, and binds
+ that authentication to the current thread or native process.
+
+ <P> This method does not require the user's username and password to
+ fully authenticate their request. Rather it utilizes the user's PAG ID
+ to recapture the user's existing credentials.
+
+ <P> This method is called by the public <code>klog</code> method, which
+ internally manages the PAG ID. Additionally, an application needs only
+ call <code>klog</code>, this reduces the amount of complexity and ensures
+ that <code>relog</code> is never called before a <code>klog</code>.
+<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="unlog()"><!-- --></A><H3>
+unlog</H3>
+<PRE>
+public void <B>unlog</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Manually discards all AFS credentials associated with the bound user.
+<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="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+protected static void <B>shutdown</B>()</PRE>
+<DL>
+<DD>Inform the native library that the application is
+ shutting down and will be unloading.
+
+ <p> The library will make a call informing the file server that it will
+ no longer be available for callbacks.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimAuthMemory()"><!-- --></A><H3>
+reclaimAuthMemory</H3>
+<PRE>
+protected static void <B>reclaimAuthMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the authentication portion of
+ the native library.
+ This method should be called when no more authentications are expected.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Token.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/User.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>
+ <A HREF="Token.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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:38 PDT 2003 -->
+<TITLE>
+User (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.User,User class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="User (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/User.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Token.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/VersionInfo.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>
+ <A HREF="User.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 User</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.User</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="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</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>User</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A>, <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 an AFS user. It holds information about
+ the user, such as what groups it belongs to.
+ <BR><BR>
+
+ Constructing an instance of a <code>User</code> does not mean an actual
+ AFS user is created in a cell -- usually a <code>User</code>
+ object is a representation of an already existing AFS user. If,
+ however, the <code>User</code> is constructed with the name of a
+ user that does not exist in the cell represented by the provided
+ <code>Cell</code>, a new user with that name can be
+ created in that server by calling the <A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String, int)"><CODE>create(String, int)</CODE></A> or
+ <A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String)"><CODE>create(String)</CODE></A> method. If such a user does already exist when
+ one of these methods is called, an exception will be thrown.<BR><BR>
+
+ Each <code>User</code> object has its own individual set of
+ <code>Group</code>s that it owns and <code>Group</code>s for which
+ it is a member. These represents the properties and attributes
+ of an actual AFS user.
+ <BR><BR>
+
+ Since this <code>User</code> object is a union of both the PTS and KAS
+ properties of AFS users, some methods meant for users with a PTS entry
+ will throw exceptions if used on a user with only a KAS entry, and vice
+ versa.<BR><BR>
+
+ <!--Information on how member values are set-->
+
+ Associated with an AFS user are many attributes, such as whether or not
+ it can change its own password, or who is allowed to find out the groups
+ to which this user belongs. The <code>User</code> class has many
+ "set" methods to indicate values for these attributes (i.e.
+ <A HREF="../../../org/openafs/jafs/User.html#setChangePassword(boolean)"><CODE>setChangePassword(boolean)</CODE></A> and <A HREF="../../../org/openafs/jafs/User.html#setListMembership(int)"><CODE>setListMembership(int)</CODE></A>).
+ However, in order for these values to be written to the actual AFS user,
+ the <A HREF="../../../org/openafs/jafs/User.html#flushInfo()"><CODE>flushInfo()</CODE></A> method needs to be called. This writes all user
+ attributes set through this API to AFS. This is done to minimize calls
+ through JNI.<BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a
+ <code>User</code> object. It iterates through the list of users
+ (a union of pts and kas users) for a cell, and prints out the name and
+ id of each.
+
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.User;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ ...
+ public static void main(String[] args) throws Exception
+ {
+ String username = arg[0];
+ String password = arg[1];
+ String cellName = arg[2];
+
+ token = new Token(username, password, cellName);
+ cell = new Cell(token);
+ server = cell.getServer(serverName);
+
+ System.out.println("Users in Cell " + cell.getName() + ":");
+ User[] users = cell.getUsers();
+ for (int i = 0; i < users.length; i++) {
+ System.out.println(" -> " + users[i] + ": " users[i].getID());
+ }
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.User">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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#ADMIN">ADMIN</A></B></CODE>
+
+<BR>
+ User has administrative kas privileges</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#adminSetting">adminSetting</A></B></CODE>
+
+<BR>
+ whether or not this user has kas administrative privileges.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ Whether or not the information fields of this user have been filled.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#cell">cell</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#cellHandle">cellHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#CHANGE_PASSWORD">CHANGE_PASSWORD</A></B></CODE>
+
+<BR>
+ User can change their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#cpwSetting">cpwSetting</A></B></CODE>
+
+<BR>
+ whether this user is allowed to change its password. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#creator">creator</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#creatorUID">creatorUID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#daysToPasswordExpire">daysToPasswordExpire</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#ENCRYPT">ENCRYPT</A></B></CODE>
+
+<BR>
+ TGS can use user's key for an encryption key</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#encryptionKey">encryptionKey</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#encSetting">encSetting</A></B></CODE>
+
+<BR>
+ whether the TGS can use this user's key as an encryption key. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#failLoginCount">failLoginCount</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#GRANT_TICKETS">GRANT_TICKETS</A></B></CODE>
+
+<BR>
+ TGS will grant tickets for user</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#groupCreationQuota">groupCreationQuota</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#groupMembershipCount">groupMembershipCount</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#groupNames">groupNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#groups">groups</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#groupsOwned">groupsOwned</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#groupsOwnedNames">groupsOwnedNames</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#kas">kas</A></B></CODE>
+
+<BR>
+ Does this user have a kas entry?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#keyCheckSum">keyCheckSum</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#keyVersion">keyVersion</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#lastChangePasswordTime">lastChangePasswordTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#lastChangePasswordTimeDate">lastChangePasswordTimeDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#lastModName">lastModName</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#lastModTime">lastModTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#lastModTimeDate">lastModTimeDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#listGroupsOwned">listGroupsOwned</A></B></CODE>
+
+<BR>
+ who is allowed to execute pts listowned for this user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#listMembership">listMembership</A></B></CODE>
+
+<BR>
+ who is allowed to execute pts membership for this user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#listStatus">listStatus</A></B></CODE>
+
+<BR>
+ who is allowed to execute pts examine for this user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#lockedUntil">lockedUntil</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#lockedUntilDate">lockedUntilDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#lockTime">lockTime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#maxTicketLifetime">maxTicketLifetime</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#name">name</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#nameUID">nameUID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#NO_ADMIN">NO_ADMIN</A></B></CODE>
+
+<BR>
+ User has no administrative kas privileges</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#NO_CHANGE_PASSWORD">NO_CHANGE_PASSWORD</A></B></CODE>
+
+<BR>
+ User cannot change their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#NO_ENCRYPT">NO_ENCRYPT</A></B></CODE>
+
+<BR>
+ TGS cannot use user's key for an encryption key</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#NO_GRANT_TICKETS">NO_GRANT_TICKETS</A></B></CODE>
+
+<BR>
+ TGS will not grant tickets for user</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#NO_REUSE_PASSWORD">NO_REUSE_PASSWORD</A></B></CODE>
+
+<BR>
+ User cannot reuse their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#owner">owner</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#ownerUID">ownerUID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#pts">pts</A></B></CODE>
+
+<BR>
+ Does this user have a pts entry?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#REUSE_PASSWORD">REUSE_PASSWORD</A></B></CODE>
+
+<BR>
+ User can reuse their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#rpwSetting">rpwSetting</A></B></CODE>
+
+<BR>
+ whether this user is allowed to reuse its password. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#tgsSetting">tgsSetting</A></B></CODE>
+
+<BR>
+ whether the TGS will grant tickets for this user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS">USER_ANYUSER_ACCESS</A></B></CODE>
+
+<BR>
+ Any user has access</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS">USER_OWNER_ACCESS</A></B></CODE>
+
+<BR>
+ Only the owner of the user has access</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#userExpiration">userExpiration</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#userExpirationDate">userExpirationDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.openafs.jafs.PTSEntry"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.openafs.jafs.<A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_GROUP">PTS_GROUP</A>, <A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_USER">PTS_USER</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/User.html#User(org.openafs.jafs.Cell)">User</A></B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)</CODE>
+
+<BR>
+ Constructs a blank <code>User</code> object given the cell to which
+ the user belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#User(java.lang.String, org.openafs.jafs.Cell)">User</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)</CODE>
+
+<BR>
+ Constructs a new <code>User</code> object instance given the name
+ of the AFS user and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#User(java.lang.String, org.openafs.jafs.Cell, boolean)">User</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <code>User</code> object instance given the name
+ of the AFS user and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#canChangePassword()">canChangePassword</A></B>()</CODE>
+
+<BR>
+ KAS: Returns whether or not the user can change their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#canEncrypt()">canEncrypt</A></B>()</CODE>
+
+<BR>
+ KAS: Returns whether or not TGS can use this users ticket for an encryption key</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#canReusePassword()">canReusePassword</A></B>()</CODE>
+
+<BR>
+ KAS: Returns whether or not the user can reuse their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#compareTo(org.openafs.jafs.User)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> user)</CODE>
+
+<BR>
+ Compares two User objects respective to their names 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>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#create(int, java.lang.String, java.lang.String, int)">create</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ int uid)</CODE>
+
+<BR>
+ Creates the kas and pts entries for a new user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password)</CODE>
+
+<BR>
+ Creates the kas and pts entries for a new user in this cell.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String, int)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ int uid)</CODE>
+
+<BR>
+ Creates the kas and pts entries for a new user in this cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#delete()">delete</A></B>()</CODE>
+
+<BR>
+ Deletes the pts and kas entries for a user in this cell. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#delete(int, java.lang.String)">delete</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)</CODE>
+
+<BR>
+ Deletes the pts and kas entry for a user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#equals(org.openafs.jafs.User)">equals</A></B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> otherUser)</CODE>
+
+<BR>
+ Tests whether two <code>User</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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#flushInfo()">flushInfo</A></B>()</CODE>
+
+<BR>
+ Flushes the current information of this <code>User</code> object to disk.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getCell()">getCell</A></B>()</CODE>
+
+<BR>
+ Returns the Cell this user belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getCreator()">getCreator</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the creator of this user in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getDaysToPasswordExpire()">getDaysToPasswordExpire</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the number of days a password is valid before it expires.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getEncryptionKey()">getEncryptionKey</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the encryption key, in octal form, of this user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getFailLoginCount()">getFailLoginCount</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the number of failed login attempts this user is allowed
+ before being locked out. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupCreationQuota()">getGroupCreationQuota</A></B>()</CODE>
+
+<BR>
+ PTS: Returns how many more groups this user is allowed to create</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupMembershipCount()">getGroupMembershipCount</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the number of groups to which this user belongs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getGroupNames()">getGroupNames</A></B>()</CODE>
+
+<BR>
+ PTS: Returns a <code>String</code> array of the group names
+ to which this user belongs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroups()">getGroups</A></B>()</CODE>
+
+<BR>
+ PTS: Returns an array of the <code>Group</code> objects
+ to which this user belongs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupsOwned()">getGroupsOwned</A></B>()</CODE>
+
+<BR>
+ PTS: Returns an array of the <code>Group</code> objects
+ this user owns.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedBegin(int, java.lang.String)">getGroupsOwnedBegin</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Begin the process of getting the groups that a user or group owns.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedCount()">getGroupsOwnedCount</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the total count of groups this user owns.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedCount(int, java.lang.String)">getGroupsOwnedCount</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Returns the total number of groups owned by the user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedDone(int)">getGroupsOwnedDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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> <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/User.html#getGroupsOwnedNames()">getGroupsOwnedNames</A></B>()</CODE>
+
+<BR>
+ PTS: Returns a <code>String</code> array of the group names
+ this user owns.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedNext(int, int, org.openafs.jafs.Group)">getGroupsOwnedNext</A></B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)</CODE>
+
+<BR>
+ Fills the next group object that the user or group owns. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/User.html#getGroupsOwnedNextString(int)">getGroupsOwnedNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next group the user or group owns. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this <code>User</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#getInfoGroups()">getInfoGroups</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> containing the <code>String</code>
+ representations of all the groups to which this user belongs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/User.html#getInfoGroupsOwned()">getInfoGroupsOwned</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> containing the <code>String</code>
+ representations of all the groups that this user owns.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getKeyCheckSum()">getKeyCheckSum</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the check sum of this user's key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getKeyVersion()">getKeyVersion</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the version number of the user's key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getLastChangePasswordTime()">getLastChangePasswordTime</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the last date and time (in UTC) the user changed
+ its password.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getLastChangePasswordTimeDate()">getLastChangePasswordTimeDate</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the last date and time the user changed its password.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getLastModName()">getLastModName</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the name of the user that last modified this user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getLastModTime()">getLastModTime</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the date and time (in UTC) the user's KAS entry was
+ last modified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getLastModTimeDate()">getLastModTimeDate</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the date and time the user was last modified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getListGroupsOwned()">getListGroupsOwned</A></B>()</CODE>
+
+<BR>
+ PTS: Returns who can list the groups owned (pts listowned) by this user.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getListMembership()">getListMembership</A></B>()</CODE>
+
+<BR>
+ PTS: Returns who can list the groups (pts membership) to which this
+ user belongs.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getListStatus()">getListStatus</A></B>()</CODE>
+
+<BR>
+ PTS: Returns who can list the status (pts examine) of this user.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getLockedUntil()">getLockedUntil</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the date and time (in UTC) at which the user stops
+ being locked out. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getLockedUntilDate()">getLockedUntilDate</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the date and time at which the user stops being locked out.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getLockTime()">getLockTime</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the amount of time (in seconds) a user is locked out when
+ it exceeds the maximum number of allowable failed login attempts.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getMaxTicketLifetime()">getMaxTicketLifetime</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the maximum lifetime of a ticket issued to this user
+ (in seconds).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getOwner()">getOwner</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the owner of this user in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+ Returns the type of <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> this object represents.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getUID()">getUID</A></B>()</CODE>
+
+<BR>
+ PTS: Returns the numeric AFS id of this user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getUserExpiration()">getUserExpiration</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the date and time the user expires.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#getUserExpirationDate()">getUserExpirationDate</A></B>()</CODE>
+
+<BR>
+ KAS: Returns the date and time the user expires.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getUserGroupsBegin(int, java.lang.String)">getUserGroupsBegin</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)</CODE>
+
+<BR>
+ Begin the process of getting the groups to which the user belongs.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getUserGroupsDone(int)">getUserGroupsDone</A></B>(int iterationId)</CODE>
+
+<BR>
+ 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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getUserGroupsNext(int, int, org.openafs.jafs.Group)">getUserGroupsNext</A></B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)</CODE>
+
+<BR>
+ Fills the next group object of which the user belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <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/User.html#getUserGroupsNextString(int)">getUserGroupsNextString</A></B>(int iterationId)</CODE>
+
+<BR>
+ Returns the next group to which the user belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#getUserInfo(int, java.lang.String, org.openafs.jafs.User)">getUserInfo</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> user)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>User</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#isAdmin()">isAdmin</A></B>()</CODE>
+
+<BR>
+ KAS: Returns whether or not this user has kas administrative privileges</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#isKAS()">isKAS</A></B>()</CODE>
+
+<BR>
+ Returns whether or not this user has a kas entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#isPTS()">isPTS</A></B>()</CODE>
+
+<BR>
+ Returns whether or not this user has a pts entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#reclaimUserMemory()">reclaimUserMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the user portion of the native library.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this User object instance with values from
+ the AFS user it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this User object instance with values from
+ the AFS user it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refreshGroupNames()">refreshGroupNames</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the group names to which the
+ user belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refreshGroups()">refreshGroups</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the group objects to which the
+ user belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refreshGroupsOwned()">refreshGroupsOwned</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the group objects that the user \
+ owns. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refreshGroupsOwnedNames()">refreshGroupsOwnedNames</A></B>()</CODE>
+
+<BR>
+ Refreshes the current information about the group names that the user
+ owns. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>User</code> to reflect
+ the current state of the AFS user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#rename(int, java.lang.String, java.lang.String)">rename</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> oldName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)</CODE>
+
+<BR>
+ Renames the given user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#rename(java.lang.String)">rename</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)</CODE>
+
+<BR>
+ Change the name of this user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setAdmin(boolean)">setAdmin</A></B>(boolean setting)</CODE>
+
+<BR>
+ KAS: Sets whether or not this user has kas administrative privileges</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setChangePassword(boolean)">setChangePassword</A></B>(boolean setting)</CODE>
+
+<BR>
+ KAS: Sets whether or not the user can change their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setDaysToPasswordExpire(int)">setDaysToPasswordExpire</A></B>(int days)</CODE>
+
+<BR>
+ KAS: Sets the number of days a password is valid before it expires.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setEncrypt(boolean)">setEncrypt</A></B>(boolean setting)</CODE>
+
+<BR>
+ KAS: Sets whether or not TGS can use this users ticket for an
+ encryption key</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setFailLoginCount(int)">setFailLoginCount</A></B>(int logins)</CODE>
+
+<BR>
+ KAS: Sets the number of failed login attempts this user is allowed before
+ being locked out. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setGrantTickets(boolean)">setGrantTickets</A></B>(boolean setting)</CODE>
+
+<BR>
+ KAS: Sets whether or not TGS will issue tickets for this user</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setGroupCreationQuota(int)">setGroupCreationQuota</A></B>(int quota)</CODE>
+
+<BR>
+ PTS: Sets how many more groups this user is allowed to create</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setListGroupsOwned(int)">setListGroupsOwned</A></B>(int value)</CODE>
+
+<BR>
+ PTS: Sets who can list the groups owned (pts listowned) by this user.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setListMembership(int)">setListMembership</A></B>(int value)</CODE>
+
+<BR>
+ PTS: Sets who can list the groups (pts membership) to which this
+ user belongs.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setListStatus(int)">setListStatus</A></B>(int value)</CODE>
+
+<BR>
+ PTS: Sets who can list the status (pts examine) of this user.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setLockTime(int)">setLockTime</A></B>(int seconds)</CODE>
+
+<BR>
+ KAS: Sets the amount of time (in seconds) a user is locked out when it
+ exceeds the maximum number of allowable failed login attempts.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setMaxTicketLifetime(int)">setMaxTicketLifetime</A></B>(int seconds)</CODE>
+
+<BR>
+ KAS: Sets the maximum lifetime of a ticket issued to this user
+ (in seconds).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setPassword(int, java.lang.String, java.lang.String)">setPassword</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newPassword)</CODE>
+
+<BR>
+ Sets the password of the given user. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setPassword(java.lang.String)">setPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newPassword)</CODE>
+
+<BR>
+ Sets the password of this user to something new. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setReusePassword(boolean)">setReusePassword</A></B>(boolean setting)</CODE>
+
+<BR>
+ KAS: Sets whether or not the user can reuse their password</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setUserExpiration(java.util.GregorianCalendar)">setUserExpiration</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> expirationDate)</CODE>
+
+<BR>
+ KAS: Sets the date and time the user expires.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#setUserInfo(int, java.lang.String, org.openafs.jafs.User)">setUserInfo</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)</CODE>
+
+<BR>
+ Sets the information values of this AFS user to be the parameter values.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/User.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>User</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#unlock()">unlock</A></B>()</CODE>
+
+<BR>
+ Unlocks the given user if they were locked out of the cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#unlock(int, java.lang.String)">unlock</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)</CODE>
+
+<BR>
+ Unlocks a user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/User.html#willGrantTickets()">willGrantTickets</A></B>()</CODE>
+
+<BR>
+ KAS: Returns whether or not TGS will issue tickets for this user</TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="USER_OWNER_ACCESS"><!-- --></A><H3>
+USER_OWNER_ACCESS</H3>
+<PRE>
+public static final int <B>USER_OWNER_ACCESS</B></PRE>
+<DL>
+<DD>Only the owner of the user has access
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.USER_OWNER_ACCESS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="USER_ANYUSER_ACCESS"><!-- --></A><H3>
+USER_ANYUSER_ACCESS</H3>
+<PRE>
+public static final int <B>USER_ANYUSER_ACCESS</B></PRE>
+<DL>
+<DD>Any user has access
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.USER_ANYUSER_ACCESS">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>User has administrative kas privileges
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.ADMIN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_ADMIN"><!-- --></A><H3>
+NO_ADMIN</H3>
+<PRE>
+public static final int <B>NO_ADMIN</B></PRE>
+<DL>
+<DD>User has no administrative kas privileges
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.NO_ADMIN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GRANT_TICKETS"><!-- --></A><H3>
+GRANT_TICKETS</H3>
+<PRE>
+public static final int <B>GRANT_TICKETS</B></PRE>
+<DL>
+<DD>TGS will grant tickets for user
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.GRANT_TICKETS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_GRANT_TICKETS"><!-- --></A><H3>
+NO_GRANT_TICKETS</H3>
+<PRE>
+public static final int <B>NO_GRANT_TICKETS</B></PRE>
+<DL>
+<DD>TGS will not grant tickets for user
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.NO_GRANT_TICKETS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ENCRYPT"><!-- --></A><H3>
+ENCRYPT</H3>
+<PRE>
+public static final int <B>ENCRYPT</B></PRE>
+<DL>
+<DD>TGS can use user's key for an encryption key
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.ENCRYPT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_ENCRYPT"><!-- --></A><H3>
+NO_ENCRYPT</H3>
+<PRE>
+public static final int <B>NO_ENCRYPT</B></PRE>
+<DL>
+<DD>TGS cannot use user's key for an encryption key
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.NO_ENCRYPT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CHANGE_PASSWORD"><!-- --></A><H3>
+CHANGE_PASSWORD</H3>
+<PRE>
+public static final int <B>CHANGE_PASSWORD</B></PRE>
+<DL>
+<DD>User can change their password
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.CHANGE_PASSWORD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_CHANGE_PASSWORD"><!-- --></A><H3>
+NO_CHANGE_PASSWORD</H3>
+<PRE>
+public static final int <B>NO_CHANGE_PASSWORD</B></PRE>
+<DL>
+<DD>User cannot change their password
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.NO_CHANGE_PASSWORD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="REUSE_PASSWORD"><!-- --></A><H3>
+REUSE_PASSWORD</H3>
+<PRE>
+public static final int <B>REUSE_PASSWORD</B></PRE>
+<DL>
+<DD>User can reuse their password
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.REUSE_PASSWORD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NO_REUSE_PASSWORD"><!-- --></A><H3>
+NO_REUSE_PASSWORD</H3>
+<PRE>
+public static final int <B>NO_REUSE_PASSWORD</B></PRE>
+<DL>
+<DD>User cannot reuse their password
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.User.NO_REUSE_PASSWORD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="cell"><!-- --></A><H3>
+cell</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>cell</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="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="kas"><!-- --></A><H3>
+kas</H3>
+<PRE>
+protected boolean <B>kas</B></PRE>
+<DL>
+<DD>Does this user have a kas entry?
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="pts"><!-- --></A><H3>
+pts</H3>
+<PRE>
+protected boolean <B>pts</B></PRE>
+<DL>
+<DD>Does this user have a pts entry?
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groupCreationQuota"><!-- --></A><H3>
+groupCreationQuota</H3>
+<PRE>
+protected int <B>groupCreationQuota</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groupMembershipCount"><!-- --></A><H3>
+groupMembershipCount</H3>
+<PRE>
+protected int <B>groupMembershipCount</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nameUID"><!-- --></A><H3>
+nameUID</H3>
+<PRE>
+protected int <B>nameUID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ownerUID"><!-- --></A><H3>
+ownerUID</H3>
+<PRE>
+protected int <B>ownerUID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="creatorUID"><!-- --></A><H3>
+creatorUID</H3>
+<PRE>
+protected int <B>creatorUID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listStatus"><!-- --></A><H3>
+listStatus</H3>
+<PRE>
+protected int <B>listStatus</B></PRE>
+<DL>
+<DD>who is allowed to execute pts examine for this user. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A>
+ -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A>
+ -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listGroupsOwned"><!-- --></A><H3>
+listGroupsOwned</H3>
+<PRE>
+protected int <B>listGroupsOwned</B></PRE>
+<DL>
+<DD>who is allowed to execute pts listowned for this user. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A>
+ -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A>
+ -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="listMembership"><!-- --></A><H3>
+listMembership</H3>
+<PRE>
+protected int <B>listMembership</B></PRE>
+<DL>
+<DD>who is allowed to execute pts membership for this user. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A>
+ -- only the owner has permission</li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A>
+ -- any user has permission</li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="owner"><!-- --></A><H3>
+owner</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>owner</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="creator"><!-- --></A><H3>
+creator</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>creator</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="groupsOwned"><!-- --></A><H3>
+groupsOwned</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>groupsOwned</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="groupsOwnedNames"><!-- --></A><H3>
+groupsOwnedNames</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/ArrayList.html">ArrayList</A> <B>groupsOwnedNames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="adminSetting"><!-- --></A><H3>
+adminSetting</H3>
+<PRE>
+protected int <B>adminSetting</B></PRE>
+<DL>
+<DD>whether or not this user has kas administrative privileges.
+ Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#ADMIN"><CODE>ADMIN</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#NO_ADMIN"><CODE>NO_ADMIN</CODE></A></li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tgsSetting"><!-- --></A><H3>
+tgsSetting</H3>
+<PRE>
+protected int <B>tgsSetting</B></PRE>
+<DL>
+<DD>whether the TGS will grant tickets for this user. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#GRANT_TICKETS"><CODE>GRANT_TICKETS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#NO_GRANT_TICKETS"><CODE>NO_GRANT_TICKETS</CODE></A></li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="encSetting"><!-- --></A><H3>
+encSetting</H3>
+<PRE>
+protected int <B>encSetting</B></PRE>
+<DL>
+<DD>whether the TGS can use this user's key as an encryption key. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#ENCRYPT"><CODE>ENCRYPT</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#NO_ENCRYPT"><CODE>NO_ENCRYPT</CODE></A></li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="cpwSetting"><!-- --></A><H3>
+cpwSetting</H3>
+<PRE>
+protected int <B>cpwSetting</B></PRE>
+<DL>
+<DD>whether this user is allowed to change its password. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#CHANGE_PASSWORD"><CODE>CHANGE_PASSWORD</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#NO_CHANGE_PASSWORD"><CODE>NO_CHANGE_PASSWORD</CODE></A></li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="rpwSetting"><!-- --></A><H3>
+rpwSetting</H3>
+<PRE>
+protected int <B>rpwSetting</B></PRE>
+<DL>
+<DD>whether this user is allowed to reuse its password. Valid values are:
+ <ul>
+ <li><A HREF="../../../org/openafs/jafs/User.html#REUSE_PASSWORD"><CODE>REUSE_PASSWORD</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/User.html#NO_REUSE_PASSWORD"><CODE>NO_REUSE_PASSWORD</CODE></A></li></ul>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="userExpiration"><!-- --></A><H3>
+userExpiration</H3>
+<PRE>
+protected int <B>userExpiration</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastModTime"><!-- --></A><H3>
+lastModTime</H3>
+<PRE>
+protected int <B>lastModTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastModName"><!-- --></A><H3>
+lastModName</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>lastModName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastChangePasswordTime"><!-- --></A><H3>
+lastChangePasswordTime</H3>
+<PRE>
+protected int <B>lastChangePasswordTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="maxTicketLifetime"><!-- --></A><H3>
+maxTicketLifetime</H3>
+<PRE>
+protected int <B>maxTicketLifetime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="keyVersion"><!-- --></A><H3>
+keyVersion</H3>
+<PRE>
+protected int <B>keyVersion</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="encryptionKey"><!-- --></A><H3>
+encryptionKey</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>encryptionKey</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="keyCheckSum"><!-- --></A><H3>
+keyCheckSum</H3>
+<PRE>
+protected long <B>keyCheckSum</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="daysToPasswordExpire"><!-- --></A><H3>
+daysToPasswordExpire</H3>
+<PRE>
+protected int <B>daysToPasswordExpire</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="failLoginCount"><!-- --></A><H3>
+failLoginCount</H3>
+<PRE>
+protected int <B>failLoginCount</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lockTime"><!-- --></A><H3>
+lockTime</H3>
+<PRE>
+protected int <B>lockTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lockedUntil"><!-- --></A><H3>
+lockedUntil</H3>
+<PRE>
+protected int <B>lockedUntil</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lockedUntilDate"><!-- --></A><H3>
+lockedUntilDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>lockedUntilDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="userExpirationDate"><!-- --></A><H3>
+userExpirationDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>userExpirationDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastModTimeDate"><!-- --></A><H3>
+lastModTimeDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>lastModTimeDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastChangePasswordTimeDate"><!-- --></A><H3>
+lastChangePasswordTimeDate</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>lastChangePasswordTimeDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="cachedInfo"><!-- --></A><H3>
+cachedInfo</H3>
+<PRE>
+protected boolean <B>cachedInfo</B></PRE>
+<DL>
+<DD>Whether or not the information fields of this user have been filled.
+<P>
+<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="User(java.lang.String, org.openafs.jafs.Cell)"><!-- --></A><H3>
+User</H3>
+<PRE>
+public <B>User</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <code>User</code> object instance given the name
+ of the AFS user and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. This does not actually
+ create a new AFS user, it just represents one.
+ If <code>name</code> is not an actual AFS user, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String, int)"><CODE>create(String, int)</CODE></A> or <A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String)"><CODE>create(String)</CODE></A>
+ method is explicitly called to create it.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to represent<DD><CODE>cell</CODE> - the cell to which the user belongs.
+<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="User(java.lang.String, org.openafs.jafs.Cell, boolean)"><!-- --></A><H3>
+User</H3>
+<PRE>
+public <B>User</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <code>User</code> object instance given the name
+ of the AFS user and the AFS cell, represented by
+ <CODE>cell</CODE>, to which it belongs. This does not actually
+ create a new AFS user, it just represents one.
+ If <code>name</code> is not an actual AFS user, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String, int)"><CODE>create(String, int)</CODE></A> or <A HREF="../../../org/openafs/jafs/User.html#create(java.lang.String)"><CODE>create(String)</CODE></A>
+ method is explicitly called to create it. Note that if the process
+ doesn't exist and <code>preloadAllMembers</code> is true, an exception
+ will be thrown.
+
+ <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/User.html#refresh()"><CODE>refresh()</CODE></A> method to address any coherency
+ concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the user to represent<DD><CODE>cell</CODE> - the cell to which the user belongs.<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="User(org.openafs.jafs.Cell)"><!-- --></A><H3>
+User</H3>
+<PRE>
+<B>User</B>(<A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> cell)
+throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a blank <code>User</code> object given the cell to which
+ the user belongs. This blank object can then be passed into other
+ methods to fill out its properties.
+<P>
+<DT><B>Parameters:</B><DD><CODE>cell</CODE> - the cell to which the user belongs.
+<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>
+
+<!-- ============ 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="create(java.lang.String)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public void <B>create</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates the kas and pts entries for a new user in this cell.
+ Automatically assigns a user id.
+ *
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>password</CODE> - the password for the new user
+<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="create(java.lang.String, int)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public void <B>create</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ int uid)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates the kas and pts entries for a new user in this cell.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>password</CODE> - the password for the new user<DD><CODE>uid</CODE> - the user id to assign to the new user
+<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="delete()"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes the pts and kas entries for a user in this cell. Deletes this user
+ from the membership list of the groups to which it belonged, but does not
+ delete the groups owned by this user. Also nullifies this corresponding
+ Java object.
+<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="unlock()"><!-- --></A><H3>
+unlock</H3>
+<PRE>
+public void <B>unlock</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Unlocks the given user if they were locked out of the 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="flushInfo()"><!-- --></A><H3>
+flushInfo</H3>
+<PRE>
+public void <B>flushInfo</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Flushes the current information of this <code>User</code> object to disk.
+ This will update the information of the actual AFS user to match the
+ settings that have been modified within this <code>User</code> object.
+ This function must be called before any changes made to the information
+ fields of this user will be seen by AFS.
+<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="rename(java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+public void <B>rename</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Change the name of this user. Automatically flushes the info of this
+ user in order to update kas entry of the new name. NOTE: renaming a
+ locked user will unlock that user.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newName</CODE> - the new name for this user
+<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()"><!-- --></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 User object instance with values from
+ the AFS user it represents. All properties that have been initialized
+ and/or accessed will be renewed according to the values of the AFS user
+ this User 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this User object instance with values from
+ the AFS user it represents. If <CODE>all</CODE> is <CODE>true</CODE>
+ then <U>all</U> of the properties of this User object instance will be
+ set, or renewed, according to the values of the AFS user 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/User.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/User.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>Refreshes the information fields of this <code>User</code> to reflect
+ the current state of the AFS user. Does not refresh the groups to which
+ the user belongs or groups owned by the user.
+<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>Refreshes the current information about the group names to which the
+ user belongs. Does not refresh the information fields of the user or
+ the groups owned.
+<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>Refreshes the current information about the group objects to which the
+ user belongs. Does not refresh the information fields of the user or
+ the groups owned.
+<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="refreshGroupsOwnedNames()"><!-- --></A><H3>
+refreshGroupsOwnedNames</H3>
+<PRE>
+protected void <B>refreshGroupsOwnedNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the current information about the group names that the user
+ owns. Does not refresh the information fields of the user or the groups
+ belonged to.
+<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="refreshGroupsOwned()"><!-- --></A><H3>
+refreshGroupsOwned</H3>
+<PRE>
+protected void <B>refreshGroupsOwned</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the current information about the group objects that the user \
+ owns. Does not refresh the information fields of the user or the groups
+ belonged to.
+<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="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 user.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this user</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCell()"><!-- --></A><H3>
+getCell</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>getCell</B>()</PRE>
+<DL>
+<DD>Returns the Cell this user belongs to.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getCell()">getCell</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Cell this user belongs to</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isKAS()"><!-- --></A><H3>
+isKAS</H3>
+<PRE>
+public boolean <B>isKAS</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not this user has a kas entry.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this user has a kas entry
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isPTS()"><!-- --></A><H3>
+isPTS</H3>
+<PRE>
+public boolean <B>isPTS</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns whether or not this user has a pts entry.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this user has a pts entry
+<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/User.html#refresh()"><CODE>refresh()</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>PTS: Returns an array of the <code>Group</code> objects
+ to which this user belongs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the groups to which this user belongs
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedCount()"><!-- --></A><H3>
+getGroupsOwnedCount</H3>
+<PRE>
+public int <B>getGroupsOwnedCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the total count of groups this user owns.
+
+ <P>If the total list of groups or group names have already been
+ collected (see <A HREF="../../../org/openafs/jafs/User.html#getGroupsOwned()"><CODE>getGroupsOwned()</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>total count of groups this user owns
+<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/User.html#getGroupsOwned()"><CODE>getGroupsOwned()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedNames()"><CODE>getGroupsOwnedNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwned()"><!-- --></A><H3>
+getGroupsOwned</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Group.html">Group</A>[] <B>getGroupsOwned</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns an array of the <code>Group</code> objects
+ this user owns.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the <code>Groups</code> this user owns
+<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/User.html#refresh()"><CODE>refresh()</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>PTS: Returns a <code>String</code> array of the group names
+ to which this user belongs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> array of the groups to which this
+ user belongs
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedNames()"><!-- --></A><H3>
+getGroupsOwnedNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>[] <B>getGroupsOwnedNames</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns a <code>String</code> array of the group names
+ this user owns.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> array of the groups this user owns
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUID()"><!-- --></A><H3>
+getUID</H3>
+<PRE>
+public int <B>getUID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the numeric AFS id of this user.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getUID()">getUID</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the AFS id of this user
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupCreationQuota()"><!-- --></A><H3>
+getGroupCreationQuota</H3>
+<PRE>
+public int <B>getGroupCreationQuota</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns how many more groups this user is allowed to create.
+ -1 indicates unlimited.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the group creation quota
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupMembershipCount()"><!-- --></A><H3>
+getGroupMembershipCount</H3>
+<PRE>
+public int <B>getGroupMembershipCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the number of groups to which this user belongs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the group membership count
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwner()"><!-- --></A><H3>
+getOwner</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A> <B>getOwner</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the owner of this user in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ <P>The returning object could be either a <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> or <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A>;
+ to determine what type of object the <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> represents,
+ call the <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A> method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getOwner()">getOwner</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the owner of this user
+<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/PTSEntry.html"><CODE>PTSEntry</CODE></A>,
+<A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCreator()"><!-- --></A><H3>
+getCreator</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A> <B>getCreator</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns the creator of this user in the form of a <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>.
+
+ <P>The returning object could be either a <A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A> or <A HREF="../../../org/openafs/jafs/Group.html"><CODE>Group</CODE></A>;
+ to determine what type of object the <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> represents,
+ call the <A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A> method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getCreator()">getCreator</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the creator of this user
+<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/PTSEntry.html"><CODE>PTSEntry</CODE></A>,
+<A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public short <B>getType</B>()</PRE>
+<DL>
+<DD>Returns the type of <A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A> this object represents.
+
+ <P>This method will always return <A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_USER"><CODE>PTSEntry.PTS_USER</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()">getType</A></CODE> in interface <CODE><A HREF="../../../org/openafs/jafs/PTSEntry.html">PTSEntry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of PTSEntry this object represents
+ (will always return <A HREF="../../../org/openafs/jafs/PTSEntry.html#PTS_USER"><CODE>PTSEntry.PTS_USER</CODE></A>)<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/PTSEntry.html"><CODE>PTSEntry</CODE></A>,
+<A HREF="../../../org/openafs/jafs/PTSEntry.html#getType()"><CODE>PTSEntry.getType()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getListStatus()"><!-- --></A><H3>
+getListStatus</H3>
+<PRE>
+public int <B>getListStatus</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns who can list the status (pts examine) of this user.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the status listing permission
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getListGroupsOwned()"><!-- --></A><H3>
+getListGroupsOwned</H3>
+<PRE>
+public int <B>getListGroupsOwned</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns who can list the groups owned (pts listowned) by this user.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the groups owned listing permission
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getListMembership()"><!-- --></A><H3>
+getListMembership</H3>
+<PRE>
+public int <B>getListMembership</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Returns who can list the groups (pts membership) to which this
+ user belongs.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the membership listing permission
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isAdmin()"><!-- --></A><H3>
+isAdmin</H3>
+<PRE>
+public boolean <B>isAdmin</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns whether or not this user has kas administrative privileges
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not this user has kas administrative priveleges
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="willGrantTickets()"><!-- --></A><H3>
+willGrantTickets</H3>
+<PRE>
+public boolean <B>willGrantTickets</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns whether or not TGS will issue tickets for this user
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not TGS will issue tickets for this user
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canEncrypt()"><!-- --></A><H3>
+canEncrypt</H3>
+<PRE>
+public boolean <B>canEncrypt</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns whether or not TGS can use this users ticket for an encryption key
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not TGS can use this users ticket for an encryption key
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canChangePassword()"><!-- --></A><H3>
+canChangePassword</H3>
+<PRE>
+public boolean <B>canChangePassword</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns whether or not the user can change their password
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the user can change their password
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canReusePassword()"><!-- --></A><H3>
+canReusePassword</H3>
+<PRE>
+public boolean <B>canReusePassword</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns whether or not the user can reuse their password
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether or not the user can reuse their password
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserExpiration()"><!-- --></A><H3>
+getUserExpiration</H3>
+<PRE>
+public int <B>getUserExpiration</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the date and time the user expires.
+ A <code>null</code> value indicates the user never exipres (or that
+ there is no kas entry for this user).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date and time the user expires
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserExpirationDate()"><!-- --></A><H3>
+getUserExpirationDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getUserExpirationDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the date and time the user expires.
+ A <code>null</code> value indicates the user never expires (or that
+ there is no kas entry for this user).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date and time the user expires
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastModTime()"><!-- --></A><H3>
+getLastModTime</H3>
+<PRE>
+public int <B>getLastModTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the date and time (in UTC) the user's KAS entry was
+ last modified.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date and time (in UTC) the user was last modified
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastModTimeDate()"><!-- --></A><H3>
+getLastModTimeDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLastModTimeDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the date and time the user was last modified.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date and time the user was last modified
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastModName()"><!-- --></A><H3>
+getLastModName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getLastModName</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the name of the user that last modified this user.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this user that last modified this user.
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChangePasswordTimeDate()"><!-- --></A><H3>
+getLastChangePasswordTimeDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLastChangePasswordTimeDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the last date and time the user changed its password.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the last date and time the user changed its password.
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChangePasswordTime()"><!-- --></A><H3>
+getLastChangePasswordTime</H3>
+<PRE>
+public int <B>getLastChangePasswordTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the last date and time (in UTC) the user changed
+ its password.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the last date and time (in UTC) the user changed its password.
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxTicketLifetime()"><!-- --></A><H3>
+getMaxTicketLifetime</H3>
+<PRE>
+public int <B>getMaxTicketLifetime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the maximum lifetime of a ticket issued to this user
+ (in seconds).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the maximum lifetime of a ticket issued to this user (in seconds).
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDaysToPasswordExpire()"><!-- --></A><H3>
+getDaysToPasswordExpire</H3>
+<PRE>
+public int <B>getDaysToPasswordExpire</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the number of days a password is valid before it expires.
+ A value of 0 indicates passwords never expire.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of days for which a password is valid
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFailLoginCount()"><!-- --></A><H3>
+getFailLoginCount</H3>
+<PRE>
+public int <B>getFailLoginCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the number of failed login attempts this user is allowed
+ before being locked out. A value of 0 indicates there is no limit.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of failed login attempts a user is allowed
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLockTime()"><!-- --></A><H3>
+getLockTime</H3>
+<PRE>
+public int <B>getLockTime</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the amount of time (in seconds) a user is locked out when
+ it exceeds the maximum number of allowable failed login attempts.
+ A value of 0 indicates an infinite lockout time.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of failed login attempts a user is allowed
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEncryptionKey()"><!-- --></A><H3>
+getEncryptionKey</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getEncryptionKey</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the encryption key, in octal form, of this user. An
+ example of a key in octal form is:
+ '\040\205\211\241\345\002\023\211'.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the encryption key
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeyCheckSum()"><!-- --></A><H3>
+getKeyCheckSum</H3>
+<PRE>
+public long <B>getKeyCheckSum</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the check sum of this user's key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the check sum
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getKeyVersion()"><!-- --></A><H3>
+getKeyVersion</H3>
+<PRE>
+public int <B>getKeyVersion</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the version number of the user's key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the key version
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLockedUntil()"><!-- --></A><H3>
+getLockedUntil</H3>
+<PRE>
+public int <B>getLockedUntil</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the date and time (in UTC) at which the user stops
+ being locked out. A value of 0 indicates the user is not currently
+ locked out. If the user is locked out forever, the value
+ will be equal to -1.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date and time (in UTC) at which the user stops being
+ locked out
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLockedUntilDate()"><!-- --></A><H3>
+getLockedUntilDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLockedUntilDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>KAS: Returns the date and time at which the user stops being locked out.
+ A value of <code>null</code> indicates the user is not currently locked
+ out. If the user is locked out forever, the value
+ <code>getLockedUntil().getTime().getTime()</code> will be equal to -1.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date and time at which the user stops being locked out
+<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/User.html#refresh()"><CODE>refresh()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGroupCreationQuota(int)"><!-- --></A><H3>
+setGroupCreationQuota</H3>
+<PRE>
+public void <B>setGroupCreationQuota</B>(int quota)</PRE>
+<DL>
+<DD>PTS: Sets how many more groups this user is allowed to create.
+ -1 indicates unlimited.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>quota</CODE> - the new group creation quota</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListStatus(int)"><!-- --></A><H3>
+setListStatus</H3>
+<PRE>
+public void <B>setListStatus</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Sets who can list the status (pts examine) of this user.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list status permission
+<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/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - if an invalud argument is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListGroupsOwned(int)"><!-- --></A><H3>
+setListGroupsOwned</H3>
+<PRE>
+public void <B>setListGroupsOwned</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Sets who can list the groups owned (pts listowned) by this user.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list groups owned permission
+<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/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - if an invalud argument is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setListMembership(int)"><!-- --></A><H3>
+setListMembership</H3>
+<PRE>
+public void <B>setListMembership</B>(int value)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>PTS: Sets who can list the groups (pts membership) to which this
+ user belongs.
+ Valid values are:
+ <ul>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_OWNER_ACCESS"><CODE>USER_OWNER_ACCESS</CODE></A></code>
+ -- only the owner has permission</li>
+ <li><code><A HREF="../../../org/openafs/jafs/User.html#USER_ANYUSER_ACCESS"><CODE>USER_ANYUSER_ACCESS</CODE></A></code>
+ -- any user has permission</li>
+ </ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the value of the new list membership permission
+<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/IllegalArgumentException.html">IllegalArgumentException</A></CODE> - if an invalud argument is provided</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAdmin(boolean)"><!-- --></A><H3>
+setAdmin</H3>
+<PRE>
+public void <B>setAdmin</B>(boolean setting)</PRE>
+<DL>
+<DD>KAS: Sets whether or not this user has kas administrative privileges
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not this user has kas
+ administrative privileges</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGrantTickets(boolean)"><!-- --></A><H3>
+setGrantTickets</H3>
+<PRE>
+public void <B>setGrantTickets</B>(boolean setting)</PRE>
+<DL>
+<DD>KAS: Sets whether or not TGS will issue tickets for this user
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not TGS will issue tickets for this user</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEncrypt(boolean)"><!-- --></A><H3>
+setEncrypt</H3>
+<PRE>
+public void <B>setEncrypt</B>(boolean setting)</PRE>
+<DL>
+<DD>KAS: Sets whether or not TGS can use this users ticket for an
+ encryption key
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not TGS can use this users ticket for an
+ encryption key</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setChangePassword(boolean)"><!-- --></A><H3>
+setChangePassword</H3>
+<PRE>
+public void <B>setChangePassword</B>(boolean setting)</PRE>
+<DL>
+<DD>KAS: Sets whether or not the user can change their password
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not the user can change their password</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setReusePassword(boolean)"><!-- --></A><H3>
+setReusePassword</H3>
+<PRE>
+public void <B>setReusePassword</B>(boolean setting)</PRE>
+<DL>
+<DD>KAS: Sets whether or not the user can reuse their password
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>setting</CODE> - whether or not the user can reuse their password</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUserExpiration(java.util.GregorianCalendar)"><!-- --></A><H3>
+setUserExpiration</H3>
+<PRE>
+public void <B>setUserExpiration</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> expirationDate)</PRE>
+<DL>
+<DD>KAS: Sets the date and time the user expires.
+ A <code>null</code> value indicates the user never exipres.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>expirationDate</CODE> - the date and time the user expires</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxTicketLifetime(int)"><!-- --></A><H3>
+setMaxTicketLifetime</H3>
+<PRE>
+public void <B>setMaxTicketLifetime</B>(int seconds)</PRE>
+<DL>
+<DD>KAS: Sets the maximum lifetime of a ticket issued to this user
+ (in seconds).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - the maximum lifetime of a ticket issued to this user (in seconds).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDaysToPasswordExpire(int)"><!-- --></A><H3>
+setDaysToPasswordExpire</H3>
+<PRE>
+public void <B>setDaysToPasswordExpire</B>(int days)</PRE>
+<DL>
+<DD>KAS: Sets the number of days a password is valid before it expires.
+ A value of 0 indicates passwords never expire.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>days</CODE> - the number of days for which a password is valid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFailLoginCount(int)"><!-- --></A><H3>
+setFailLoginCount</H3>
+<PRE>
+public void <B>setFailLoginCount</B>(int logins)</PRE>
+<DL>
+<DD>KAS: Sets the number of failed login attempts this user is allowed before
+ being locked out. A value of 0 indicates there is no limit.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>logins</CODE> - the number of failed login attempts a user is allowed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLockTime(int)"><!-- --></A><H3>
+setLockTime</H3>
+<PRE>
+public void <B>setLockTime</B>(int seconds)</PRE>
+<DL>
+<DD>KAS: Sets the amount of time (in seconds) a user is locked out when it
+ exceeds the maximum number of allowable failed login attempts.
+ A value of 0 indicates an infinite lockout time. Any nonzero value gets
+ rounded up to the next highest multiple of 8.5 minutes, and any value over
+ 36 hours gets rounded down to 36 hours.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - the number of failed login attempts a user is allowed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPassword(java.lang.String)"><!-- --></A><H3>
+setPassword</H3>
+<PRE>
+public void <B>setPassword</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newPassword)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the password of this user to something new. Sets the key version
+ to 0 automatically.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newPassword</CODE> - the new password for this user
+<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>User</code>.
+ Contains the information fields and groups.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>User</code></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 to which this user belongs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the groups belonged to
+<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#toString()"><CODE>Group.toString()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoGroupsOwned()"><!-- --></A><H3>
+getInfoGroupsOwned</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getInfoGroupsOwned</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 that this user owns.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the groups owned
+<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#toString()"><CODE>Group.toString()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.User)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> user)</PRE>
+<DL>
+<DD>Compares two User objects respective to their names 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>user</CODE> - The User object to be compared to this User instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this User's name, a
+ value less than zero if this User's name is
+ lexicographically less than the argument, or a value greater
+ than zero if this User's name 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> 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/User.html#compareTo(org.openafs.jafs.User)"><CODE>compareTo(User)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.User)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/User.html">User</A> otherUser)</PRE>
+<DL>
+<DD>Tests whether two <code>User</code> objects are equal, based on their
+ names.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherUser</CODE> - the user 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>User</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>User</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(int, java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+create</H3>
+<PRE>
+protected static void <B>create</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> password,
+ int uid)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates the kas and pts entries for a new user. Pass in 0 for the uid
+ if pts is to automatically assign the user id.
+<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>userName</CODE> - the name of the user to create<DD><CODE>password</CODE> - the password for the new user<DD><CODE>uid</CODE> - the user id to assign to the user (0 to have one
+ automatically assigned)
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(int, java.lang.String)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+protected static void <B>delete</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes the pts and kas entry for a user. Deletes this user from the
+ membership list of the groups to which it belonged, but does not delete
+ the groups owned by this user.
+<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>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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unlock(int, java.lang.String)"><!-- --></A><H3>
+unlock</H3>
+<PRE>
+protected static void <B>unlock</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Unlocks a user.
+<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>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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserInfo(int, java.lang.String, org.openafs.jafs.User)"><!-- --></A><H3>
+getUserInfo</H3>
+<PRE>
+protected static void <B>getUserInfo</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> user)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>User</code>.
+ Fills in values based on the current pts and kas information of the user.
+<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>name</CODE> - the name of the user for which to get the information<DD><CODE>user</CODE> - the <code>User</code> object in which to fill in the
+ information
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/User.html"><CODE>User</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUserInfo(int, java.lang.String, org.openafs.jafs.User)"><!-- --></A><H3>
+setUserInfo</H3>
+<PRE>
+protected static void <B>setUserInfo</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/User.html">User</A> theUser)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the information values of this AFS user to be the parameter values.
+ Sets both kas and pts fields.
+<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>name</CODE> - the name of the user for which to set the information<DD><CODE>theUser</CODE> - the <code>User</code> object containing the desired
+ information
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rename(int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+protected static void <B>rename</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> oldName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Renames the given user. Does not update the info fields of the kas entry
+ -- the calling code is responsible for that.
+<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>oldName</CODE> - the name of the user to rename<DD><CODE>newName</CODE> - the new name for the user
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPassword(int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+setPassword</H3>
+<PRE>
+protected static void <B>setPassword</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newPassword)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets the password of the given user. Sets the key version to 0.
+<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>userName</CODE> - the name of the user for which to set the password<DD><CODE>newPassword</CODE> - the new password for the user
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserGroupsBegin(int, java.lang.String)"><!-- --></A><H3>
+getUserGroupsBegin</H3>
+<PRE>
+protected static int <B>getUserGroupsBegin</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the groups to which the user belongs.
+ Returns an iteration ID to be used by subsequent calls to
+ <code>getUserGroupsNext</code> and <code>getUserGroupsDone</code>.
+<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>name</CODE> - the name of the user for which to get the groups
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserGroupsNextString(int)"><!-- --></A><H3>
+getUserGroupsNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getUserGroupsNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next group to which the user belongs. 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 group
+<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/User.html#getUserGroupsBegin(int, java.lang.String)"><CODE>getUserGroupsBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserGroupsNext(int, int, org.openafs.jafs.Group)"><!-- --></A><H3>
+getUserGroupsNext</H3>
+<PRE>
+protected static int <B>getUserGroupsNext</B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next group object of which the user belongs. 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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/User.html#getUserGroupsBegin(int, java.lang.String)"><CODE>getUserGroupsBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserGroupsDone(int)"><!-- --></A><H3>
+getUserGroupsDone</H3>
+<PRE>
+protected static void <B>getUserGroupsDone</B>(int 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/User.html#getUserGroupsBegin(int, java.lang.String)"><CODE>getUserGroupsBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedCount(int, java.lang.String)"><!-- --></A><H3>
+getGroupsOwnedCount</H3>
+<PRE>
+protected static int <B>getGroupsOwnedCount</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the total number of groups owned by the user.
+<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>name</CODE> - the name of the user for which to get the groups
+<DT><B>Returns:</B><DD>total number of groups owned by the user
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedBegin(int, java.lang.String)"><!-- --></A><H3>
+getGroupsOwnedBegin</H3>
+<PRE>
+protected static int <B>getGroupsOwnedBegin</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Begin the process of getting the groups that a user or group owns.
+ Returns an iteration ID to be used by subsequent calls to
+ <code>getGroupsOwnedNext</code> and <code>getGroupsOwnedDone</code>.
+<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>name</CODE> - the name of the user or group for which to get the groups
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedNextString(int)"><!-- --></A><H3>
+getGroupsOwnedNextString</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getGroupsOwnedNextString</B>(int iterationId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the next group the user or group owns. 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 group
+<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/User.html#getGroupsOwnedBegin(int, java.lang.String)"><CODE>getGroupsOwnedBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedNext(int, int, org.openafs.jafs.Group)"><!-- --></A><H3>
+getGroupsOwnedNext</H3>
+<PRE>
+protected static int <B>getGroupsOwnedNext</B>(int cellHandle,
+ int iterationId,
+ <A HREF="../../../org/openafs/jafs/Group.html">Group</A> theGroup)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills the next group object that the user or group owns. 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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/User.html#getGroupsOwnedBegin(int, java.lang.String)"><CODE>getGroupsOwnedBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGroupsOwnedDone(int)"><!-- --></A><H3>
+getGroupsOwnedDone</H3>
+<PRE>
+protected static void <B>getGroupsOwnedDone</B>(int 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/User.html#getGroupsOwnedBegin(int, java.lang.String)"><CODE>getGroupsOwnedBegin(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimUserMemory()"><!-- --></A><H3>
+reclaimUserMemory</H3>
+<PRE>
+protected static void <B>reclaimUserMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the user portion of the native library.
+ This method should be called when no more <code>Users</code> are expected
+ to be used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/User.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/Token.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/VersionInfo.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>
+ <A HREF="User.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!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 Tue Nov 11 14:14:27 PST 2003 -->
+<TITLE>
+VersionInfo (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.VersionInfo,VersionInfo class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="VersionInfo (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/VersionInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2.2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/openafs/jafs/User.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Volume.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>
+ <A HREF="VersionInfo.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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 VersionInfo</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.VersionInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public final class <B>VersionInfo</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></DL>
+
+<P>
+Class providing static methods for retrieving version information specific to
+ the JNI library.
+ <BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to use the
+ <code>VersionInfo</code> class.
+ <PRE>
+ import org.openafs.jafs.VersionInfo;
+ ...
+ public class ...
+ {
+ ...
+ public static void main(String[] args) throws Exception
+ {
+ System.out.println("Attributes of the jafs native library:");
+ System.out.println("\tDescription:\t" + VersionInfo.getDescription());
+ System.out.println("\tCompile Date:\t" + VersionInfo.getCompileDate());
+ System.out.println("\tVersion:\t" + VersionInfo.getFullVersion());
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<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><CODE><B><A HREF="../../../org/openafs/jafs/VersionInfo.html#VersionInfo()">VersionInfo</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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>static <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Date.html">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/VersionInfo.html#getBuildDate()">getBuildDate</A></B>()</CODE>
+
+<BR>
+ Returns the date, in the form of a <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Date.html"><CODE>Date</CODE></A> object,
+ representing the compile-time of the native library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/VersionInfo.html#getBuildNumber()">getBuildNumber</A></B>()</CODE>
+
+<BR>
+ Returns the build number of the native library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <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/VersionInfo.html#getBuildPlatform()">getBuildPlatform</A></B>()</CODE>
+
+<BR>
+ Returns the description of the platform that built the native library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/VersionInfo.html#getBuildTime()">getBuildTime</A></B>()</CODE>
+
+<BR>
+ Returns the date, in the form of a long value of milliseconds since
+ "epoch", representing the compile-time of the native library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <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/VersionInfo.html#getDescription()">getDescription</A></B>()</CODE>
+
+<BR>
+ Returns the compile-time description of the native library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <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/VersionInfo.html#getFullVersion()">getFullVersion</A></B>()</CODE>
+
+<BR>
+ Returns the version, in the form of "<version number>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <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/VersionInfo.html#getVersion()">getVersion</A></B>()</CODE>
+
+<BR>
+ Returns the version number of the native library.</TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="VersionInfo()"><!-- --></A><H3>
+VersionInfo</H3>
+<PRE>
+public <B>VersionInfo</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="getBuildDate()"><!-- --></A><H3>
+getBuildDate</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Date.html">Date</A> <B>getBuildDate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the date, in the form of a <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Date.html"><CODE>Date</CODE></A> object,
+ representing the compile-time of the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/Date.html"><CODE>Date</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFullVersion()"><!-- --></A><H3>
+getFullVersion</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getFullVersion</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the version, in the form of "<version number>.<build number>",
+ representing the full version and build revision of the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/VersionInfo.html#getVersion()"><CODE>getVersion()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/VersionInfo.html#getBuildNumber()"><CODE>getBuildNumber()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBuildTime()"><!-- --></A><H3>
+getBuildTime</H3>
+<PRE>
+protected static final long <B>getBuildTime</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the date, in the form of a long value of milliseconds since
+ "epoch", representing the compile-time of the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></CODE> - If an error occurs in the native code<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/VersionInfo.html#getBuildTime()"><CODE>getBuildTime()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDescription()"><!-- --></A><H3>
+getDescription</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getDescription</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the compile-time description of the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBuildNumber()"><!-- --></A><H3>
+getBuildNumber</H3>
+<PRE>
+public static final int <B>getBuildNumber</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the build number of the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVersion()"><!-- --></A><H3>
+getVersion</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getVersion</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the version number of the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></CODE> - If an error occurs in the native code</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBuildPlatform()"><!-- --></A><H3>
+getBuildPlatform</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> <B>getBuildPlatform</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</A></PRE>
+<DL>
+<DD>Returns the description of the platform that built the native library.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Exception.html">Exception</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/VersionInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2.2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/openafs/jafs/User.html"><B>PREV CLASS</B></A>
+ <A HREF="../../../org/openafs/jafs/Volume.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>
+ <A HREF="VersionInfo.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+/*
+ * @(#)VersionInfo.java 1.0 6/29/2001
+ *
+ * Copyright (c) 2001 International Business Machines Corp.
+ * All rights reserved.
+ *
+ * This software has been released under the terms of the IBM Public
+ * License. For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.openafs.jafs;
+
+import java.util.Date;
+
+/**
+ * Class providing static methods for retrieving version information specific to
+ * the JNI library.
+ * <BR><BR>
+ *
+ * <!--Example of how to use class-->
+ * The following is a simple example of how to use the
+ * <code>VersionInfo</code> class.
+ * <PRE>
+ * import org.openafs.jafs.VersionInfo;
+ * ...
+ * public class ...
+ * {
+ * ...
+ * public static void main(String[] args) throws Exception
+ * {
+ * System.out.println("Attributes of the jafs native library:");
+ * System.out.println("\tDescription:\t" + VersionInfo.getDescription());
+ * System.out.println("\tCompile Date:\t" + VersionInfo.getCompileDate());
+ * System.out.println("\tVersion Number:\t" + VersionInfo.getBuildNumber());
+ * }
+ * ...
+ * }
+ * </PRE>
+ *
+ */
+public final class VersionInfo
+{
+ /*-------------------------------------------------------------------------*/
+
+ // No constructors, this is strictly a static class
+
+ /*-------------------------------------------------------------------------*/
+
+
+ ///////////////// accessors ///////////////////////
+
+ /**
+ * Returns the date, in the form of a {@link java.util.Date} object,
+ * representing the compile-time of the native library.
+ *
+ * @see java.util.Date
+ * @exception Exception If an error occurs in the native code
+ */
+ public static final Date getBuildDate() throws Exception
+ {
+ return new Date(getBuildTime());
+ }
+
+ /**
+ * Returns the version, in the form of "<version number>.<build number>",
+ * representing the full version and build revision of the native library.
+ *
+ * @see #getVersion()
+ * @see #getBuildNumber()
+ * @exception Exception If an error occurs in the native code
+ */
+ public static final String getFullVersion() throws Exception
+ {
+ return getVersion() + "." + getBuildNumber();
+ }
+
+ /////////////// native methods ////////////////////
+
+ /**
+ * Returns the date, in the form of a long value of milliseconds since
+ * "epoch", representing the compile-time of the native library.
+ *
+ * @see #getBuildTime
+ * @exception Exception If an error occurs in the native code
+ */
+ protected static final native long getBuildTime() throws Exception;
+
+ /**
+ * Returns the compile-time description of the native library.
+ *
+ * @exception Exception If an error occurs in the native code
+ */
+ public static final native String getDescription() throws Exception;
+
+ /**
+ * Returns the build number of the native library.
+ *
+ * @exception Exception If an error occurs in the native code
+ */
+ public static final native int getBuildNumber() throws Exception;
+
+ /**
+ * Returns the version number of the native library.
+ *
+ * @exception Exception If an error occurs in the native code
+ */
+ public static final native String getVersion() throws Exception;
+
+ /**
+ * Returns the description of the platform that built the native library.
+ *
+ * @exception Exception If an error occurs in the native code
+ */
+ public static final native String getBuildPlatform() throws Exception;
+}
--- /dev/null
+<!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:39 PDT 2003 -->
+<TITLE>
+Volume (Java AFS API)
+</TITLE>
+<META NAME="keywords" CONTENT="org.openafs.jafs.Volume,Volume class">
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+</HEAD>
+<SCRIPT>
+function asd()
+{
+parent.document.title="Volume (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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Volume.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/VersionInfo.html"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="Volume.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 Volume</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.Volume</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>Volume</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 an AFS volume. It holds information about
+ the server, such as what its quota is.
+ <BR><BR>
+
+ Constructing an instance of a <code>Volume</code> does not mean an actual
+ AFS partition is created on a partition -- usually a <code>Volume</code>
+ object is a representation of an already existing AFS volume. If,
+ however, the <code>Volume</code> is constructed with the name of a
+ volume that does not exist in the cell to which the provided
+ <code>Partition</code> belongs, a new AFS volume with that name can be
+ created on that partition by calling the <A HREF="../../../org/openafs/jafs/Volume.html#create(int)"><CODE>create(int)</CODE></A> method. If
+ such a volume does already exist when this method is called, an exception
+ will be thrown.<BR><BR>
+
+ <!--Example of how to use class-->
+ The following is a simple example of how to construct and use a
+ <code>Volume</code> object. This example obtains the list of
+ <code>Volume</code> objects residing on a particular partition, and prints
+ out the name and id of each one.<BR><BR>
+
+ <PRE>
+ import org.openafs.jafs.Cell;
+ import org.openafs.jafs.AFSException;
+ import org.openafs.jafs.Partition;
+ import org.openafs.jafs.Server;
+ import org.openafs.jafs.Volume;
+ ...
+ public class ...
+ {
+ ...
+ private Cell cell;
+ private Server server;
+ private Partition partition;
+ ...
+ public static void main(String[] args) throws Exception
+ {
+ String username = arg[0];
+ String password = arg[1];
+ String cellName = arg[2];
+ String serverName = arg[3];
+ String partitionName = arg[4];
+
+ token = new Token(username, password, cellName);
+ cell = new Cell(token);
+ server = cell.getServer(serverName);
+ partition = cell.getPartition(partitionName);
+
+ System.out.println("Volumes in Partition " + partition.getName() + ":");
+ Volume[] volumes = partition.getVolumes();
+ for (int i = 0; i < volumes.length; i++) {
+ System.out.println(" -> " + volumes[i] + ": " + volumes[i].getID());
+ }
+ }
+ ...
+ }
+ </PRE>
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.openafs.jafs.Volume">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 int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#accessesSinceMidnight">accessesSinceMidnight</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#backupID">backupID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#cachedInfo">cachedInfo</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#cell">cell</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#copyCreationDate">copyCreationDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Volume.html#copyCreationDateCal">copyCreationDateCal</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#creationDate">creationDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Volume.html#creationDateCal">creationDateCal</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#currentSize">currentSize</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#disposition">disposition</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#fileCount">fileCount</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#id">id</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#lastAccessDate">lastAccessDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#lastBackupDate">lastBackupDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#lastUpdateDate">lastUpdateDate</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Volume.html#lastUpdateDateCal">lastUpdateDateCal</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#maxQuota">maxQuota</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Volume.html#name">name</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#partition">partition</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#readOnlyID">readOnlyID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#readWriteID">readWriteID</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#server">server</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#status">status</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#type">type</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_BUSY">VOLUME_BUSY</A></B></CODE>
+
+<BR>
+ Status/disposition busy</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_DISK_FULL">VOLUME_DISK_FULL</A></B></CODE>
+
+<BR>
+ Status/disposition disk full</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_MOVED">VOLUME_MOVED</A></B></CODE>
+
+<BR>
+ Status/disposition moved</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_SERVICE">VOLUME_NO_SERVICE</A></B></CODE>
+
+<BR>
+ Status/disposition no service</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_VNODE">VOLUME_NO_VNODE</A></B></CODE>
+
+<BR>
+ Status/disposition no vnode</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_VOL">VOLUME_NO_VOL</A></B></CODE>
+
+<BR>
+ Status/disposition no volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OFFLINE">VOLUME_OFFLINE</A></B></CODE>
+
+<BR>
+ Status/disposition offline</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OK">VOLUME_OK</A></B></CODE>
+
+<BR>
+ Status/disposition ok</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_ONLINE">VOLUME_ONLINE</A></B></CODE>
+
+<BR>
+ Status/disposition online</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OVER_QUOTA">VOLUME_OVER_QUOTA</A></B></CODE>
+
+<BR>
+ Status/disposition over quota</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_SALVAGE">VOLUME_SALVAGE</A></B></CODE>
+
+<BR>
+ Status/disposition salvage</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_TYPE_BACKUP">VOLUME_TYPE_BACKUP</A></B></CODE>
+
+<BR>
+ Backup volume type</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_TYPE_READ_ONLY">VOLUME_TYPE_READ_ONLY</A></B></CODE>
+
+<BR>
+ Read-only volume type</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_TYPE_READ_WRITE">VOLUME_TYPE_READ_WRITE</A></B></CODE>
+
+<BR>
+ Read-write volume type</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_VOL_EXISTS">VOLUME_VOL_EXISTS</A></B></CODE>
+
+<BR>
+ Status/disposition volume exists</TD>
+</TR>
+</TABLE>
+
+<!-- ======== 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/Volume.html#Volume(org.openafs.jafs.Partition)">Volume</A></B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition)</CODE>
+
+<BR>
+ Creates a blank <code>Volume</code> given the cell to which the volume
+ belongs, the server on which the partition resides, and
+ the partition on which the volume resides. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#Volume(java.lang.String, org.openafs.jafs.Partition)">Volume</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition)</CODE>
+
+<BR>
+ Constructs a new <CODE>Volume</CODE> object instance given the name of
+ the AFS volume and the AFS cell, represented by <CODE>partition</CODE>,
+ to which it belongs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#Volume(java.lang.String, org.openafs.jafs.Partition, boolean)">Volume</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition,
+ boolean preloadAllMembers)</CODE>
+
+<BR>
+ Constructs a new <CODE>Volume</CODE> object instance given the name of
+ the AFS volume and the AFS partition, represented by
+ <CODE>partition</CODE>, to which it belongs. </TD>
+</TR>
+</TABLE>
+
+<!-- ========== 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>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#changeQuota(int, int, int, int, int)">changeQuota</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ int newQuota)</CODE>
+
+<BR>
+ Changes the quota of the specified volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.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> obj)</CODE>
+
+<BR>
+ Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#compareTo(org.openafs.jafs.Volume)">compareTo</A></B>(<A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> volume)</CODE>
+
+<BR>
+ Compares two Volume objects respective to their names 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> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#create(int)">create</A></B>(int quota)</CODE>
+
+<BR>
+ Creates a new volume on the server and partition given upon construction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#create(int, int, int, java.lang.String, int)">create</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volumeName,
+ int quota)</CODE>
+
+<BR>
+ Creates a volume on a particular partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#createBackup()">createBackup</A></B>()</CODE>
+
+<BR>
+ Creates a backup volume for this volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#createBackupVolume(int, int)">createBackupVolume</A></B>(int cellHandle,
+ int volId)</CODE>
+
+<BR>
+ Creates a backup volume for the specified regular volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#createMountPoint(java.lang.String)">createMountPoint</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> directory)</CODE>
+
+<BR>
+ Creates a read-write mount point for this volume. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#createMountPoint(java.lang.String, boolean)">createMountPoint</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> directory,
+ boolean readWrite)</CODE>
+
+<BR>
+ Creates a mount point for this volume. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#createReadOnly(org.openafs.jafs.Partition)">createReadOnly</A></B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> sitePartition)</CODE>
+
+<BR>
+ Creates a readonly site for this volume on the specified server and
+ partition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#createReadOnlyVolume(int, int, int, int)">createReadOnlyVolume</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId)</CODE>
+
+<BR>
+ Creates a read-only volume for the specified regular volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#delete()">delete</A></B>()</CODE>
+
+<BR>
+ Deletes the volume from the cell.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#delete(int, int, int, int)">delete</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId)</CODE>
+
+<BR>
+ Deletes a volume from a particular partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#deleteReadOnlyVolume(int, int, int, int)">deleteReadOnlyVolume</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId)</CODE>
+
+<BR>
+ Deletes a read-only volume for the specified regular volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#dump(int, int, int, int, int, java.lang.String)">dump</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ int startTime,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> dumpFile)</CODE>
+
+<BR>
+ Dumps the specified volume to a file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#dump(java.lang.String)">dump</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName)</CODE>
+
+<BR>
+ Dumps this volume to a file. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#dump(java.lang.String, java.util.GregorianCalendar)">dump</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> dumpSince)</CODE>
+
+<BR>
+ Dumps this volume to a file. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#equals(org.openafs.jafs.Volume)">equals</A></B>(<A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> otherVolume)</CODE>
+
+<BR>
+ Tests whether two <code>Volume</code> objects are equal, based on their
+ names and hosting partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getAccessesSinceMidnight()">getAccessesSinceMidnight</A></B>()</CODE>
+
+<BR>
+ Returns the number of accesses since midnight.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getBackupID()">getBackupID</A></B>()</CODE>
+
+<BR>
+ Returns the backup ID of this volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Volume.html#getCopyCreationDate()">getCopyCreationDate</A></B>()</CODE>
+
+<BR>
+ Returns the date the volume was copied.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Volume.html#getCreationDate()">getCreationDate</A></B>()</CODE>
+
+<BR>
+ Returns the date the volume was created</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getCurrentSize()">getCurrentSize</A></B>()</CODE>
+
+<BR>
+ Returns current volume size in K.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getDisposition()">getDisposition</A></B>()</CODE>
+
+<BR>
+ Returns volume disposition. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getFileCount()">getFileCount</A></B>()</CODE>
+
+<BR>
+ Returns file count.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getID()">getID</A></B>()</CODE>
+
+<BR>
+ Returns the id of this volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <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/Volume.html#getInfo()">getInfo</A></B>()</CODE>
+
+<BR>
+ Returns a <code>String</code> representation of this <code>Volume</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Volume.html#getLastUpdateDate()">getLastUpdateDate</A></B>()</CODE>
+
+<BR>
+ Returns the date the volume was last updated.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Volume.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ Returns the name of this volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getPartition()">getPartition</A></B>()</CODE>
+
+<BR>
+ Returns this volume's hosting partition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getQuota()">getQuota</A></B>()</CODE>
+
+<BR>
+ Returns this volume's quota, expressed in kilobyte blocks (1024
+ kilobyte blocks equal one megabyte). </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getReadOnlyID()">getReadOnlyID</A></B>()</CODE>
+
+<BR>
+ Returns the read-only ID of this volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getReadWriteID()">getReadWriteID</A></B>()</CODE>
+
+<BR>
+ Returns the read-write ID of this volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getStatus()">getStatus</A></B>()</CODE>
+
+<BR>
+ Returns volume status. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getTotalFreeSpace()">getTotalFreeSpace</A></B>()</CODE>
+
+<BR>
+ Returns the difference between quota and current volume size (in K).
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+ Returns volume type. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#getVolumeInfo(int, int, int, int, org.openafs.jafs.Volume)">getVolumeInfo</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> theVolume)</CODE>
+
+<BR>
+ Fills in the information fields of the provided <code>Volume</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#isQuotaUnlimited()">isQuotaUnlimited</A></B>()</CODE>
+
+<BR>
+ Tests whether this volume's quota is configured as unlimited.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#lock()">lock</A></B>()</CODE>
+
+<BR>
+ Locks the VLDB enrty for this volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#lock(int, int)">lock</A></B>(int cellHandle,
+ int volId)</CODE>
+
+<BR>
+ Locks the VLDB entry specified volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#mount()">mount</A></B>()</CODE>
+
+<BR>
+ Mounts this volume, bringing it online and making it accessible.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#mount(int, int, int, int, boolean)">mount</A></B>(int serverHandle,
+ int partition,
+ int volId,
+ int sleepTime,
+ boolean offline)</CODE>
+
+<BR>
+ "Mounts" the specified volume, bringing it online.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#move(int, int, int, int, int, int)">move</A></B>(int cellHandle,
+ int fromServerHandle,
+ int fromPartition,
+ int toServerHandle,
+ int toPartition,
+ int volId)</CODE>
+
+<BR>
+ Move the specified volume to a different site.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#moveTo(org.openafs.jafs.Partition)">moveTo</A></B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> newPartition)</CODE>
+
+<BR>
+ Moves this volume to the specified partition (which indirectly
+ specifies a new server, as well). </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#reclaimVolumeMemory()">reclaimVolumeMemory</A></B>()</CODE>
+
+<BR>
+ Reclaims all memory being saved by the volume portion of the native
+ library. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+ Refreshes the properties of this Volume object instance with values from
+ the AFS volume it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#refresh(boolean)">refresh</A></B>(boolean all)</CODE>
+
+<BR>
+ Refreshes the properties of this Volume object instance with values from
+ the AFS volume it represents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#refreshInfo()">refreshInfo</A></B>()</CODE>
+
+<BR>
+ Refreshes the information fields of this <code>Volume</code> to reflect
+ the current state of the AFS volume. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#release()">release</A></B>()</CODE>
+
+<BR>
+ Releases this volume, which updates the read-only copies of it.
+
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#release(boolean)">release</A></B>(boolean forceComplete)</CODE>
+
+<BR>
+ Releases this volume, which updates the read-only copies of it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#release(int, int, boolean)">release</A></B>(int cellHandle,
+ int volId,
+ boolean forceComplete)</CODE>
+
+<BR>
+ Releases the specified volume that has readonly volume sites.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#rename(int, int, java.lang.String)">rename</A></B>(int cellHandle,
+ int volId,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newVolumeName)</CODE>
+
+<BR>
+ Renames the specified read-write volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#rename(java.lang.String)">rename</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)</CODE>
+
+<BR>
+ Renames this volume.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#restore(int, int, int, int, java.lang.String, java.lang.String, boolean)">restore</A></B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volumeName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> dumpFile,
+ boolean incremental)</CODE>
+
+<BR>
+ Restores the specified volume from a dump file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#restore(java.lang.String, boolean)">restore</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName,
+ boolean incremental)</CODE>
+
+<BR>
+ Restores a file to this volume. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#restore(java.lang.String, boolean, int)">restore</A></B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName,
+ boolean incremental,
+ int id)</CODE>
+
+<BR>
+ Restores a file to this volume. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#salvage()">salvage</A></B>()</CODE>
+
+<BR>
+ Salvages (restores consistency to) this volume. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#setQuota(int)">setQuota</A></B>(int quota)</CODE>
+
+<BR>
+ Sets quota of volume, 0 denotes an unlimited quota.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <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/Volume.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Returns the name of this <CODE>Volume</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#translateNameToID(int, java.lang.String, int)">translateNameToID</A></B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ int volumeType)</CODE>
+
+<BR>
+ Translates a volume name into a volume id</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#unlock()">unlock</A></B>()</CODE>
+
+<BR>
+ Unlocks the VLDB entry for this volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#unlock(int, int)">unlock</A></B>(int cellHandle,
+ int volId)</CODE>
+
+<BR>
+ Unlocks the VLDB entry of the specified volume</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#unmount()">unmount</A></B>()</CODE>
+
+<BR>
+ Unmounts this volume, bringing it offline and making it inaccessible.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Volume.html#unmount(int, int, int)">unmount</A></B>(int serverHandle,
+ int partition,
+ int volId)</CODE>
+
+<BR>
+ "Unmounts" the specified volume, bringing it offline.</TD>
+</TR>
+</TABLE>
+ <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>
+
+<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="VOLUME_TYPE_READ_WRITE"><!-- --></A><H3>
+VOLUME_TYPE_READ_WRITE</H3>
+<PRE>
+public static final int <B>VOLUME_TYPE_READ_WRITE</B></PRE>
+<DL>
+<DD>Read-write volume type
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_TYPE_READ_WRITE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_TYPE_READ_ONLY"><!-- --></A><H3>
+VOLUME_TYPE_READ_ONLY</H3>
+<PRE>
+public static final int <B>VOLUME_TYPE_READ_ONLY</B></PRE>
+<DL>
+<DD>Read-only volume type
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_TYPE_READ_ONLY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_TYPE_BACKUP"><!-- --></A><H3>
+VOLUME_TYPE_BACKUP</H3>
+<PRE>
+public static final int <B>VOLUME_TYPE_BACKUP</B></PRE>
+<DL>
+<DD>Backup volume type
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_TYPE_BACKUP">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_OK"><!-- --></A><H3>
+VOLUME_OK</H3>
+<PRE>
+public static final int <B>VOLUME_OK</B></PRE>
+<DL>
+<DD>Status/disposition ok
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_OK">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_SALVAGE"><!-- --></A><H3>
+VOLUME_SALVAGE</H3>
+<PRE>
+public static final int <B>VOLUME_SALVAGE</B></PRE>
+<DL>
+<DD>Status/disposition salvage
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_SALVAGE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_NO_VNODE"><!-- --></A><H3>
+VOLUME_NO_VNODE</H3>
+<PRE>
+public static final int <B>VOLUME_NO_VNODE</B></PRE>
+<DL>
+<DD>Status/disposition no vnode
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_NO_VNODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_NO_VOL"><!-- --></A><H3>
+VOLUME_NO_VOL</H3>
+<PRE>
+public static final int <B>VOLUME_NO_VOL</B></PRE>
+<DL>
+<DD>Status/disposition no volume
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_NO_VOL">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_VOL_EXISTS"><!-- --></A><H3>
+VOLUME_VOL_EXISTS</H3>
+<PRE>
+public static final int <B>VOLUME_VOL_EXISTS</B></PRE>
+<DL>
+<DD>Status/disposition volume exists
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_VOL_EXISTS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_NO_SERVICE"><!-- --></A><H3>
+VOLUME_NO_SERVICE</H3>
+<PRE>
+public static final int <B>VOLUME_NO_SERVICE</B></PRE>
+<DL>
+<DD>Status/disposition no service
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_NO_SERVICE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_OFFLINE"><!-- --></A><H3>
+VOLUME_OFFLINE</H3>
+<PRE>
+public static final int <B>VOLUME_OFFLINE</B></PRE>
+<DL>
+<DD>Status/disposition offline
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_OFFLINE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_ONLINE"><!-- --></A><H3>
+VOLUME_ONLINE</H3>
+<PRE>
+public static final int <B>VOLUME_ONLINE</B></PRE>
+<DL>
+<DD>Status/disposition online
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_ONLINE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_DISK_FULL"><!-- --></A><H3>
+VOLUME_DISK_FULL</H3>
+<PRE>
+public static final int <B>VOLUME_DISK_FULL</B></PRE>
+<DL>
+<DD>Status/disposition disk full
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_DISK_FULL">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_OVER_QUOTA"><!-- --></A><H3>
+VOLUME_OVER_QUOTA</H3>
+<PRE>
+public static final int <B>VOLUME_OVER_QUOTA</B></PRE>
+<DL>
+<DD>Status/disposition over quota
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_OVER_QUOTA">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_BUSY"><!-- --></A><H3>
+VOLUME_BUSY</H3>
+<PRE>
+public static final int <B>VOLUME_BUSY</B></PRE>
+<DL>
+<DD>Status/disposition busy
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_BUSY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="VOLUME_MOVED"><!-- --></A><H3>
+VOLUME_MOVED</H3>
+<PRE>
+public static final int <B>VOLUME_MOVED</B></PRE>
+<DL>
+<DD>Status/disposition moved
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.openafs.jafs.Volume.VOLUME_MOVED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="cell"><!-- --></A><H3>
+cell</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Cell.html">Cell</A> <B>cell</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="server"><!-- --></A><H3>
+server</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Server.html">Server</A> <B>server</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="partition"><!-- --></A><H3>
+partition</H3>
+<PRE>
+protected <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> <B>partition</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="id"><!-- --></A><H3>
+id</H3>
+<PRE>
+protected int <B>id</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="readWriteID"><!-- --></A><H3>
+readWriteID</H3>
+<PRE>
+protected int <B>readWriteID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="readOnlyID"><!-- --></A><H3>
+readOnlyID</H3>
+<PRE>
+protected int <B>readOnlyID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="backupID"><!-- --></A><H3>
+backupID</H3>
+<PRE>
+protected int <B>backupID</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="creationDate"><!-- --></A><H3>
+creationDate</H3>
+<PRE>
+protected long <B>creationDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastAccessDate"><!-- --></A><H3>
+lastAccessDate</H3>
+<PRE>
+protected long <B>lastAccessDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastUpdateDate"><!-- --></A><H3>
+lastUpdateDate</H3>
+<PRE>
+protected long <B>lastUpdateDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastBackupDate"><!-- --></A><H3>
+lastBackupDate</H3>
+<PRE>
+protected long <B>lastBackupDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="copyCreationDate"><!-- --></A><H3>
+copyCreationDate</H3>
+<PRE>
+protected long <B>copyCreationDate</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="accessesSinceMidnight"><!-- --></A><H3>
+accessesSinceMidnight</H3>
+<PRE>
+protected int <B>accessesSinceMidnight</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="fileCount"><!-- --></A><H3>
+fileCount</H3>
+<PRE>
+protected int <B>fileCount</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="maxQuota"><!-- --></A><H3>
+maxQuota</H3>
+<PRE>
+protected int <B>maxQuota</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="currentSize"><!-- --></A><H3>
+currentSize</H3>
+<PRE>
+protected int <B>currentSize</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="status"><!-- --></A><H3>
+status</H3>
+<PRE>
+protected int <B>status</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="disposition"><!-- --></A><H3>
+disposition</H3>
+<PRE>
+protected int <B>disposition</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="type"><!-- --></A><H3>
+type</H3>
+<PRE>
+protected int <B>type</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="creationDateCal"><!-- --></A><H3>
+creationDateCal</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>creationDateCal</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastUpdateDateCal"><!-- --></A><H3>
+lastUpdateDateCal</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>lastUpdateDateCal</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="copyCreationDateCal"><!-- --></A><H3>
+copyCreationDateCal</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>copyCreationDateCal</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="Volume(java.lang.String, org.openafs.jafs.Partition)"><!-- --></A><H3>
+Volume</H3>
+<PRE>
+public <B>Volume</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Volume</CODE> object instance given the name of
+ the AFS volume and the AFS cell, represented by <CODE>partition</CODE>,
+ to which it belongs. This does not actually
+ create a new AFS volume, it just represents one.
+ If <code>name</code> is not an actual AFS volume, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/Volume.html#create(int)"><CODE>create(int)</CODE></A> method is explicitly called
+ to create it.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the volume to represent<DD><CODE>partition</CODE> - the partition on which the volume resides
+<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="Volume(java.lang.String, org.openafs.jafs.Partition, boolean)"><!-- --></A><H3>
+Volume</H3>
+<PRE>
+public <B>Volume</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition,
+ boolean preloadAllMembers)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Constructs a new <CODE>Volume</CODE> object instance given the name of
+ the AFS volume and the AFS partition, represented by
+ <CODE>partition</CODE>, to which it belongs. This does not actually
+ create a new AFS volume, it just represents one.
+ If <code>name</code> is not an actual AFS volume, exceptions
+ will be thrown during subsequent method invocations on this
+ object, unless the <A HREF="../../../org/openafs/jafs/Volume.html#create(int)"><CODE>create(int)</CODE></A> method is explicitly called
+ to create it. Note that if the volume doesn't exist and
+ <code>preloadAllMembers</code> is true, an exception will be thrown.
+
+ <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/Volume.html#refresh()"><CODE>refresh()</CODE></A> method to address any coherency
+ concerns.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the volume to represent<DD><CODE>partition</CODE> - the partition on which the volume resides.<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/Volume.html#refresh()"><CODE>refresh()</CODE></A></DL>
+<HR>
+
+<A NAME="Volume(org.openafs.jafs.Partition)"><!-- --></A><H3>
+Volume</H3>
+<PRE>
+<B>Volume</B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> partition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a blank <code>Volume</code> given the cell to which the volume
+ belongs, the server on which the partition resides, and
+ the partition on which the volume resides. This blank
+ object can then be passed into other methods to fill out its properties.
+<P>
+<DT><B>Parameters:</B><DD><CODE>partition</CODE> - the partition on which the volume resides
+<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>
+
+<!-- ============ 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 Volume object instance with values from
+ the AFS volume it represents. All properties that have been initialized
+ and/or accessed will be renewed according to the values of the AFS volume
+ this Volume 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 all)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Refreshes the properties of this Volume object instance with values from
+ the AFS volume it represents. If <CODE>all</CODE> is <CODE>true</CODE>
+ then <U>all</U> of the properties of this Volume object instance will be
+ set, or renewed, according to the values of the AFS volume 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/Volume.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/Volume.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>Refreshes the information fields of this <code>Volume</code> to reflect
+ the current state of the AFS volume. These include the last update time,
+ file count, etc.
+<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="create(int)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public void <B>create</B>(int quota)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a new volume on the server and partition given upon construction.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>quota</CODE> - the quota for the volume in K, 0 indicates an unlimited
+ quota
+<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="createBackup()"><!-- --></A><H3>
+createBackup</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> <B>createBackup</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a backup volume for this volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Volume</code> object representation for the
+ backup volume that was created
+<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="createReadOnly(org.openafs.jafs.Partition)"><!-- --></A><H3>
+createReadOnly</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> <B>createReadOnly</B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> sitePartition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a readonly site for this volume on the specified server and
+ partition. Automatically releases the volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sitePartition</CODE> - the partition on which the readonly volume is
+ to reside
+<DT><B>Returns:</B><DD>the <code>Volume</code> representation for the
+ read-only volume that was created
+<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="delete()"><!-- --></A><H3>
+delete</H3>
+<PRE>
+public void <B>delete</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes the volume from the 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="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Releases this volume, which updates the read-only copies of it.
+
+ <P> This method will force a complete release; a complete release updates
+ all read-only sites even if the VLDB entry has a flag.
+<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="release(boolean)"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>(boolean forceComplete)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Releases this volume, which updates the read-only copies of it.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>forceComplete</CODE> - whether or not to force a complete release;
+ a complete release updates all read-only sites
+ even if the VLDB entry has a flag
+<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="dump(java.lang.String, java.util.GregorianCalendar)"><!-- --></A><H3>
+dump</H3>
+<PRE>
+public void <B>dump</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> dumpSince)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Dumps this volume to a file. If you use the dumpSince argument you will
+ create an incremental dump, but you can leave it <code>null</code>
+ for a full dump.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>fileName</CODE> - the path name of the file on the client machine to
+ which to dump this volume<DD><CODE>dumpSince</CODE> - dump only files that have been modified more recently
+ than this date
+<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="dump(java.lang.String)"><!-- --></A><H3>
+dump</H3>
+<PRE>
+public void <B>dump</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Dumps this volume to a file. Creates a full dump.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>fileName</CODE> - the path name of the file to which to dump this volume
+<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="restore(java.lang.String, boolean)"><!-- --></A><H3>
+restore</H3>
+<PRE>
+public void <B>restore</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName,
+ boolean incremental)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restores a file to this volume. Note that this does not have to be an
+ existing volume in order to be restored - you may create a
+ <code>Volume</code> as a volume that doesn't yet exist and then restore
+ a file to it. Or you can restore over an existing volume. If a new
+ volume is being created with this method, the id will be automatically
+ assigned.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>fileName</CODE> - the path name of the file on the client machine from
+ which to restore this volume<DD><CODE>incremental</CODE> - if true, restores an incremental dump over an
+ existing volume
+<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="restore(java.lang.String, boolean, int)"><!-- --></A><H3>
+restore</H3>
+<PRE>
+public void <B>restore</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> fileName,
+ boolean incremental,
+ int id)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restores a file to this volume. Note that this does not have to be an
+ existing volume in order to be restored - you may create a
+ <code>Volume</code> as a volume that doesn't yet exist and then restore
+ a file to it. Or you can restore over an existing volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>fileName</CODE> - the path name of the file on the client machine from
+ which to restore this volume<DD><CODE>incremental</CODE> - if true, restores an incremental dump over an
+ existing volume<DD><CODE>id</CODE> - the id to assign this volume
+<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="mount()"><!-- --></A><H3>
+mount</H3>
+<PRE>
+public void <B>mount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Mounts this volume, bringing it online and making it accessible.
+<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="unmount()"><!-- --></A><H3>
+unmount</H3>
+<PRE>
+public void <B>unmount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Unmounts this volume, bringing it offline and making it inaccessible.
+<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="lock()"><!-- --></A><H3>
+lock</H3>
+<PRE>
+public void <B>lock</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Locks the VLDB enrty for this volume
+<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="unlock()"><!-- --></A><H3>
+unlock</H3>
+<PRE>
+public void <B>unlock</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Unlocks the VLDB entry for this volume
+<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="moveTo(org.openafs.jafs.Partition)"><!-- --></A><H3>
+moveTo</H3>
+<PRE>
+public void <B>moveTo</B>(<A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> newPartition)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Moves this volume to the specified partition (which indirectly
+ specifies a new server, as well). Caution: This will remove any backup
+ volumes at the original site.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newPartition</CODE> - the partition to which to move the volume
+<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="rename(java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+public void <B>rename</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Renames this volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newName</CODE> - the new name for this volume
+<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="salvage()"><!-- --></A><H3>
+salvage</H3>
+<PRE>
+public void <B>salvage</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Salvages (restores consistency to) this volume. Uses default values for
+ most salvager options in order to simplify the API.
+<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="createMountPoint(java.lang.String)"><!-- --></A><H3>
+createMountPoint</H3>
+<PRE>
+public void <B>createMountPoint</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> directory)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a read-write mount point for this volume. Does not ensure the
+ volume already exists.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>directory</CODE> - the name of the directory where this volume
+ should be mounted
+<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="createMountPoint(java.lang.String, boolean)"><!-- --></A><H3>
+createMountPoint</H3>
+<PRE>
+public void <B>createMountPoint</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> directory,
+ boolean readWrite)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a mount point for this volume. Does not ensure the volume
+ already exists.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>directory</CODE> - the name of the directory where this volume should be
+ mounted<DD><CODE>readWrite</CODE> - whether or not this mount point should be read-write
+<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 volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this volume</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPartition()"><!-- --></A><H3>
+getPartition</H3>
+<PRE>
+public <A HREF="../../../org/openafs/jafs/Partition.html">Partition</A> <B>getPartition</B>()</PRE>
+<DL>
+<DD>Returns this volume's hosting partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this volume's partition</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getID()"><!-- --></A><H3>
+getID</H3>
+<PRE>
+public int <B>getID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the id of this volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the id of this volume
+<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="getReadWriteID()"><!-- --></A><H3>
+getReadWriteID</H3>
+<PRE>
+public int <B>getReadWriteID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the read-write ID of this volume
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the read-write 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="getReadOnlyID()"><!-- --></A><H3>
+getReadOnlyID</H3>
+<PRE>
+public int <B>getReadOnlyID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the read-only ID of this volume
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the read-only 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="getBackupID()"><!-- --></A><H3>
+getBackupID</H3>
+<PRE>
+public int <B>getBackupID</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the backup ID of this volume
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the backup 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="getCreationDate()"><!-- --></A><H3>
+getCreationDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getCreationDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the date the volume was created
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date the volume was created
+<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="getLastUpdateDate()"><!-- --></A><H3>
+getLastUpdateDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getLastUpdateDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the date the volume was last updated.
+ After this method is called once, it saves the date
+ and returns that date on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date the volume was last updated
+<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="getCopyCreationDate()"><!-- --></A><H3>
+getCopyCreationDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/util/GregorianCalendar.html">GregorianCalendar</A> <B>getCopyCreationDate</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the date the volume was copied.
+ After this method is called once, it saves the date
+ and returns that date on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date the volume was copied
+<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="getAccessesSinceMidnight()"><!-- --></A><H3>
+getAccessesSinceMidnight</H3>
+<PRE>
+public int <B>getAccessesSinceMidnight</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the number of accesses since midnight.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of accesses since midnight
+<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="getFileCount()"><!-- --></A><H3>
+getFileCount</H3>
+<PRE>
+public int <B>getFileCount</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns file count.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the file count
+<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="getCurrentSize()"><!-- --></A><H3>
+getCurrentSize</H3>
+<PRE>
+public int <B>getCurrentSize</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns current volume size in K.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current volume size in K
+<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="getTotalFreeSpace()"><!-- --></A><H3>
+getTotalFreeSpace</H3>
+<PRE>
+public int <B>getTotalFreeSpace</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns the difference between quota and current volume size (in K).
+
+ <P> Please note: the product of this method is <U>not</U> saved.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current free space in K
+<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="getQuota()"><!-- --></A><H3>
+getQuota</H3>
+<PRE>
+public int <B>getQuota</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns this volume's quota, expressed in kilobyte blocks (1024
+ kilobyte blocks equal one megabyte). After this method is called once,
+ it saves the value and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+
+ <P><B>Note:</B> A quota value of zero, "0", grants an unlimited quota
+ in AFS. Consequently, to avoid delusion this method will throw an
+ <A HREF="../../../org/openafs/jafs/AFSException.html"><CODE>AFSException</CODE></A> if the returning value is zero.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the volume quota in K
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE> - If an error occurs in the native code or
+ this volume's quota is configured as
+ unlimited.<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Volume.html#isQuotaUnlimited()"><CODE>isQuotaUnlimited()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isQuotaUnlimited()"><!-- --></A><H3>
+isQuotaUnlimited</H3>
+<PRE>
+public boolean <B>isQuotaUnlimited</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Tests whether this volume's quota is configured as unlimited.
+
+ <P>After this method is called once, it saves the value and returns
+ that value on subsequent calls, until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A>
+ method is called and a more current value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><CODE>true</CODE> if this volume's quota is configured as
+ unlimited; otherwise <CODE>false</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<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Volume.html#getQuota()"><CODE>getQuota()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStatus()"><!-- --></A><H3>
+getStatus</H3>
+<PRE>
+public int <B>getStatus</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns volume status. Possible values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OK"><CODE>VOLUME_OK</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_SALVAGE"><CODE>VOLUME_SALVAGE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_VNODE"><CODE>VOLUME_NO_VNODE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_VOL"><CODE>VOLUME_NO_VOL</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_VOL_EXISTS"><CODE>VOLUME_VOL_EXISTS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_SERVICE"><CODE>VOLUME_NO_SERVICE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OFFLINE"><CODE>VOLUME_OFFLINE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_ONLINE"><CODE>VOLUME_ONLINE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_DISK_FULL"><CODE>VOLUME_DISK_FULL</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OVER_QUOTA"><CODE>VOLUME_OVER_QUOTA</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_BUSY"><CODE>VOLUME_BUSY</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_MOVED"><CODE>VOLUME_MOVED</CODE></A></li></ul>
+ Typical value is VOLUME_OK.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>volume status
+<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="getDisposition()"><!-- --></A><H3>
+getDisposition</H3>
+<PRE>
+public int <B>getDisposition</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns volume disposition. Possible values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OK"><CODE>VOLUME_OK</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_SALVAGE"><CODE>VOLUME_SALVAGE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_VNODE"><CODE>VOLUME_NO_VNODE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_VOL"><CODE>VOLUME_NO_VOL</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_VOL_EXISTS"><CODE>VOLUME_VOL_EXISTS</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_NO_SERVICE"><CODE>VOLUME_NO_SERVICE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OFFLINE"><CODE>VOLUME_OFFLINE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_ONLINE"><CODE>VOLUME_ONLINE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_DISK_FULL"><CODE>VOLUME_DISK_FULL</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_OVER_QUOTA"><CODE>VOLUME_OVER_QUOTA</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_BUSY"><CODE>VOLUME_BUSY</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_MOVED"><CODE>VOLUME_MOVED</CODE></A></li></ul>
+ Typical value is VOLUME_ONLINE.
+ After this method is called once, it saves the value
+ and returns that value on subsequent calls,
+ until the <A HREF="../../../org/openafs/jafs/Volume.html#refresh()"><CODE>refresh()</CODE></A> method is called and a more current
+ value is obtained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>volume disposition
+<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="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public int <B>getType</B>()
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Returns volume type. Possible values are:<ul>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_TYPE_READ_WRITE"><CODE>VOLUME_TYPE_READ_WRITE</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_TYPE_READ_ONLY"><CODE>VOLUME_TYPE_READ_ONLY</CODE></A></li>
+ <li><A HREF="../../../org/openafs/jafs/Volume.html#VOLUME_TYPE_BACKUP"><CODE>VOLUME_TYPE_BACKUP</CODE></A></li></ul>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>volume type
+<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="setQuota(int)"><!-- --></A><H3>
+setQuota</H3>
+<PRE>
+public void <B>setQuota</B>(int quota)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Sets quota of volume, 0 denotes an unlimited quota.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>quota</CODE> - the new volume quota in K (0 for unlimited)
+<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>Volume</code>.
+ Contains the information fields.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> representation of the <code>Volume</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.openafs.jafs.Volume)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> volume)</PRE>
+<DL>
+<DD>Compares two Volume objects respective to their names 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>volume</CODE> - The Volume object to be compared to this Volume
+ instance
+<DT><B>Returns:</B><DD>Zero if the argument is equal to this Volume's name, a
+ value less than zero if this Volume's name is
+ lexicographically less than the argument, or a value greater
+ than zero if this Volume's name 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> 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/Volume.html#compareTo(org.openafs.jafs.Volume)"><CODE>compareTo(Volume)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(org.openafs.jafs.Volume)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> otherVolume)</PRE>
+<DL>
+<DD>Tests whether two <code>Volume</code> objects are equal, based on their
+ names and hosting partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>otherVolume</CODE> - the Volume to test
+<DT><B>Returns:</B><DD>whether the specifed Volume is the same as this Volume</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>Volume</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>Volume</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVolumeInfo(int, int, int, int, org.openafs.jafs.Volume)"><!-- --></A><H3>
+getVolumeInfo</H3>
+<PRE>
+protected static void <B>getVolumeInfo</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ <A HREF="../../../org/openafs/jafs/Volume.html">Volume</A> theVolume)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Fills in the information fields of the provided <code>Volume</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the volume
+ resides<DD><CODE>partition</CODE> - the numeric id of the partition on which the volume
+ resides<DD><CODE>volId</CODE> - the numeric id of the volume for which to get the info<DD><CODE>theVolume</CODE> - the <A HREF="../../../org/openafs/jafs/Volume.html"><CODE>Volume</CODE></A> object in which to fill in
+ the information
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(int, int, int, java.lang.String, int)"><!-- --></A><H3>
+create</H3>
+<PRE>
+protected static int <B>create</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volumeName,
+ int quota)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a volume on a particular partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell in which to create the volume<DD><CODE>serverHandle</CODE> - the vos handle of the server on which to create
+ the volume<DD><CODE>partition</CODE> - the numeric id of the partition on which to create
+ the volume<DD><CODE>volumeName</CODE> - the name of the volume to create<DD><CODE>quota</CODE> - the amount of space (in KB) to set as this volume's quota
+<DT><B>Returns:</B><DD>the numeric ID assigned to the volume
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delete(int, int, int, int)"><!-- --></A><H3>
+delete</H3>
+<PRE>
+protected static void <B>delete</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes a volume from a particular partition.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell in which to delete the volume<DD><CODE>serverHandle</CODE> - the vos handle of the server from which to delete
+ the volume<DD><CODE>partition</CODE> - the numeric id of the partition from which to delete
+ the volume<DD><CODE>volId</CODE> - the numeric id of the volume to delete
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBackupVolume(int, int)"><!-- --></A><H3>
+createBackupVolume</H3>
+<PRE>
+protected static void <B>createBackupVolume</B>(int cellHandle,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a backup volume for the specified regular volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>volId</CODE> - the numeric id of the volume for which to create a backup
+ volume
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createReadOnlyVolume(int, int, int, int)"><!-- --></A><H3>
+createReadOnlyVolume</H3>
+<PRE>
+protected static void <B>createReadOnlyVolume</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Creates a read-only volume for the specified regular volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the read-only
+ volume is to reside<DD><CODE>partition</CODE> - the numeric id of the partition on which the read-only
+ volume is to reside<DD><CODE>volId</CODE> - the numeric id of the volume for which to create a read-only volume
+<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#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteReadOnlyVolume(int, int, int, int)"><!-- --></A><H3>
+deleteReadOnlyVolume</H3>
+<PRE>
+protected static void <B>deleteReadOnlyVolume</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Deletes a read-only volume for the specified regular volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the read-only
+ volume residea<DD><CODE>partition</CODE> - the numeric id of the partition on which the read-only
+ volume resides<DD><CODE>volId</CODE> - the numeric read-write id of the volume for which to
+ delete the read-only volume
+<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#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeQuota(int, int, int, int, int)"><!-- --></A><H3>
+changeQuota</H3>
+<PRE>
+protected static void <B>changeQuota</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ int newQuota)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Changes the quota of the specified volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the volume
+ resides<DD><CODE>partition</CODE> - the numeric id of the partition on which the volume
+ resides<DD><CODE>volId</CODE> - the numeric id of the volume for which to change the quota<DD><CODE>newQuota</CODE> - the new quota (in KB) to assign the volume
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="move(int, int, int, int, int, int)"><!-- --></A><H3>
+move</H3>
+<PRE>
+protected static void <B>move</B>(int cellHandle,
+ int fromServerHandle,
+ int fromPartition,
+ int toServerHandle,
+ int toPartition,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Move the specified volume to a different site.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>fromServerHandle</CODE> - the vos handle of the server on which the volume
+ currently resides<DD><CODE>fromPartition</CODE> - the numeric id of the partition on which the volume
+ currently resides<DD><CODE>toServerHandle</CODE> - the vos handle of the server to which the volume
+ should be moved<DD><CODE>toPartition</CODE> - the numeric id of the partition to which the volume
+ should be moved<DD><CODE>volId</CODE> - the numeric id of the volume to move
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release(int, int, boolean)"><!-- --></A><H3>
+release</H3>
+<PRE>
+protected static void <B>release</B>(int cellHandle,
+ int volId,
+ boolean forceComplete)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Releases the specified volume that has readonly volume sites.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>volId</CODE> - the numeric id of the volume to release<DD><CODE>forceComplete</CODE> - whether or not to force a complete release
+<DD><CODE><A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/Cell.html#getCellHandle()"><CODE>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="dump(int, int, int, int, int, java.lang.String)"><!-- --></A><H3>
+dump</H3>
+<PRE>
+protected static void <B>dump</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ int startTime,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> dumpFile)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Dumps the specified volume to a file.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the volume
+ resides<DD><CODE>partition</CODE> - the numeric id of the partition on which the
+ volume resides<DD><CODE>volId</CODE> - the numeric id of the volume to dump<DD><CODE>startTime</CODE> - files with a modification time >= to this time will
+ be dumped<DD><CODE>dumpFile</CODE> - the full path of the file to which to dump
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="restore(int, int, int, int, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+restore</H3>
+<PRE>
+protected static void <B>restore</B>(int cellHandle,
+ int serverHandle,
+ int partition,
+ int volId,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> volumeName,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> dumpFile,
+ boolean incremental)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Restores the specified volume from a dump file.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>serverHandle</CODE> - the vos handle of the server on which the volume is
+ to reside<DD><CODE>partition</CODE> - the numeric id of the partition on which the volume is
+ to reside<DD><CODE>volId</CODE> - the numeric id to assign the restored volume (can be 0)<DD><CODE>volumeName</CODE> - the name of the volume to restore as<DD><CODE>dumpFile</CODE> - the full path of the dump file from which to restore<DD><CODE>incremental</CODE> - if true, restores an incremental dump over an existing
+ volume (server and partition values must correctly
+ indicate the current position of the existing volume),
+ otherwise restores a full dump
+<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>Cell.getCellHandle()</CODE></A>,
+<A HREF="../../../org/openafs/jafs/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rename(int, int, java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+protected static void <B>rename</B>(int cellHandle,
+ int volId,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> newVolumeName)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Renames the specified read-write volume.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>volId</CODE> - the numeric id of the read-write volume to rename<DD><CODE>newVolumeName</CODE> - the new name for the volume
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="mount(int, int, int, int, boolean)"><!-- --></A><H3>
+mount</H3>
+<PRE>
+protected static void <B>mount</B>(int serverHandle,
+ int partition,
+ int volId,
+ int sleepTime,
+ boolean offline)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>"Mounts" the specified volume, bringing it online.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the vos handle of the server on which the volume
+ resides<DD><CODE>partition</CODE> - the numeric id of the partition on which the volume
+ resides<DD><CODE>volId</CODE> - the numeric id of the volume to bring online<DD><CODE>sleepTime</CODE> - ? (not sure what this is yet, possibly a time to wait
+ before brining it online)<DD><CODE>offline</CODE> - ? (not sure what this is either, probably the current
+ status of the volume -- busy or offline)
+<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/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unmount(int, int, int)"><!-- --></A><H3>
+unmount</H3>
+<PRE>
+protected static void <B>unmount</B>(int serverHandle,
+ int partition,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>"Unmounts" the specified volume, bringing it offline.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHandle</CODE> - the vos handle of the server on which the volume
+ resides<DD><CODE>partition</CODE> - the numeric id of the partition on which the volume
+ resides<DD><CODE>volId</CODE> - the numeric id of the volume to bring offline
+<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/Server.html#getVosServerHandle(int, java.lang.String)"><CODE>Server.getVosServerHandle(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lock(int, int)"><!-- --></A><H3>
+lock</H3>
+<PRE>
+protected static void <B>lock</B>(int cellHandle,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Locks the VLDB entry specified volume
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell on which the volume resides<DD><CODE>volId</CODE> - the numeric id of the volume to lock
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unlock(int, int)"><!-- --></A><H3>
+unlock</H3>
+<PRE>
+protected static void <B>unlock</B>(int cellHandle,
+ int volId)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Unlocks the VLDB entry of the specified volume
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell on which the volume resides<DD><CODE>volId</CODE> - the numeric id of the volume to unlock
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="translateNameToID(int, java.lang.String, int)"><!-- --></A><H3>
+translateNameToID</H3>
+<PRE>
+protected static int <B>translateNameToID</B>(int cellHandle,
+ <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A> name,
+ int volumeType)
+ throws <A HREF="../../../org/openafs/jafs/AFSException.html">AFSException</A></PRE>
+<DL>
+<DD>Translates a volume name into a volume id
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cellHandle</CODE> - the handle of the cell to which the volume belongs<DD><CODE>name</CODE> - the name of the volume in question, cannot end in backup or
+ readonly
+<DT><B>Returns:</B><DD>the id of the volume in question
+<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>Cell.getCellHandle()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reclaimVolumeMemory()"><!-- --></A><H3>
+reclaimVolumeMemory</H3>
+<PRE>
+protected static void <B>reclaimVolumeMemory</B>()</PRE>
+<DL>
+<DD>Reclaims all memory being saved by the volume portion of the native
+ library. This method should be called when no more <code>Volume</code>
+ objects are expected to be used.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</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> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Volume.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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">
+ <A HREF="../../../org/openafs/jafs/VersionInfo.html"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="Volume.html" TARGET="_top"><B>NO FRAMES</B></A>
+
+<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<TITLE>
+Java AFS API: Package org.openafs.jafsadm
+</TITLE>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+</HEAD>
+<BODY BGCOLOR="white">
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_top"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 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"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/openafs/jafsadm/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>Java AFS API v1.4</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV PACKAGE
+ NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="copyright.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<H2>Copyright Statement</H2>
+
+Copyright (c) 2001-2002 International Business Machines Corp.<BR>
+All rights reserved.
+<BR><BR>
+
+This software has been released under the terms of the IBM Public
+License. For details, see the LICENSE file in the top-level source
+directory or online at
+<A HREF="http://www.openafs.org/dl/license10.html">http://www.openafs.org/dl/license10.html</A>
+<BR><BR>
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+<BR><BR>
+<P>
+
+<P>
+<HR>
+
+<!-- ========== START OF NAVBAR ========== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 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"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/openafs/jafsadm/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+Java AFS (jafs) API for OpenAFS</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV PACKAGE
+ NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>
+ <A HREF="copyright.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<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>
+</BODY>
+</HTML>
+
+\r