Chat.html

Warning: This file has been marked up for HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Feb 08 14:56:10 MST 2000 -->
<TITLE>
Chat Snapin Documentation: Class  Chat
</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">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="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="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../com/novell/Chat/ChatClient.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="Chat.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&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">
com.novell.Chat</FONT>
<BR>
Class  Chat</H2>
<PRE>
<B>com.novell.Chat.Chat</B>
</PRE>
<HR>
<DL>
<DT>public class <B>Chat</B><DT>implements <A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A></DL>

<P>
This class maintains the needed global information that is used by Chat.
 It creates and distroys the clients and servers used during the chatting
 process and contains the methods used to interface with NDS.
<P>
<HR>

<P>
<!-- ======== INNER 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;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#ATTRIBUTE_IP">ATTRIBUTE_IP</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the attribute used to hold the IP Address of a Chat Room.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#ATTRIBUTE_OWNER">ATTRIBUTE_OWNER</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the attribute used to hold the name of the owner of a Chat Room.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#ATTRIBUTE_PORT">ATTRIBUTE_PORT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the attribute used to hold the Port of a Chat Room.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#ATTRIBUTE_USER_PORT">ATTRIBUTE_USER_PORT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the attribute used to hold the port of a user.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#ATTRIBUTE_USER_PREFS">ATTRIBUTE_USER_PREFS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the attribute used to hold the list of preferred users for a user object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#ATTRIBUTE_USERLIST">ATTRIBUTE_USERLIST</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the attribute used to hold the List of users in a Chat Room.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.util.ResourceBundle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#chatRes">chatRes</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the resource that holds all the localized text for this snapin.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#CHATROOM_TYPE">CHATROOM_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The class name given to the Chat Room object.</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="../../../com/novell/Chat/Chat.html#DEFAULT_PORT">DEFAULT_PORT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the default port to be used for chat room servers.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#EVENT_INIT_COMPLETE">EVENT_INIT_COMPLETE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Snapin event raised when Chat is initialized.</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="../../../com/novell/Chat/Chat.html#PORT_MAX">PORT_MAX</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The maximum number of times to increment the port value
 while trying to create a socket.</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="../../../com/novell/Chat/Chat.html#USER_PORT">USER_PORT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the default port to be used for user-to-user chatting.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#Chat()">Chat</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#addChatListener(com.novell.Chat.ChatStatusListener)">addChatListener</A></B>(<A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A>&nbsp;listener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a ChatStatusListener to the Chat manager.</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="../../../com/novell/Chat/Chat.html#chatRoomTransfer(com.novell.Chat.ObjectEntry, java.lang.String, int)">chatRoomTransfer</A></B>(com.novell.Chat.ObjectEntry&nbsp;roomOE,
                 java.lang.String&nbsp;ipAddress,
                 int&nbsp;startColor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transfers the given chat room to this user at the given
 IP Address.</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="../../../com/novell/Chat/Chat.html#chatStatus(java.lang.String)">chatStatus</A></B>(java.lang.String&nbsp;status)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementation of the ChatStatusListener Interface.</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="../../../com/novell/Chat/Chat.html#checkSchema(com.novell.Chat.ObjectEntry, java.lang.String)">checkSchema</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe,
            java.lang.String&nbsp;attributeName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extends the NDS Schema if it hasn't already been extended.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/novell/Chat/ChatServer.html">ChatServer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#createChatServer(int, com.novell.Chat.ChatUser, int)">createChatServer</A></B>(int&nbsp;port,
                 <A HREF="../../../com/novell/Chat/ChatUser.html">ChatUser</A>&nbsp;user,
                 int&nbsp;startColor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new Chat server for the given ChatUser.</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="../../../com/novell/Chat/Chat.html#createNewUserAttributes(com.novell.Chat.NDSSchemaDefinition)">createNewUserAttributes</A></B>(com.novell.Chat.NDSSchemaDefinition&nbsp;def)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates the new attributes to add to the user's class.</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="../../../com/novell/Chat/Chat.html#disconnected(java.lang.String)">disconnected</A></B>(java.lang.String&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementation of the ChatStatusListener Interface.</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="../../../com/novell/Chat/Chat.html#errorDialog(java.lang.String)">errorDialog</A></B>(java.lang.String&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Displays a dialog with the given error message.</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="../../../com/novell/Chat/Chat.html#findAuthenticatedIdentities(boolean)">findAuthenticatedIdentities</A></B>(boolean&nbsp;listen)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds the identity of the user that is authenticated 
 to each tree under the root.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getAttributeValueAsString(com.novell.Chat.ObjectEntry, java.lang.String)">getAttributeValueAsString</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                          java.lang.String&nbsp;attributeName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A Simple method designed to get the value of an attribute 
 from a given object and return the value as a string regardless 
 of its syntax.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.swing.Icon</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getIcon(java.lang.String)">getIcon</A></B>(java.lang.String&nbsp;type)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds and loads the given icon.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../com/novell/Chat/Chat.html">Chat</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getInstance()">getInstance</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use this to method to get the single instance of this class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getIPAddress(com.novell.Chat.ObjectEntry, java.lang.String)">getIPAddress</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe,
             java.lang.String&nbsp;when)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the given user's IP address.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getIPAddresses(com.novell.Chat.ObjectEntry)">getIPAddresses</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds all of the IP addresses for the given user.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getMultiValuedAttribute(com.novell.Chat.ObjectEntry, java.lang.String)">getMultiValuedAttribute</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                        java.lang.String&nbsp;attributeName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For multi-valued attributes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.awt.Color</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getNameColor(int)">getNameColor</A></B>(int&nbsp;colorCode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get's the color associated with the given color code index.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;com.novell.Chat.NDSNamespace</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getNDSNamespace()">getNDSNamespace</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the NDSNamespace.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/novell/Chat/ChatServer.html">ChatServer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getServer(java.lang.String)">getServer</A></B>(java.lang.String&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses the key to find a reference to the ChatServer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;com.novell.Chat.Shell</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getShell()">getShell</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the reference to the shell.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/novell/Chat/ChatUser.html">ChatUser</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#getUserIdentity(com.novell.Chat.ObjectEntry)">getUserIdentity</A></B>(com.novell.Chat.ObjectEntry&nbsp;sameTreeOE)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds the identity of the user that is authenticated 
 to the tree the given ObjectEntry is from.</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="../../../com/novell/Chat/Chat.html#initialize()">initialize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts a thread that searches for the NDS Namespace.</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="../../../com/novell/Chat/Chat.html#isInitialized()">isInitialized</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks to see if Chat has been initialized.</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="../../../com/novell/Chat/Chat.html#isListening()">isListening</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks to see if the chat servers are listening.</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="../../../com/novell/Chat/Chat.html#isRoomOwner(java.lang.String)">isRoomOwner</A></B>(java.lang.String&nbsp;owner)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks to see if the given chat room owner is this user.</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="../../../com/novell/Chat/Chat.html#listen(boolean)">listen</A></B>(boolean&nbsp;listen)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts the default chat servers listening for connections.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;com.novell.Chat.ObjectEntry</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/novell/Chat/Chat.html#newChatRoom(com.novell.Chat.ObjectEntry, java.lang.String, java.lang.String, int, com.novell.Chat.ObjectEntry)">newChatRoom</A></B>(com.novell.Chat.ObjectEntry&nbsp;parentOE,
            java.lang.String&nbsp;cn,
            java.lang.String&nbsp;ipAddress,
            int&nbsp;port,
            com.novell.Chat.ObjectEntry&nbsp;ownerOE)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a ChatRoom object under the given object.</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="../../../com/novell/Chat/Chat.html#removeChatListener(com.novell.Chat.ChatStatusListener)">removeChatListener</A></B>(<A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A>&nbsp;listener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a ChatStatusListener from the Chat manager.</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="../../../com/novell/Chat/Chat.html#replaceAttributeValue(com.novell.Chat.ObjectEntry, java.lang.String, java.lang.String, java.lang.String)">replaceAttributeValue</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                      java.lang.String&nbsp;attributeName,
                      java.lang.String&nbsp;oldValue,
                      java.lang.String&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A simple method designed to replace the given value from a 
 multivalued attribute with a new value.</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="../../../com/novell/Chat/Chat.html#requestChat(com.novell.Chat.ObjectEntry)">requestChat</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when a user requests to chat with either another user or
 a Chat Room.</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="../../../com/novell/Chat/Chat.html#setAttributeValue(com.novell.Chat.ObjectEntry, java.lang.String, java.lang.Object, boolean)">setAttributeValue</A></B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                  java.lang.String&nbsp;attributeName,
                  java.lang.Object&nbsp;newValue,
                  boolean&nbsp;append)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A simple method designed to change the value of an attribute.</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="../../../com/novell/Chat/Chat.html#setShell(com.novell.Chat.Shell)">setShell</A></B>(com.novell.Chat.Shell&nbsp;shell)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the shell reference.</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="../../../com/novell/Chat/Chat.html#showOnlineUsersDialog()">showOnlineUsersDialog</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Displays the Online Users Dialog.</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="../../../com/novell/Chat/Chat.html#shutDown()">shutDown</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when ConsoleOne is being shutdown.</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="../../../com/novell/Chat/Chat.html#swapConnectionKeys(java.lang.String, java.lang.String, com.novell.Chat.ChatClient)">swapConnectionKeys</A></B>(java.lang.String&nbsp;oldKey,
                   java.lang.String&nbsp;newKey,
                   <A HREF="../../../com/novell/Chat/ChatClient.html">ChatClient</A>&nbsp;client)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replaces the keys used in the connectionList table.</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="../../../com/novell/Chat/Chat.html#verifyUser(java.lang.String, java.lang.String)">verifyUser</A></B>(java.lang.String&nbsp;fullName,
           java.lang.String&nbsp;ipAddress)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Verifies that a user is who he says he is by checking the
 known IP address to the NetAddress stored in his user object.</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="../../../com/novell/Chat/Chat.html#vetoableSnapinListener(com.novell.Chat.SnapinEvent)">vetoableSnapinListener</A></B>(com.novell.Chat.SnapinEvent&nbsp;event)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementation of the VetoableSnapinListener Interface.</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="chatRes"><!-- --></A><H3>
