Lastly, on commons-chain, the docs on Chain say

A [EMAIL PROTECTED] Chain} represents a configured list of
 * [EMAIL PROTECTED] Command}s that will be executed in order to perform 
processing
 * on a specified [EMAIL PROTECTED] Context}.  Each included [EMAIL PROTECTED] 
Command} will be
 * executed in turn, until either one of them returns <code>true</code>,
 * one of the executed [EMAIL PROTECTED] Command}s throws an exception,
 * or the end of the chain has been reached.  The [EMAIL PROTECTED] Chain} 
itself will
 * return the return value of the last [EMAIL PROTECTED] Command} that was 
executed
 * (if no exception was thrown), or rethrow the thrown exception.</p>
 *
 * <p>Note that [EMAIL PROTECTED] Chain} extends [EMAIL PROTECTED] Command}, so 
that the two can
 * be used interchangeably when a [EMAIL PROTECTED] Command} is expected.  This 
makes it
 * easy to assemble workflows in a hierarchical manner by combining subchains
 * into an overall processing chain.</p>
 *
 * <p>To protect applications from evolution of this interface, specialized
 * implementations of [EMAIL PROTECTED] Chain} should generally be created by 
extending
 * the provided base class [EMAIL PROTECTED] 
org.apache.commons.chain.impl.ChainBase})
 * rather than directly implementing this interface.</p>
 *
 * <p>[EMAIL PROTECTED] Chain} implementations should be designed in a 
thread-safe
 * manner, suitable for execution on multiple threads simultaneously.  In
 * general, this implies that the state information identifying which
 * [EMAIL PROTECTED] Command} is currently being executed should be maintained 
in a
 * local variable inside the <code>execute()</code> method, rather than
 * in an instance variable.  The [EMAIL PROTECTED] Command}s in a [EMAIL 
PROTECTED] Chain} may be
 * configured (via calls to <code>addCommand()</code>) at any time before
 * the <code>execute()</code> method of the [EMAIL PROTECTED] Chain} is first 
called.
 * After that, the configuration of the [EMAIL PROTECTED] Chain} is frozen.</p>

That really sort of sums things up pretty good.

Jack


On Fri, 7 Jan 2005 16:45:32 -0800, Dakota Jack <[EMAIL PROTECTED]> wrote:
> So, a Chain is a Command which holds another Command.  That is about it.
> 
> Jack
> 
> 
> On Fri, 7 Jan 2005 16:44:04 -0800, Dakota Jack <[EMAIL PROTECTED]> wrote:
> > Sorry, Wendy, the first method in Chain is void addCommand(Command command);
> >
> > Jack
> >
> > On Fri, 07 Jan 2005 16:50:57 -0700, Wendy Smoak <[EMAIL PROTECTED]> wrote:
> > > From: "Frank W. Zammetti" <[EMAIL PROTECTED]>
> > > > Eh, I feel like I've hijacked this thread now, so let me get off this
> > > > topic for now.  Thanks for your insight though Joe!
> > >
> > > Go right ahead-- I got my answer in that I never cared about
> > > RequestProcessor, so I don't need to worry about Chain too much.  For some
> > > reason I thought it was something else entirely (something to help move
> > > users through a series of required steps) and was curious.
> > >
> > > --
> > > Wendy Smoak
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > --
> > ------------------------------
> >
> > "You can lead a horse to water but you cannot make it float on its back."
> >
> > ~Dakota Jack~
> >
> > "You can't wake a person who is pretending to be asleep."
> >
> > ~Native Proverb~
> >
> > "Each man is good in His sight. It is not necessary for eagles to be crows."
> >
> > ~Hunkesni (Sitting Bull), Hunkpapa Sioux~
> >
> > -----------------------------------------------
> >
> > "This message may contain confidential and/or privileged information.
> > If you are not the addressee or authorized to receive this for the
> > addressee, you must not use, copy, disclose, or take any action based
> > on this message or any information herein. If you have received this
> > message in error, please advise the sender immediately by reply e-mail
> > and delete this message. Thank you for your cooperation."
> >
> 
> --
> ------------------------------
> 
> "You can lead a horse to water but you cannot make it float on its back."
> 
> ~Dakota Jack~
> 
> "You can't wake a person who is pretending to be asleep."
> 
> ~Native Proverb~
> 
> "Each man is good in His sight. It is not necessary for eagles to be crows."
> 
> ~Hunkesni (Sitting Bull), Hunkpapa Sioux~
> 
> -----------------------------------------------
> 
> "This message may contain confidential and/or privileged information.
> If you are not the addressee or authorized to receive this for the
> addressee, you must not use, copy, disclose, or take any action based
> on this message or any information herein. If you have received this
> message in error, please advise the sender immediately by reply e-mail
> and delete this message. Thank you for your cooperation."
> 


-- 
------------------------------

"You can lead a horse to water but you cannot make it float on its back."

~Dakota Jack~

"You can't wake a person who is pretending to be asleep."

~Native Proverb~

"Each man is good in His sight. It is not necessary for eagles to be crows."

~Hunkesni (Sitting Bull), Hunkpapa Sioux~

-----------------------------------------------

"This message may contain confidential and/or privileged information.
If you are not the addressee or authorized to receive this for the
addressee, you must not use, copy, disclose, or take any action based
on this message or any information herein. If you have received this
message in error, please advise the sender immediately by reply e-mail
and delete this message. Thank you for your cooperation."

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to