blob: 16cd278391920ca4fa5bd80d9519d9ade9dc6110 [file] [log] [blame]
<!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_06) on Fri Jun 05 14:31:28 PDT 2009 -->
<TITLE>
AxiomaticSet
</TITLE>
<META NAME="date" CONTENT="2009-06-05">
<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="AxiomaticSet";
}
}
</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/AxiomaticSet.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-files/index-1.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>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSetUtil.html" title="class in org.eclipse.jst.jsf.common.sets"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AxiomaticSet.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;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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">
org.eclipse.jst.jsf.common.sets</FONT>
<BR>
Interface AxiomaticSet</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD>java.util.Collection, java.lang.Iterable, java.util.Set</DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/ConcreteAxiomaticSet.html" title="class in org.eclipse.jst.jsf.common.sets">ConcreteAxiomaticSet</A>, <A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/NodeSet.html" title="class in org.eclipse.jst.jsf.common.sets">NodeSet</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>AxiomaticSet</B><DT>extends java.util.Set</DL>
</PRE>
<P>
A java.util.Set with the basic mathematic set axioms of
extensionality (equality), union, intersection,
relative complement (set subtraction) and empty (already
supported by Set).
<p><b>Provisional API - subject to change</b></p>
<P>
<P>
<HR>
<P>
<!-- ========== 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;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html#getFirstElement()">getFirstElement</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html#intersect(org.eclipse.jst.jsf.common.sets.AxiomaticSet)">intersect</A></B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html#isDisjoint(org.eclipse.jst.jsf.common.sets.AxiomaticSet)">isDisjoint</A></B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html#isEquivalent(org.eclipse.jst.jsf.common.sets.AxiomaticSet)">isEquivalent</A></B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;toSet)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementations should aim to provide O(mn) time cost
where n is the number of elements in this set and
m is the cost to check membership of an element in this
set in toSet.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html#subtract(org.eclipse.jst.jsf.common.sets.AxiomaticSet)">subtract</A></B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The set constructed by the removing the intersection
of this with set from this.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html#union(org.eclipse.jst.jsf.common.sets.AxiomaticSet)">union</A></B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.util.Set"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface java.util.Set</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ 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="isEquivalent(org.eclipse.jst.jsf.common.sets.AxiomaticSet)"><!-- --></A><H3>
isEquivalent</H3>
<PRE>
boolean <B>isEquivalent</B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;toSet)</PRE>
<DL>
<DD>Implementations should aim to provide O(mn) time cost
where n is the number of elements in this set and
m is the cost to check membership of an element in this
set in toSet. When a set is itself a member of a set,
the implementation must call isEquivalent on those subsets
recursively.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>toSet</CODE> -
<DT><B>Returns:</B><DD>true iff this set is equivalent toSet. Note
that extensionality holds that two sets are equivalent
if and only if they contain exactly the same elements.</DL>
</DD>
</DL>
<HR>
<A NAME="union(org.eclipse.jst.jsf.common.sets.AxiomaticSet)"><!-- --></A><H3>
union</H3>
<PRE>
<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A> <B>union</B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>set</CODE> -
<DT><B>Returns:</B><DD>the axiomatic union of this set with set</DL>
</DD>
</DL>
<HR>
<A NAME="intersect(org.eclipse.jst.jsf.common.sets.AxiomaticSet)"><!-- --></A><H3>
intersect</H3>
<PRE>
<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A> <B>intersect</B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>set</CODE> -
<DT><B>Returns:</B><DD>the axiomatic intersection of this set with set</DL>
</DD>
</DL>
<HR>
<A NAME="isDisjoint(org.eclipse.jst.jsf.common.sets.AxiomaticSet)"><!-- --></A><H3>
isDisjoint</H3>
<PRE>
boolean <B>isDisjoint</B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>set</CODE> -
<DT><B>Returns:</B><DD>convenience method that must be equivalent to
(this.intersect(set).isEmpty())</DL>
</DD>
</DL>
<HR>
<A NAME="subtract(org.eclipse.jst.jsf.common.sets.AxiomaticSet)"><!-- --></A><H3>
subtract</H3>
<PRE>
<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A> <B>subtract</B>(<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" title="interface in org.eclipse.jst.jsf.common.sets">AxiomaticSet</A>&nbsp;set)</PRE>
<DL>
<DD>The set constructed by the removing the intersection
of this with set from this. The set will contain all
elements in this that are not in set.
Eqivalence: this - set
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>set</CODE> -
<DT><B>Returns:</B><DD>the relative complement or theoretic difference of
set from this</DL>
</DD>
</DL>
<HR>
<A NAME="getFirstElement()"><!-- --></A><H3>
getFirstElement</H3>
<PRE>
java.lang.Object <B>getFirstElement</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the first element in the set. There is no guarantee which element
will be chosen, but the call should always return the same element of the set
for multiple invocations on the same set. Generally this is a convience method
for when the set only contains one element.
<DT><B>Throws:</B>
<DD><CODE>java.util.NoSuchElementException</CODE> - if the set is empty.</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/AxiomaticSet.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-files/index-1.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>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/jst/jsf/common/sets/AxiomaticSetUtil.html" title="class in org.eclipse.jst.jsf.common.sets"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/jst/jsf/common/sets/AxiomaticSet.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AxiomaticSet.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;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>