chatRes</H3>
<PRE>
public static final java.util.ResourceBundle <B>chatRes</B></PRE>
<DL>
<DD>This is the resource that holds all the localized text for this snapin.</DL>
<HR>

<A NAME="EVENT_INIT_COMPLETE"><!-- --></A><H3>
EVENT_INIT_COMPLETE</H3>
<PRE>
public static final java.lang.String <B>EVENT_INIT_COMPLETE</B></PRE>
<DL>
<DD>Snapin event raised when Chat is initialized.</DL>
<HR>

<A NAME="CHATROOM_TYPE"><!-- --></A><H3>
CHATROOM_TYPE</H3>
<PRE>
public static final java.lang.String <B>CHATROOM_TYPE</B></PRE>
<DL>
<DD>The class name given to the Chat Room object.</DL>
<HR>

<A NAME="ATTRIBUTE_IP"><!-- --></A><H3>
ATTRIBUTE_IP</H3>
<PRE>
public static final java.lang.String <B>ATTRIBUTE_IP</B></PRE>
<DL>
<DD>Name of the attribute used to hold the IP Address of a Chat Room.</DL>
<HR>

<A NAME="ATTRIBUTE_PORT"><!-- --></A><H3>
ATTRIBUTE_PORT</H3>
<PRE>
public static final java.lang.String <B>ATTRIBUTE_PORT</B></PRE>
<DL>
<DD>Name of the attribute used to hold the Port of a Chat Room.</DL>
<HR>

