Empty archive directory into keep or delete
[openafs-wiki.git] / delete / JavaAdminAPI / Token.html
diff --git a/delete/JavaAdminAPI/Token.html b/delete/JavaAdminAPI/Token.html
new file mode 100644 (file)
index 0000000..47f9883
--- /dev/null
@@ -0,0 +1,1078 @@
+<!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>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Token.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<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>  &nbsp;
+&nbsp;<A HREF="Token.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.openafs.jafs</FONT>
+<BR>
+Class 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&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#ANYUSER_PAG_ID">ANYUSER_PAG_ID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#cellName">cellName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#errno">errno</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#pagID">pagID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#tokenHandle">tokenHandle</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#username">username</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;</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>&nbsp;username,
+      <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password,
+      <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;username,
+      <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password,
+      <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName,
+      boolean&nbsp;automaticallyLogin)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#close()">close</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#close(int)">close</A></B>(int&nbsp;tokenHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the given currently open token.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/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>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comparable interface method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;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>&nbsp;token)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares two ACL objects respective to their paths and does not
+ factor any other attribute.    </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;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>&nbsp;token)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether two <code>Cell</code> objects are equal, based on their 
+ names.  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<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>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getExpiration()">getExpiration</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getExpiration(int)">getExpiration</A></B>(int&nbsp;tokenHandle)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getHandle()">getHandle</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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>&nbsp;cellName,
+         <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;username,
+         <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#getUsername()">getUsername</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#initializeAdminClient()">initializeAdminClient</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the administrative library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#initializeUserSpace()">initializeUserSpace</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#klog()">klog</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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>&nbsp;username,
+     <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password,
+     <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName,
+     int&nbsp;id)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#login()">login</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#reclaimAuthMemory()">reclaimAuthMemory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#relog(int)">relog</A></B>(int&nbsp;id)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this <CODE>Cell</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/openafs/jafs/Token.html#unlog()">unlog</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manually discards all AFS credentials associated with the bound user.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="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>&nbsp;username,
+                <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password,
+                <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName,
+                boolean&nbsp;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>&nbsp;username,
+             <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password,
+             <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;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>&nbsp;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>&nbsp;obj)</PRE>
+<DL>
+<DD>Comparable interface method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>compareTo</CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/Comparable.html">Comparable</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/openafs/jafs/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>&nbsp;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>&nbsp;cellName,
+                       <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;username,
+                       <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;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&nbsp;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&nbsp;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>&nbsp;username,
+                   <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;password,
+                   <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html">String</A>&nbsp;cellName,
+                   int&nbsp;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&nbsp;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>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Token.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+<B>JAFS API v2</B></EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/openafs/jafs/Server.ExecutableTime.html"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<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>  &nbsp;
+&nbsp;<A HREF="Token.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;
+<SCRIPT>
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
+</NOSCRIPT>
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<!-- =========== END OF NAVBAR =========== -->
+
+<HR>
+
+</BODY>
+</HTML>