gecko-dev/grendel/docs/calypso/util/ListenerList.html

353 строки
13 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Sun Aug 01 23:07:07 MDT 1999 -->
<TITLE>
: Class ListenerList
</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" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="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" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../calypso/util/LineBufferingInputStream.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../calypso/util/ListenerListState.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ListenerList.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
calypso.util</FONT>
<BR>
Class ListenerList</H2>
<PRE>
java.lang.Object
|
+--<B>calypso.util.ListenerList</B>
</PRE>
<HR>
<DL>
<DT>public class <B>ListenerList</B><DT>extends java.lang.Object</DL>
<P>
ListenersList is a thread-safe, reentrant class which
contains a list of EventListeners and enforce some
policy on event dispatching. <p>
This class guarantees that events delivering is correctly
accomplished even if listeners are removed from or added to the list during
event dispatching. Added listeners, though, will not receive the current event. <p>
Event listeners are returned <b>LIFO</b>. <p>
User of this class must enclose event dispatching between
startDelivering()/stopDelivering() calls and pass the state object
to the nextListener call. <p>
<pre>
ListenerListState state = eventListeners.startDelivering();
SomeEventListener el = (SomeEventListener)eventListeners.nextListener(state);
while (null != el) {
el.someEvent();
el = (SomeEventListener)eventListeners.nextListener(state);
}
eventListeners.stopDelivering(state);
</pre>
<P>
<HR>
<P>
<!-- ======== INNER CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#ListenerList()">ListenerList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct an array of listeners with the specifed size.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#ListenerList(int)">ListenerList</A></B>(int&nbsp;aSize)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct an array of listeners with the specifed size.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#addListener(java.util.EventListener)">addListener</A></B>(java.util.EventListener&nbsp;aListener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a new event listener for the class of events
this ListenersList is mantaining.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.EventListener</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#nextListener(calypso.util.ListenerListState)">nextListener</A></B>(<A HREF="../../calypso/util/ListenerListState.html">ListenerListState</A>&nbsp;aState)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the next EventListener in the array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#removeListener(java.util.EventListener)">removeListener</A></B>(java.util.EventListener&nbsp;aListener)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove a listener from the list of listeners this
ListenersList is mantaining.
Existing and valid state object are updated to reflect
this change.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../calypso/util/ListenerListState.html">ListenerListState</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#startDelivering()">startDelivering</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A user of this class is starting event delivery.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../calypso/util/ListenerList.html#stopDelivering(calypso.util.ListenerListState)">stopDelivering</A></B>(<A HREF="../../calypso/util/ListenerListState.html">ListenerListState</A>&nbsp;aState)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A user completed or aborted event delivering.</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" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="ListenerList(int)"><!-- --></A><H3>
ListenerList</H3>
<PRE>
public <B>ListenerList</B>(int&nbsp;aSize)</PRE>
<DL>
<DD>Construct an array of listeners with the specifed size. <p>
The array size is doubled every time an element is added
to a full array.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aSize</CODE> - the required size</DL>
</DD>
</DL>
<HR>
<A NAME="ListenerList()"><!-- --></A><H3>
ListenerList</H3>
<PRE>
public <B>ListenerList</B>()</PRE>
<DL>
<DD>Construct an array of listeners with the specifed size. <p>
The array size is doubled every time an element is added
to a full array.</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="addListener(java.util.EventListener)"><!-- --></A><H3>
addListener</H3>
<PRE>
public void <B>addListener</B>(java.util.EventListener&nbsp;aListener)</PRE>
<DL>
<DD>Set a new event listener for the class of events
this ListenersList is mantaining.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aListener</CODE> - a listener for the specific set of events</DL>
</DD>
</DL>
<HR>
<A NAME="removeListener(java.util.EventListener)"><!-- --></A><H3>
removeListener</H3>
<PRE>
public void <B>removeListener</B>(java.util.EventListener&nbsp;aListener)</PRE>
<DL>
<DD>Remove a listener from the list of listeners this
ListenersList is mantaining.<p>
Existing and valid state object are updated to reflect
this change.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aListener</CODE> - a listener for the specific set of events</DL>
</DD>
</DL>
<HR>
<A NAME="startDelivering()"><!-- --></A><H3>
startDelivering</H3>
<PRE>
public <A HREF="../../calypso/util/ListenerListState.html">ListenerListState</A> <B>startDelivering</B>()</PRE>
<DL>
<DD>A user of this class is starting event delivery. <p>
The state object represents the state of the list for
that user and has to be passed in every nextListener call.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aListener</CODE> - a listener for the specific set of events<DT><B>Returns:</B><DD>ListenerListState the state of the list for the caller</DL>
</DD>
</DL>
<HR>
<A NAME="stopDelivering(calypso.util.ListenerListState)"><!-- --></A><H3>
stopDelivering</H3>
<PRE>
public void <B>stopDelivering</B>(<A HREF="../../calypso/util/ListenerListState.html">ListenerListState</A>&nbsp;aState)</PRE>
<DL>
<DD>A user completed or aborted event delivering. <p><DD><DL>
<DT><B>Returns:</B><DD>aState the state of the list for the caller</DL>
</DD>
</DL>
<HR>
<A NAME="nextListener(calypso.util.ListenerListState)"><!-- --></A><H3>
nextListener</H3>
<PRE>
public java.util.EventListener <B>nextListener</B>(<A HREF="../../calypso/util/ListenerListState.html">ListenerListState</A>&nbsp;aState)</PRE>
<DL>
<DD>Return the next EventListener in the array. <p>
Listeners are returned with a last-in/first-out (LIFO) policy.<DD><DL>
<DT><B>Returns:</B><DD>aState the state of the list for the caller</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" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="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" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../calypso/util/LineBufferingInputStream.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../calypso/util/ListenerListState.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ListenerList.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
</BODY>
</HTML>