<A NAME="ATTRIBUTE_OWNER"><!-- --></A><H3>
ATTRIBUTE_OWNER</H3>
<PRE>
public static final java.lang.String <B>ATTRIBUTE_OWNER</B></PRE>
<DL>
<DD>Name of the attribute used to hold the name of the owner of a Chat Room.</DL>
<HR>

<A NAME="ATTRIBUTE_USERLIST"><!-- --></A><H3>
ATTRIBUTE_USERLIST</H3>
<PRE>
public static final java.lang.String <B>ATTRIBUTE_USERLIST</B></PRE>
<DL>
<DD>Name of the attribute used to hold the List of users in a Chat Room.</DL>
<HR>

<A NAME="ATTRIBUTE_USER_PREFS"><!-- --></A><H3>
ATTRIBUTE_USER_PREFS</H3>
<PRE>
public static final java.lang.String <B>ATTRIBUTE_USER_PREFS</B></PRE>
<DL>
<DD>Name of the attribute used to hold the list of preferred users for a user object.</DL>
<HR>

<A NAME="ATTRIBUTE_USER_PORT"><!-- --></A><H3>
ATTRIBUTE_USER_PORT</H3>
<PRE>
public static final java.lang.String <B>ATTRIBUTE_USER_PORT</B></PRE>
<DL>
<DD>Name of the attribute used to hold the port of a user.</DL>
<HR>

