IfThenElse.java revision 18
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// The MIT License
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen//
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// Copyright (c) 2004 Evren Sirin
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen//
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen// Permission is hereby granted, free of charge, to any person obtaining a copy
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// of this software and associated documentation files (the "Software"), to
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// deal in the Software without restriction, including without limitation the
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// sell copies of the Software, and to permit persons to whom the Software is
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// furnished to do so, subject to the following conditions:
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen//
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// The above copyright notice and this permission notice shall be included in
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// all copies or substantial portions of the Software.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen//
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen// IN THE SOFTWARE.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen/*
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Created on Dec 28, 2003
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen *
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen */
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainenpackage org.mindswap.owls.process;
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen/**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * An IfThenElse is a digital branching construct. Based on the evaluation of
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * a condition, the execution branches to one of the branches. For deeper branching,
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * nest this construct.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * For more information refer to the OWL-S white paper at
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * the official <a href="http://www.daml.org/services/owl-s/">web site.</a>
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen *
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * @author Evren Sirin
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * @author Michael D�nzer, University of Zurich
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenpublic interface IfThenElse extends ControlConstruct, Conditional {
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen /**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Returns the control construct on which the if then part consists
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * @return the control construct on which the if then part consists
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen public ControlConstruct getThen();
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen /**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Sets the control construct on which the if then part consists
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * @param cc the control construct on which the if then part consists
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen public void setThen(ControlConstruct cc);
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen /**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Removes the <code>process:then</code> property from this construct.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Note, that the then part is not deleted. Use {@link #deleteThen()} instead.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen public void removeThen();
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen /**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Deletes the then part from this construct and removes it from the ontology (if possible)
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen */
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen public void deleteThen();
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen /**
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen * Returns the control construct on which the else part consists
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen * @return the control construct on which the else part consists
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen */
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen public ControlConstruct getElse();
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen /**
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen * Sets the control construct on which the else part consists
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen * @param cc the control construct on which the else part consists
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen public void setElse(ControlConstruct cc);
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen /**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Removes the <code>process:else</code> property from this construct.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Note, that the else part is not deleted. Use {@link #deleteElse()} instead.
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen public void removeElse();
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen /**
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen * Deletes the else part from this construct and removes it from the ontology (if possible)
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen */
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen public void deleteElse();
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen}
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen