749 lines
28 KiB
HTML
Raw Normal View History

2019-05-13 16:45:05 +04:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_07) on Fri Mar 13 20:01:13 CET 2009 -->
<TITLE>
IdSet (Rice Pastry - API Specifications)
</TITLE>
<META NAME="date" CONTENT="2009-03-13">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="IdSet (Rice Pastry - API Specifications)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<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/IdSet.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>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../rice/pastry/IdRange.html" title="class in rice.pastry"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../rice/pastry/JoinFailedException.html" title="class in rice.pastry"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?rice/pastry/IdSet.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IdSet.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
rice.pastry</FONT>
<BR>
Class IdSet</H2>
<PRE>
java.lang.Object
<IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>rice.pastry.IdSet</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public final class <B>IdSet</B><DT>extends java.lang.Object<DT>implements <A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></DL>
</PRE>
<P>
Represents a set of Pastry ids.
needs to be final otherwise:
clone method does not call super.clone()
This non-final class defines a clone() method that does not call super.
clone(). If this class ("A") is extended by a subclass ("B"), and the subclass
B calls super.clone(), then it is likely that B's clone() method will return an
object of type A, which violates the standard contract for clone().
If all clone() methods call super.clone(), then they are guaranteed to use
Object.clone(), which always returns an object of the correct type.
<P>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>$Id: IdSet.java 4654 2009-01-08 16:33:07Z jeffh $</DD>
<DT><B>Author:</B></DT>
<DD>Peter Druschel</DD>
<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#rice.pastry.IdSet">Serialized Form</A></DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#IdSet()">IdSet</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#IdSet(java.util.SortedMap)">IdSet</A></B>(java.util.SortedMap&nbsp;s)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</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="../../rice/pastry/IdSet.html#addId(rice.p2p.commonapi.Id)">addId</A></B>(<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a member</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="../../rice/pastry/IdSet.html#addMember(rice.pastry.Id)">addMember</A></B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a member</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#asArray()">asArray</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this set as an array</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#build()">build</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new, empty IdSet of this type</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#clone()">clone</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Override clone() to make it publicly accessible</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#getHash()">getHash</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compute a fingerprint of the members in this IdSet</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#getIterator()">getIterator</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return an iterator over the elements of this set</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#hash()">hash</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a hash of this set</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="../../rice/pastry/IdSet.html#isMember(rice.pastry.Id)">isMember</A></B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test membership</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="../../rice/pastry/IdSet.html#isMemberId(rice.p2p.commonapi.Id)">isMemberId</A></B>(<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test membership</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#maxMember()">maxMember</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return the largest member id</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#minMember()">minMember</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return the smallest member id</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="../../rice/pastry/IdSet.html#numElements()">numElements</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return the number of elements</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="../../rice/pastry/IdSet.html#removeId(rice.p2p.commonapi.Id)">removeId</A></B>(<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove a member</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="../../rice/pastry/IdSet.html#removeMember(rice.pastry.Id)">removeMember</A></B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove a member</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/pastry/IdSet.html" title="class in rice.pastry">IdSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#subSet(rice.pastry.Id, rice.pastry.Id)">subSet</A></B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;from,
<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;to)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a subset of this set, consisting of the member ids in a given range</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/pastry/IdSet.html" title="class in rice.pastry">IdSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#subSet(rice.pastry.IdRange)">subSet</A></B>(<A HREF="../../rice/pastry/IdRange.html" title="class in rice.pastry">IdRange</A>&nbsp;range)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a subset of this set, consisting of the member ids in a given range</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../rice/pastry/IdSet.html#subSet(rice.p2p.commonapi.IdRange)">subSet</A></B>(<A HREF="../../rice/p2p/commonapi/IdRange.html" title="interface in rice.p2p.commonapi">IdRange</A>&nbsp;range)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a subset of this set, consisting of the member ids in a given range</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="../../rice/pastry/IdSet.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation of the IdSet.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="IdSet()"><!-- --></A><H3>
IdSet</H3>
<PRE>
public <B>IdSet</B>()</PRE>
<DL>
<DD>Constructor.
<P>
</DL>
<HR>
<A NAME="IdSet(java.util.SortedMap)"><!-- --></A><H3>
IdSet</H3>
<PRE>
public <B>IdSet</B>(java.util.SortedMap&nbsp;s)</PRE>
<DL>
<DD>Constructor.
constructs
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>s</CODE> - the TreeSet based on which we construct a new IdSet</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="numElements()"><!-- --></A><H3>
numElements</H3>
<PRE>
public int <B>numElements</B>()</PRE>
<DL>
<DD>return the number of elements
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#numElements()">numElements</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addMember(rice.pastry.Id)"><!-- --></A><H3>
addMember</H3>
<PRE>
public void <B>addMember</B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;id)</PRE>
<DL>
<DD>add a member
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id to add</DL>
</DD>
</DL>
<HR>
<A NAME="removeMember(rice.pastry.Id)"><!-- --></A><H3>
removeMember</H3>
<PRE>
public void <B>removeMember</B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;id)</PRE>
<DL>
<DD>remove a member
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id to remove</DL>
</DD>
</DL>
<HR>
<A NAME="isMember(rice.pastry.Id)"><!-- --></A><H3>
isMember</H3>
<PRE>
public boolean <B>isMember</B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;id)</PRE>
<DL>
<DD>test membership
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id to test
<DT><B>Returns:</B><DD>true of id is a member, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="minMember()"><!-- --></A><H3>
minMember</H3>
<PRE>
public <A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A> <B>minMember</B>()</PRE>
<DL>
<DD>return the smallest member id
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the smallest id in the set</DL>
</DD>
</DL>
<HR>
<A NAME="maxMember()"><!-- --></A><H3>
maxMember</H3>
<PRE>
public <A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A> <B>maxMember</B>()</PRE>
<DL>
<DD>return the largest member id
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the largest id in the set</DL>
</DD>
</DL>
<HR>
<A NAME="subSet(rice.pastry.Id, rice.pastry.Id)"><!-- --></A><H3>
subSet</H3>
<PRE>
public <A HREF="../../rice/pastry/IdSet.html" title="class in rice.pastry">IdSet</A> <B>subSet</B>(<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;from,
<A HREF="../../rice/pastry/Id.html" title="class in rice.pastry">Id</A>&nbsp;to)</PRE>
<DL>
<DD>return a subset of this set, consisting of the member ids in a given range
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>from</CODE> - the counterclockwise end of the range (inclusive)<DD><CODE>to</CODE> - the clockwise end of the range (exclusive)
<DT><B>Returns:</B><DD>the subset</DL>
</DD>
</DL>
<HR>
<A NAME="subSet(rice.pastry.IdRange)"><!-- --></A><H3>
subSet</H3>
<PRE>
public <A HREF="../../rice/pastry/IdSet.html" title="class in rice.pastry">IdSet</A> <B>subSet</B>(<A HREF="../../rice/pastry/IdRange.html" title="class in rice.pastry">IdRange</A>&nbsp;range)</PRE>
<DL>
<DD>return a subset of this set, consisting of the member ids in a given range
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>range</CODE> - the range
<DT><B>Returns:</B><DD>the subset</DL>
</DD>
</DL>
<HR>
<A NAME="getIterator()"><!-- --></A><H3>
getIterator</H3>
<PRE>
public java.util.Iterator <B>getIterator</B>()</PRE>
<DL>
<DD>return an iterator over the elements of this set
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#getIterator()">getIterator</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the interator</DL>
</DD>
</DL>
<HR>
<A NAME="getHash()"><!-- --></A><H3>
getHash</H3>
<PRE>
public byte[] <B>getHash</B>()</PRE>
<DL>
<DD>compute a fingerprint of the members in this IdSet
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>an Id containing the secure hash of this set</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>Returns a string representation of the IdSet.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addId(rice.p2p.commonapi.Id)"><!-- --></A><H3>
addId</H3>
<PRE>
public void <B>addId</B>(<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id)</PRE>
<DL>
<DD>add a member
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#addId(rice.p2p.commonapi.Id)">addId</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id to add</DL>
</DD>
</DL>
<HR>
<A NAME="removeId(rice.p2p.commonapi.Id)"><!-- --></A><H3>
removeId</H3>
<PRE>
public void <B>removeId</B>(<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id)</PRE>
<DL>
<DD>remove a member
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#removeId(rice.p2p.commonapi.Id)">removeId</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id to remove</DL>
</DD>
</DL>
<HR>
<A NAME="isMemberId(rice.p2p.commonapi.Id)"><!-- --></A><H3>
isMemberId</H3>
<PRE>
public boolean <B>isMemberId</B>(<A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id)</PRE>
<DL>
<DD>test membership
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#isMemberId(rice.p2p.commonapi.Id)">isMemberId</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the id to test
<DT><B>Returns:</B><DD>true of id is a member, false otherwise</DL>
</DD>
</DL>
<HR>
<A NAME="build()"><!-- --></A><H3>
build</H3>
<PRE>
public <A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A> <B>build</B>()</PRE>
<DL>
<DD>Returns a new, empty IdSet of this type
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#build()">build</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>A new IdSet</DL>
</DD>
</DL>
<HR>
<A NAME="subSet(rice.p2p.commonapi.IdRange)"><!-- --></A><H3>
subSet</H3>
<PRE>
public <A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A> <B>subSet</B>(<A HREF="../../rice/p2p/commonapi/IdRange.html" title="interface in rice.p2p.commonapi">IdRange</A>&nbsp;range)</PRE>
<DL>
<DD>return a subset of this set, consisting of the member ids in a given range
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#subSet(rice.p2p.commonapi.IdRange)">subSet</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>from</CODE> - the lower end of the range (inclusive)<DD><CODE>to</CODE> - the upper end of the range (exclusive)
<DT><B>Returns:</B><DD>the subset</DL>
</DD>
</DL>
<HR>
<A NAME="hash()"><!-- --></A><H3>
hash</H3>
<PRE>
public byte[] <B>hash</B>()</PRE>
<DL>
<DD>return a hash of this set
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#hash()">hash</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the hash of this set</DL>
</DD>
</DL>
<HR>
<A NAME="asArray()"><!-- --></A><H3>
asArray</H3>
<PRE>
public <A HREF="../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[] <B>asArray</B>()</PRE>
<DL>
<DD>return this set as an array
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#asArray()">asArray</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the array</DL>
</DD>
</DL>
<HR>
<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public java.lang.Object <B>clone</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#clone()">IdSet</A></CODE></B></DD>
<DD>Override clone() to make it publicly accessible
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../rice/p2p/commonapi/IdSet.html#clone()">clone</A></CODE> in interface <CODE><A HREF="../../rice/p2p/commonapi/IdSet.html" title="interface in rice.p2p.commonapi">IdSet</A></CODE><DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>A clone of this set</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<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/IdSet.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>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../rice/pastry/IdRange.html" title="class in rice.pastry"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../rice/pastry/JoinFailedException.html" title="class in rice.pastry"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html?rice/pastry/IdSet.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IdSet.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2001-2005 - Rice Pastry.</i>
</BODY>
</HTML>