<A NAME="DEFAULT_PORT"><!-- --></A><H3>
DEFAULT_PORT</H3>
<PRE>
public static final int <B>DEFAULT_PORT</B></PRE>
<DL>
<DD>This is the default port to be used for chat room servers.</DL>
<HR>

<A NAME="USER_PORT"><!-- --></A><H3>
USER_PORT</H3>
<PRE>
public static final int <B>USER_PORT</B></PRE>
<DL>
<DD>This is the default port to be used for user-to-user chatting.</DL>
<HR>

<A NAME="PORT_MAX"><!-- --></A><H3>
PORT_MAX</H3>
<PRE>
public static final int <B>PORT_MAX</B></PRE>
<DL>
<DD>The maximum number of times to increment the port value
 while trying to create a socket.</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="Chat()"><!-- --></A><H3>
Chat</H3>
<PRE>
public <B>Chat</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="getInstance()"><!-- --></A><H3>
getInstance</H3>
<PRE>
public static <A HREF="../../../com/novell/Chat/Chat.html">Chat</A> <B>getInstance</B>()</PRE>
<DL>
<DD>Use this to method to get the single instance of this class.
 Only one instance of this class should ever exist.  This single
 instance is kept here.  Having just one instance allows for
 all snapins in this package to have access to the same set
 of data.  This way an instance of the class doesn't have to
 be passed from class to class.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The single instance of the Chat instance.</DL>
</DD>
</DL>
<HR>

<A NAME="initialize()"><!-- --></A><H3>
initialize</H3>
<PRE>
public void <B>initialize</B>()</PRE>
<DL>
<DD>Starts a thread that searches for the NDS Namespace.  Once NDS
 is found, the identity of the user that is authenticated to each
 tree is identified.  A ChatServer is then started for each of
 these users in order to listen for Chat requests.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="shutDown()"><!-- --></A><H3>
shutDown</H3>
<PRE>
public void <B>shutDown</B>()</PRE>
<DL>
<DD>Called when ConsoleOne is being shutdown.  
 This method will clean up any unfinished business.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getNDSNamespace()"><!-- --></A><H3>
getNDSNamespace</H3>
<PRE>
public com.novell.Chat.NDSNamespace <B>getNDSNamespace</B>()</PRE>
<DL>
<DD>Returns a reference to the NDSNamespace.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The NDSNamespace.</DL>
</DD>
</DL>
<HR>

<A NAME="getShell()"><!-- --></A><H3>
getShell</H3>
<PRE>
public com.novell.Chat.Shell <B>getShell</B>()</PRE>
<DL>
<DD>Returns the reference to the shell.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The ConsoleOne Shell.</DL>
</DD>
</DL>
<HR>

<A NAME="setShell(com.novell.Chat.Shell)"><!-- --></A><H3>
setShell</H3>
<PRE>
public void <B>setShell</B>(com.novell.Chat.Shell&nbsp;shell)</PRE>
<DL>
<DD>Sets the shell reference.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>shell</CODE> - The consoleone shell.</DL>
</DD>
</DL>
<HR>

<A NAME="errorDialog(java.lang.String)"><!-- --></A><H3>
errorDialog</H3>
<PRE>
public void <B>errorDialog</B>(java.lang.String&nbsp;message)</PRE>
<DL>
<DD>Displays a dialog with the given error message.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - The error message to display.</DL>
</DD>
</DL>
<HR>

<A NAME="getNameColor(int)"><!-- --></A><H3>
getNameColor</H3>
<PRE>
public java.awt.Color <B>getNameColor</B>(int&nbsp;colorCode)</PRE>
<DL>
<DD>Get's the color associated with the given color code index.
 Used for the color of the user names.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>colorCode</CODE> - The index to the color to use.<DT><B>Returns:</B><DD>The color.</DL>
</DD>
</DL>
<HR>

<A NAME="showOnlineUsersDialog()"><!-- --></A><H3>
showOnlineUsersDialog</H3>
<PRE>
public void <B>showOnlineUsersDialog</B>()</PRE>
<DL>
<DD>Displays the Online Users Dialog.  If more than one user has been used to
 authenticate to NDS, then the user will be asked which User object to use
 for the list of Online users to monitor.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getServer(java.lang.String)"><!-- --></A><H3>
