ControlConstruct.java revision 15
2ronwalf// Copyright (c) 2004 Evren Sirin 2ronwalf// Permission is hereby granted, free of charge, to any person obtaining a copy 2ronwalf// of this software and associated documentation files (the "Software"), to 2ronwalf// deal in the Software without restriction, including without limitation the 2ronwalf// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 2ronwalf// sell copies of the Software, and to permit persons to whom the Software is 2ronwalf// furnished to do so, subject to the following conditions: 2ronwalf// The above copyright notice and this permission notice shall be included in 2ronwalf// all copies or substantial portions of the Software. 2ronwalf// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 2ronwalf// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 2ronwalf// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 2ronwalf// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 2ronwalf// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 2ronwalf// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 10daenzerorama * Returns a list of all the Process objects used (directly or indirectly) in this control 2ronwalf * construct. These include all the processes that are performed as a result of executing 10daenzerorama * @param recursive If true all the processes inside a Perform will be recursively added 10daenzerorama * Equivalent to the function call {@link #getAllProcesses(false)} 10daenzerorama * Returns a list of all the Binding objects used (directly or indirectly) in this control 10daenzerorama * @param recursive If true all the bindings inside a Perform will be recursively added * @return List of bindings objects * Returns the immediate sub-constructs of this ControlConstruct. Unlike getComponents() * function this function do not look at the process:components property. The result value * of this function is computed differently for each construct. for example, IfThenElse * construct would return the a list of size two (if it has both a process:then and * process:else value) or a list of size one (if there is no process:else value). * Returns the name of this construct which is equals to local name defined in OWL-S * process ontology, i.e. Sequence, Choice, If-Then-Else, etc. * Returns the process to which this control construct belongs. * @return the parent process of this control construct. * Removes the given CC, which is contained in this CC. Control flow is rerouted from * predecessor to successor of the given CC. Data flow from and to the given CC * @param CC the ControlConstruct to remove * @return true, if removal was succesful. false otherwise * @see #getAllBindings() used for retrieving the bindings from and to the given CC