Re: declaring an atomic step

"James Sulak" <jsulak@gmail.com> writes:

>>From 5.8.1:
>
> "When declaring an atomic step, the subpipeline in the declaration
> must be empty. And, conversely, if the subpipeline in a declaration is
> empty, the declaration must be for an atomic step."
>
> Does this mean that this:
>
> <p:pipeline name="new-identity">
>   <p:identity />
> </p:pipeline>
>
> is technically declaring a compound step, and not an atomic step? 

Yes. It's a compound step with a single step in its subpipline.

> And
> if so, is it impossible to declare an atomic step that's not an
> extension implemented at the processor level (if that makes sense)?

Yes and no.

Users can declare new compound steps, expressed in terms of a
subpipeline of other steps. Users can then use these compound steps as
atomic steps in other pipelines.

Users can declare new atomic steps, here's one:

<p:declare-step type="ex:foo" xmlns:ex="...">
  <p:input port="source"/>
  <p:input port="secondary"/>
  <p:output port="result"/>
  <p:option name="use-dwim" required="true"/>
  <p:option anem="read-users-mind" select="'false'"/>
</p:declare-step>

But they won't work unless the processor knows how to run them. How,
or if, you can tell a processor to run them is implementation
dependent. (In calabash, you put something like this in a configuration
file:

   <implementation type="ex:foo" xmlns:ex="..."
                   class-name="com.skynet.library.Foo"/>

where the named class implements the right interface.)

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | If you don't have the time to do it
http://nwalsh.com/            | right, where are you going to find the
                              | time to do it over?

Received on Monday, 15 December 2008 03:05:23 UTC