getServer</H3>
<PRE>
public <A HREF="../../../com/novell/Chat/ChatServer.html">ChatServer</A> <B>getServer</B>(java.lang.String&nbsp;key)</PRE>
<DL>
<DD>Uses the key to find a reference to the ChatServer.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - The IP:Port combination that references the ChatServer desired.<DT><B>Returns:</B><DD>The ChatServer, or null if not found.</DL>
</DD>
</DL>
<HR>

<A NAME="isInitialized()"><!-- --></A><H3>
isInitialized</H3>
<PRE>
public boolean <B>isInitialized</B>()</PRE>
<DL>
<DD>Checks to see if Chat has been initialized.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>True when Chat has been initialized.</DL>
</DD>
</DL>
<HR>

<A NAME="getUserIdentity(com.novell.Chat.ObjectEntry)"><!-- --></A><H3>
getUserIdentity</H3>
<PRE>
public <A HREF="../../../com/novell/Chat/ChatUser.html">ChatUser</A> <B>getUserIdentity</B>(com.novell.Chat.ObjectEntry&nbsp;sameTreeOE)</PRE>
<DL>
<DD>Finds the identity of the user that is authenticated 
 to the tree the given ObjectEntry is from.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sameTreeOE</CODE> - An object entry in the tree where the user
                   is authenticated.<DT><B>Returns:</B><DD>The ChatUser Object for the found user.</DL>
</DD>
</DL>
<HR>

<A NAME="isRoomOwner(java.lang.String)"><!-- --></A><H3>
isRoomOwner</H3>
<PRE>
public boolean <B>isRoomOwner</B>(java.lang.String&nbsp;owner)</PRE>
<DL>
<DD>Checks to see if the given chat room owner is this user.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>owner</CODE> - The chat room's owner to check for in the list.<DT><B>Returns:</B><DD>True if it is in the identity cache.</DL>
</DD>
</DL>
<HR>

<A NAME="findAuthenticatedIdentities(boolean)"><!-- --></A><H3>
findAuthenticatedIdentities</H3>
<PRE>
public void <B>findAuthenticatedIdentities</B>(boolean&nbsp;listen)</PRE>
<DL>
<DD>Finds the identity of the user that is authenticated 
 to each tree under the root.  A ChatServer is then started for each 
 of these users in order to listen for Chat requests.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listen</CODE> - True if the new servers should begin listening immediatly.</DL>
</DD>
</DL>
<HR>

<A NAME="getIPAddress(com.novell.Chat.ObjectEntry, java.lang.String)"><!-- --></A><H3>
getIPAddress</H3>
<PRE>
public java.lang.String <B>getIPAddress</B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                                     java.lang.String&nbsp;when)</PRE>
<DL>
<DD>Gets the given user's IP address.
 If two IP addresses are found, the user will be asked 
 to choose which one to use.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry of the user to find the IP address for.<DD><CODE>when</CODE> - Explains what the IP address will be used for.<DT><B>Returns:</B><DD>The given user's IP address.</DL>
</DD>
</DL>
<HR>

<A NAME="getIPAddresses(com.novell.Chat.ObjectEntry)"><!-- --></A><H3>
getIPAddresses</H3>
<PRE>
public java.util.Vector <B>getIPAddresses</B>(com.novell.Chat.ObjectEntry&nbsp;oe)</PRE>
<DL>
<DD>Finds all of the IP addresses for the given user.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry of the user to find the IP address for.<DT><B>Returns:</B><DD>A list of the user's IP addresses.</DL>
</DD>
</DL>
<HR>

<A NAME="getIcon(java.lang.String)"><!-- --></A><H3>
getIcon</H3>
<PRE>
public javax.swing.Icon <B>getIcon</B>(java.lang.String&nbsp;type)</PRE>
<DL>
<DD>Finds and loads the given icon.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>type</CODE> - The type, or name, of the icon to get.<DT><B>Returns:</B><DD>The icon.</DL>
</DD>
</DL>
<HR>

<A NAME="verifyUser(java.lang.String, java.lang.String)"><!-- --></A><H3>
verifyUser</H3>
<PRE>
public boolean <B>verifyUser</B>(java.lang.String&nbsp;fullName,
                          java.lang.String&nbsp;ipAddress)</PRE>
