Index: src/nongnu/cashews/owls/process/Binding.java =================================================================== RCS file: src/nongnu/cashews/owls/process/Binding.java diff -N src/nongnu/cashews/owls/process/Binding.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/Binding.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,72 @@ +/* Binding.java -- Representation of an OWL-S binding. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + *

+ * Bindings are used to define output parameters and describe how + * input parameters acquire their values. In either case, the binding + * contains a reference to the parameter and a description of its value, + * using one of several different mechanisms + *

+ *

+ * These mechanisms are as follows: + *

+ * + *

+ * Value specifiers take one of the following two forms: + *

+ * + *

+ * and also contains the type of the parameter reference. + *

+ * + * @author Andrew John Hughes (address@hidden) + * @see ValueData + * @see ValueSource + * @see ValueSpecifier + * @see ValueForm + * @see ValueFunction + */ +public abstract class Binding +{ + + /** + * The value descriptor which specifies how to obtain the value + * for the bound parameter. + * + * @serial the value descriptor, which specifies how to obtain the value + * of the parameter. + */ + private ValueDescriptor descriptor; + +} Index: src/nongnu/cashews/owls/process/InputBinding.java =================================================================== RCS file: src/nongnu/cashews/owls/process/InputBinding.java diff -N src/nongnu/cashews/owls/process/InputBinding.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/InputBinding.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,40 @@ +/* InputBinding.java -- Representation of an OWL-S input binding. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * A binding where the parameter being bound is used for input. + * + * @author Andrew John Hughes (address@hidden) + */ +public class InputBinding + extends Binding +{ + + /** + * The reference to the input parameter being set by the binding. + * + * @serial the parameter reference. + */ + private Input toParam; + +} Index: src/nongnu/cashews/owls/process/OutputBinding.java =================================================================== RCS file: src/nongnu/cashews/owls/process/OutputBinding.java diff -N src/nongnu/cashews/owls/process/OutputBinding.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/OutputBinding.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,40 @@ +/* OutputBinding.java -- Representation of an OWL-S output binding. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * A binding where the parameter being bound is used for output. + * + * @author Andrew John Hughes (address@hidden) + */ +public class OutputBinding + extends Binding +{ + + /** + * The reference to the output parameter being set by the binding. + * + * @serial the parameter reference. + */ + private Output toParam; + +} Index: src/nongnu/cashews/owls/process/Result.java =================================================================== RCS file: /cvsroot/cashew-s-editor/cashews/src/nongnu/cashews/owls/process/Result.java,v retrieving revision 1.2 diff -u -3 -p -u -r1.2 Result.java --- src/nongnu/cashews/owls/process/Result.java 31 Mar 2005 16:50:14 -0000 1.2 +++ src/nongnu/cashews/owls/process/Result.java 31 Mar 2005 17:04:42 -0000 @@ -54,14 +54,22 @@ public class Result private List conditions; /** - * A list of Expressions used within the scope - * of this Result instance to define the effects - * of this operation. + * A list of Expressions used within the scope of this + * Result instance to define the effects of this operation. * * @serial the effects scoped over this instance. */ private List expressions; - /* TODO: Add output bindings */ + /** + * A list of OutputBindings used within the scope of this + * Result instance to define the relationship between + * particular output parameters and value patterns. Different result + * conditions can set the same output parameters with different values, + * and the consumers can refer to different values of the process. + * + * @serial the output bindings scoped over this instance. + */ + private List outputBindings; } Index: src/nongnu/cashews/owls/process/ValueData.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueData.java diff -N src/nongnu/cashews/owls/process/ValueData.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueData.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,42 @@ +/* ValueData.java -- Representation of a binding with constant data. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * A value data specifies the value of a binding as the constant data + * it contains. + * + * @author Andrew John Hughes (address@hidden) + */ +public class ValueData + extends ValueDescriptor +{ + + /** + * The constant data which forms the value described. + * + * @serial the constant data value. + * FIXME: The type should be more specific, allowing only XML data types. + */ + private Object value; + +} Index: src/nongnu/cashews/owls/process/ValueDescriptor.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueDescriptor.java diff -N src/nongnu/cashews/owls/process/ValueDescriptor.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueDescriptor.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,34 @@ +/* ValueDescriptor.java -- A method of obtaining a parameter's value. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * Value descriptors specify how to obtain the value of a parameter. + * Bindings link these value descriptors with particular parameter references. + * + * @author Andrew John Hughes (address@hidden) + * @see Binding + */ +public abstract class ValueDescriptor +{ + +} Index: src/nongnu/cashews/owls/process/ValueForm.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueForm.java diff -N src/nongnu/cashews/owls/process/ValueForm.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueForm.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,44 @@ +/* ValueForm.java -- Representation of a binding with an OWL-based value. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + *

+ * A value form specifies the value of a binding using a pseudo-OWL + * description. This varies from the normal legal form of OWL, in + * that variables (including process parameters) and ValueOf + * forms can appear as the object of properties, where these things + * violate the range of the property. + *

+ *

+ * The intended interpretation of this is as a pattern for the actual + * value of the binding, following substitution of the variables. + *

+ * + * @see ValueOf + * @author Andrew John Hughes (address@hidden) + */ +public class ValueForm + extends ValueSpecifier +{ + +} Index: src/nongnu/cashews/owls/process/ValueFunction.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueFunction.java diff -N src/nongnu/cashews/owls/process/ValueFunction.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueFunction.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,37 @@ +/* ValueFunction.java -- Representation of a binding with an function. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * A value function specifies the value of a binding using a local client + * function. This may contain data specified by variables or + * ValueOfs. The intended interpretation of this is as the + * result of calling the function, following substitution of the variables. + * + * @author Andrew John Hughes (address@hidden) + * @see ValueOf + */ +public class ValueFunction + extends ValueSpecifier +{ + +} Index: src/nongnu/cashews/owls/process/ValueOf.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueOf.java diff -N src/nongnu/cashews/owls/process/ValueOf.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueOf.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,49 @@ +/* ValueOf.java -- Representation of a parameter reference pair. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * A ValueOf is a pair of values which specify a parameter + * reference. This pair consists of the name of the parameter, and the + * process in which it is contained. + * + * @author Andrew John Hughes (address@hidden) + */ +public class ValueOf +{ + + /** + * The name of the parameter being referenced. + * + * @serial the parameter name. + */ + private Parameter theVar; + + /** + * The process containing the parameter. + * + * @serial the containing process. + * FIXME: Uncomment when processes are implemented. + */ + //private Perform fromProcess; + +} Index: src/nongnu/cashews/owls/process/ValueSource.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueSource.java diff -N src/nongnu/cashews/owls/process/ValueSource.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueSource.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,47 @@ +/* ValueSource.java -- Representation of a binding with a parameter ref. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +/** + * A value source specifies the value of a binding using a reference + * to a parameter in another process. The other process is a + * Perform within the same CompositeProcess. + * The usual use of this value descriptor is to link the output + * of one process to the input of another. + * + * @author Andrew John Hughes (address@hidden) + * @see ValueOf + * @see Perform + * @see CompositeProcess + */ +public class ValueSource + extends ValueDescriptor +{ + + /** + * A reference to a parameter in another process. + * + * @serial the reference to the parameter in the other process. + */ + private ValueOf paramRef; + +} Index: src/nongnu/cashews/owls/process/ValueSpecifier.java =================================================================== RCS file: src/nongnu/cashews/owls/process/ValueSpecifier.java diff -N src/nongnu/cashews/owls/process/ValueSpecifier.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/nongnu/cashews/owls/process/ValueSpecifier.java 31 Mar 2005 17:04:42 -0000 @@ -0,0 +1,59 @@ +/* ValueSpecifier.java -- Representation of a binding with an XML value. + Copyright (C) 2005 The University of Sheffield. + + This file is part of the CASheW-s editor. + + The CASheW-s editor is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The CASheW-s editor is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with The CASheW-s editor; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +package nongnu.cashews.owls.process; + +import nongnu.cashews.rdf.XMLLiteral; + +import java.net.URI; + +/** + * A value specifier is a binding where the value is given via the + * interpretation of an XML literal. The type of the resulting value + * is also specified. The XML literal may contain reference to variables + * and/or ValueOf constructs. + * + * @author Andrew John Hughes (address@hidden) + * @see ValueForm + * @see ValueFunction + * @see ValueOf + */ +public abstract class ValueSpecifier + extends ValueDescriptor +{ + + /** + * The XML literal which, when interpreted, specifies the value + * of the bound parameter. + * + * @serial the XML literal. + */ + private XMLLiteral value; + + /** + * The type of the value resulting from the interpretation of + * the XML literal. + * + * @serial the type of the resulting value. + */ + private URI type; + +}