Click here to Skip to main content
15,886,830 members
Articles / Programming Languages / Java

Functional Java

Rate me:
Please Sign up or sign in to vote.
4.11/5 (6 votes)
7 Dec 2010CPOL8 min read 39.6K   284   14  
Functional programming with functors and object streams in Java.
<!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.5.0_22) on Sun Dec 05 01:19:44 EST 2010 -->
<TITLE>
swensen.functional Class Hierarchy (Functional Java)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="swensen.functional Class Hierarchy (Functional Java)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= 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="../../swensen/functional/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&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>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../index.html?swensen/functional/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="package-tree.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>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<CENTER>
<H2>
Hierarchy For Package swensen.functional
</H2>
</CENTER>
<H2>
Class Hierarchy
</H2>
<UL>
<LI TYPE="circle">java.lang.Object<UL>
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/CallableFunc.html" title="class in swensen.functional"><B>CallableFunc</B></A>&lt;T&gt; (implements java.util.concurrent.Callable&lt;V&gt;, swensen.functional.<A HREF="../../swensen/functional/Func0.html" title="interface in swensen.functional">Func0</A>&lt;R&gt;)
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/ComparatorFunc.html" title="class in swensen.functional"><B>ComparatorFunc</B></A>&lt;T&gt; (implements java.util.Comparator&lt;T&gt;, swensen.functional.<A HREF="../../swensen/functional/Func2.html" title="interface in swensen.functional">Func2</A>&lt;T1,T2,R&gt;)
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Predicate.html" title="class in swensen.functional"><B>Predicate</B></A>&lt;T&gt; (implements swensen.functional.<A HREF="../../swensen/functional/Func1.html" title="interface in swensen.functional">Func1</A>&lt;T1,R&gt;)
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/ReadonlyIterator.html" title="class in swensen.functional"><B>ReadonlyIterator</B></A>&lt;E&gt; (implements java.util.Iterator&lt;E&gt;)
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/RunnableAction.html" title="class in swensen.functional"><B>RunnableAction</B></A> (implements swensen.functional.<A HREF="../../swensen/functional/Action0.html" title="interface in swensen.functional">Action0</A>, java.lang.Runnable)
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Seq.html" title="class in swensen.functional"><B>Seq</B></A>&lt;E&gt; (implements java.lang.Iterable&lt;T&gt;)
<UL>
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/GroupingSeq.html" title="class in swensen.functional"><B>GroupingSeq</B></A>&lt;R,E&gt;</UL>
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple1.html" title="class in swensen.functional"><B>Tuple1</B></A>&lt;T1&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple2.html" title="class in swensen.functional"><B>Tuple2</B></A>&lt;T1,T2&gt;<UL>
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Grouping.html" title="class in swensen.functional"><B>Grouping</B></A>&lt;R,E&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Partition.html" title="class in swensen.functional"><B>Partition</B></A>&lt;E&gt;</UL>
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple3.html" title="class in swensen.functional"><B>Tuple3</B></A>&lt;T1,T2,T3&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple4.html" title="class in swensen.functional"><B>Tuple4</B></A>&lt;T1,T2,T3,T4&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple5.html" title="class in swensen.functional"><B>Tuple5</B></A>&lt;T1,T2,T3,T4,T5&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple6.html" title="class in swensen.functional"><B>Tuple6</B></A>&lt;T1,T2,T3,T4,T5,T6&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuple7.html" title="class in swensen.functional"><B>Tuple7</B></A>&lt;T1,T2,T3,T4,T5,T6,T7&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Tuples.html" title="class in swensen.functional"><B>Tuples</B></A></UL>
</UL>
<H2>
Interface Hierarchy
</H2>
<UL>
<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Action0.html" title="interface in swensen.functional"><B>Action0</B></A><LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Action1.html" title="interface in swensen.functional"><B>Action1</B></A>&lt;T1&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Action2.html" title="interface in swensen.functional"><B>Action2</B></A>&lt;T1,T2&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Action3.html" title="interface in swensen.functional"><B>Action3</B></A>&lt;T1,T2,T3&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Action4.html" title="interface in swensen.functional"><B>Action4</B></A>&lt;T1,T2,T3,T4&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Action5.html" title="interface in swensen.functional"><B>Action5</B></A>&lt;T1,T2,T3,T4,T5&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func0.html" title="interface in swensen.functional"><B>Func0</B></A>&lt;R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func1.html" title="interface in swensen.functional"><B>Func1</B></A>&lt;T1,R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func2.html" title="interface in swensen.functional"><B>Func2</B></A>&lt;T1,T2,R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func3.html" title="interface in swensen.functional"><B>Func3</B></A>&lt;T1,T2,T3,R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func4.html" title="interface in swensen.functional"><B>Func4</B></A>&lt;T1,T2,T3,T4,R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func5.html" title="interface in swensen.functional"><B>Func5</B></A>&lt;T1,T2,T3,T4,T5,R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func6.html" title="interface in swensen.functional"><B>Func6</B></A>&lt;T1,T2,T3,T4,T5,T6,R&gt;<LI TYPE="circle">swensen.functional.<A HREF="../../swensen/functional/Func7.html" title="interface in swensen.functional"><B>Func7</B></A>&lt;T1,T2,T3,T4,T5,T6,T7,R&gt;</UL>
<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="../../swensen/functional/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&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>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../index.html?swensen/functional/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="package-tree.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>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
I'm developing Unquote, a library for writing unit test assertions as F# quoted expressions: http://code.google.com/p/unquote/

I am working through Project Euler with F#: http://projecteulerfun.blogspot.com/

I participate in Stack Overflow: http://stackoverflow.com/users/236255/stephen-swensen

Comments and Discussions