<DL>
<DD>Verifies that a user is who he says he is by checking the
 known IP address to the NetAddress stored in his user object.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fullName</CODE> - The fullname of the user.<DD><CODE>ipAddress</CODE> - The known IP Address.<DT><B>Returns:</B><DD>True if it verifies, false if it fails.</DL>
</DD>
</DL>
<HR>

<A NAME="setAttributeValue(com.novell.Chat.ObjectEntry, java.lang.String, java.lang.Object, boolean)"><!-- --></A><H3>
setAttributeValue</H3>
<PRE>
public boolean <B>setAttributeValue</B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                                 java.lang.String&nbsp;attributeName,
                                 java.lang.Object&nbsp;newValue,
                                 boolean&nbsp;append)</PRE>
<DL>
<DD>A simple method designed to change the value of an attribute.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry that contains the attribute<DD><CODE>attributeName</CODE> - The name of the attribute<DD><CODE>newValue</CODE> - The new value to add.  If null, the attribute will be 
                 deleted from the object.<DD><CODE>append</CODE> - True if the value should be appended to the list of ValueComponents.<DT><B>Returns:</B><DD>True if successfull</DL>
</DD>
</DL>
<HR>

<A NAME="replaceAttributeValue(com.novell.Chat.ObjectEntry, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
replaceAttributeValue</H3>
<PRE>
public boolean <B>replaceAttributeValue</B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                                     java.lang.String&nbsp;attributeName,
                                     java.lang.String&nbsp;oldValue,
                                     java.lang.String&nbsp;newValue)</PRE>
<DL>
<DD>A simple method designed to replace the given value from a 
 multivalued attribute with a new value.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry that contains the attribute<DD><CODE>attributeName</CODE> - The name of the attribute<DD><CODE>oldValue</CODE> - The old value to remove.<DD><CODE>newValue</CODE> - The new value to add.<DT><B>Returns:</B><DD>True if successfull</DL>
</DD>
</DL>
<HR>

<A NAME="getAttributeValueAsString(com.novell.Chat.ObjectEntry, java.lang.String)"><!-- --></A><H3>
getAttributeValueAsString</H3>
<PRE>
public java.lang.String <B>getAttributeValueAsString</B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                                                  java.lang.String&nbsp;attributeName)</PRE>
<DL>
<DD>A Simple method designed to get the value of an attribute 
 from a given object and return the value as a string regardless 
 of its syntax.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry of the object in NDS.<DD><CODE>attributeName</CODE> - The name of the attribute.<DT><B>Returns:</B><DD>The value of the attribute, null if it fails.</DL>
</DD>
</DL>
<HR>

<A NAME="getMultiValuedAttribute(com.novell.Chat.ObjectEntry, java.lang.String)"><!-- --></A><H3>
getMultiValuedAttribute</H3>
<PRE>
public java.lang.String[] <B>getMultiValuedAttribute</B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                                                  java.lang.String&nbsp;attributeName)</PRE>
<DL>
<DD>For multi-valued attributes.
 A Simple method designed to get the values of a provided attribute 
 from a given object and return the value as a string array.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry of the object in NDS.<DD><CODE>attributeName</CODE> - The name of the attribute.<DT><B>Returns:</B><DD>The value of the attribute, null if it fails.</DL>
</DD>
</DL>
<HR>

<A NAME="checkSchema(com.novell.Chat.ObjectEntry, java.lang.String)"><!-- --></A><H3>
checkSchema</H3>
<PRE>
public boolean <B>checkSchema</B>(com.novell.Chat.ObjectEntry&nbsp;oe,
                           java.lang.String&nbsp;attributeName)</PRE>
<DL>
<DD>Extends the NDS Schema if it hasn't already been extended.

 Classes to add:         Chat Room            (Used by the Chat Room Class)
 Attributes to add:      ChatRoomIPAddress    (Used by the Chat Room Class)
                         ChatRoomOwner        (Used by the Chat Room Class)
                         ChatUserList         (Used by the Chat Room Class)
                         ChatPrefferredUsers  (Added to User Class)
                         ChatPort             (Added to User Class)   
                  
 We first check to see if the Chat Room class has been added.  If so, then
 we will assume that all of the attributes that are used by this class have
 also be added to the schema.  Next we'll check if the attribute ChatPreferredUsers
 has been added.  If this is present, then we will assume that the User object
 has been properly extended. If either haven't, then the schema will be extended 
 if this user has sufficent rights.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - An ObjectEntry in the tree where the schema needs to be extended.<DD><CODE>attributeName</CODE> - The name of the attribute to check, null if it doesn't matter.<DT><B>Returns:</B><DD>True if the schema is properly set up.</DL>
</DD>
</DL>
<HR>

<A NAME="newChatRoom(com.novell.Chat.ObjectEntry, java.lang.String, java.lang.String, int, com.novell.Chat.ObjectEntry)"><!-- --></A><H3>
newChatRoom</H3>
<PRE>
public com.novell.Chat.ObjectEntry <B>newChatRoom</B>(com.novell.Chat.ObjectEntry&nbsp;parentOE,
                                               java.lang.String&nbsp;cn,
                                               java.lang.String&nbsp;ipAddress,
                                               int&nbsp;port,
                                               com.novell.Chat.ObjectEntry&nbsp;ownerOE)</PRE>
<DL>
<DD>Creates a ChatRoom object under the given object.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parentOE</CODE> - The object to place it under.<DD><CODE>cn</CODE> - The Common Name of this ChatRoom Object.<DD><CODE>ipAddress</CODE> - The IPAddress it is listening at.<DD><CODE>port</CODE> - The port it is listening at.<DD><CODE>ownerOE</CODE> - The ObjectEntry of the owner.<DT><B>Returns:</B><DD>The ChatUser ObjectEntry if successfull, null if it failed.</DL>
</DD>
</DL>
<HR>

<A NAME="chatRoomTransfer(com.novell.Chat.ObjectEntry, java.lang.String, int)"><!-- --></A><H3>
chatRoomTransfer</H3>
<PRE>
public boolean <B>chatRoomTransfer</B>(com.novell.Chat.ObjectEntry&nbsp;roomOE,
                                java.lang.String&nbsp;ipAddress,
                                int&nbsp;startColor)</PRE>
<DL>
<DD>Transfers the given chat room to this user at the given
 IP Address.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>roomOE</CODE> - The ObjectEntry of the Chat Room.<DD><CODE>ipAddress</CODE> - The IP Address to change the Chat Room to.<DD><CODE>startColor</CODE> - The user's name color to start with when assigning new
                   name colors.<DT><B>Returns:</B><DD>True if the transfer was successfull.</DL>
</DD>
</DL>
<HR>

<A NAME="createNewUserAttributes(com.novell.Chat.NDSSchemaDefinition)"><!-- --></A><H3>
createNewUserAttributes</H3>
<PRE>
public void <B>createNewUserAttributes</B>(com.novell.Chat.NDSSchemaDefinition&nbsp;def)
                             throws com.novell.Chat.SPIException,
                                    com.novell.Chat.NamespaceException,
                                    java.beans.PropertyVetoException</PRE>
<DL>
<DD>Creates the new attributes to add to the user's class.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>def</CODE> - The Schema definition.<DT><B>Throws:</B><DD>com.novell.Chat.SPIException - &nbsp;<DD>com.novell.Chat.NamespaceException - &nbsp;<DD>java.beans.PropertyVetoException - &nbsp;</DL>
</DD>
</DL>
<HR>

<A NAME="createChatServer(int, com.novell.Chat.ChatUser, int)"><!-- --></A><H3>
createChatServer</H3>
<PRE>
public <A HREF="../../../com/novell/Chat/ChatServer.html">ChatServer</A> <B>createChatServer</B>(int&nbsp;port,
                                   <A HREF="../../../com/novell/Chat/ChatUser.html">ChatUser</A>&nbsp;user,
                                   int&nbsp;startColor)</PRE>
<DL>
<DD>Creates a new Chat server for the given ChatUser.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>port</CODE> - The port on which this server will listen for connections.<DD><CODE>user</CODE> - The ChatUser associated with this server.<DD><CODE>startColor</CODE> - The color to start this user at in the ChatDialog.</DL>
</DD>
</DL>
<HR>

<A NAME="listen(boolean)"><!-- --></A><H3>
listen</H3>
<PRE>
public void <B>listen</B>(boolean&nbsp;listen)</PRE>
<DL>
<DD>Starts the default chat servers listening for connections.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listen</CODE> - True if the server should be listening.</DL>
</DD>
</DL>
<HR>

<A NAME="isListening()"><!-- --></A><H3>
isListening</H3>
<PRE>
public boolean <B>isListening</B>()</PRE>
<DL>
<DD>Checks to see if the chat servers are listening.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>True if listening.</DL>
</DD>
</DL>
<HR>

<A NAME="requestChat(com.novell.Chat.ObjectEntry)"><!-- --></A><H3>
requestChat</H3>
<PRE>
public void <B>requestChat</B>(com.novell.Chat.ObjectEntry&nbsp;oe)</PRE>
<DL>
<DD>Called when a user requests to chat with either another user or
 a Chat Room.  This will make a connection with the user and send
 a request to chat message.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oe</CODE> - The ObjectEntry to connect to.</DL>
</DD>
</DL>
<HR>

<A NAME="swapConnectionKeys(java.lang.String, java.lang.String, com.novell.Chat.ChatClient)"><!-- --></A><H3>
swapConnectionKeys</H3>
<PRE>
public void <B>swapConnectionKeys</B>(java.lang.String&nbsp;oldKey,
                               java.lang.String&nbsp;newKey,
                               <A HREF="../../../com/novell/Chat/ChatClient.html">ChatClient</A>&nbsp;client)</PRE>
<DL>
<DD>Replaces the keys used in the connectionList table.  This is 
 done when the Chat Room Server is transferred to another user.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oldKey</CODE> - The key to replace.<DD><CODE>newKey</CODE> - The key to use.<DD><CODE>client</CODE> - The ChatClient associated with the key.</DL>
</DD>
</DL>
<HR>

<A NAME="addChatListener(com.novell.Chat.ChatStatusListener)"><!-- --></A><H3>
addChatListener</H3>
<PRE>
public void <B>addChatListener</B>(<A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Adds a ChatStatusListener to the Chat manager.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - The ChatStatusListener to add.</DL>
</DD>
</DL>
<HR>

<A NAME="removeChatListener(com.novell.Chat.ChatStatusListener)"><!-- --></A><H3>
removeChatListener</H3>
<PRE>
public void <B>removeChatListener</B>(<A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A>&nbsp;listener)</PRE>
<DL>
<DD>Removes a ChatStatusListener from the Chat manager.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>listener</CODE> - The ChatStatusListener to remove.</DL>
</DD>
</DL>
<HR>

<A NAME="disconnected(java.lang.String)"><!-- --></A><H3>
disconnected</H3>
<PRE>
public void <B>disconnected</B>(java.lang.String&nbsp;key)</PRE>
<DL>
<DD>Implementation of the ChatStatusListener Interface.

 Called when the connection is lost by the client or when the server's
 last connection is lost.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../com/novell/Chat/ChatStatusListener.html#disconnected(java.lang.String)">disconnected</A> in interface <A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - The (IP:Port) key of the connection.</DL>
</DD>
</DL>
<HR>

<A NAME="chatStatus(java.lang.String)"><!-- --></A><H3>
chatStatus</H3>
<PRE>
public void <B>chatStatus</B>(java.lang.String&nbsp;status)</PRE>
<DL>
<DD>Implementation of the ChatStatusListener Interface.  

 Called when the client or the server has a change of status.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../com/novell/Chat/ChatStatusListener.html#chatStatus(java.lang.String)">chatStatus</A> in interface <A HREF="../../../com/novell/Chat/ChatStatusListener.html">ChatStatusListener</A></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>status</CODE> - The status message sent.</DL>
</DD>
</DL>
<HR>

<A NAME="vetoableSnapinListener(com.novell.Chat.SnapinEvent)"><!-- --></A><H3>
vetoableSnapinListener</H3>
<PRE>
public void <B>vetoableSnapinListener</B>(com.novell.Chat.SnapinEvent&nbsp;event)
                            throws com.novell.Chat.SnapinVetoException</PRE>
<DL>
<DD>Implementation of the VetoableSnapinListener Interface.

 Called when the user attempts to delete an object.
 Only the owner of the Chat Room should have delete rights to
 Chat Rooms.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>event</CODE> - The SnapinEvent.<DT><B>Throws:</B><DD>com.novell.Chat.SnapinVetoException - Thrown to veto the action.</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=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">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="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="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../com/novell/Chat/ChatClient.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="Chat.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&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>