View Javadoc

1   /*$Id: ApplicationInterface.java,v 1.4 2004/08/16 11:03:07 nw Exp $
2    * Created on 25-May-2004
3    *
4    * Copyright (C) AstroGrid. All rights reserved.
5    *
6    * This software is published under the terms of the AstroGrid 
7    * Software License version 1.2, a copy of which has been included 
8    * with this distribution in the LICENSE.txt file.  
9    *
10  **/
11  package org.astrogrid.applications.description;
12  import org.astrogrid.applications.description.exception.ParameterNotInInterfaceException;
13  /*** Defines a calling 'interface' to an {@link org.astrogrid.applications.description.ApplicationDescription}
14   * <p>
15   * An interface comprises a name, a set of input parameters, and a set of output parameters.
16   * @author Noel Winstanley nw@jb.man.ac.uk 25-May-2004
17   * @see org.astrogrid.applications.description.ApplicationDescription
18   *
19   */
20  public interface ApplicationInterface {
21      /*** access the name of this interface */
22      public abstract String getName();
23      /*** access an array of input parameter names */
24      public abstract String[] getArrayofInputs();
25      /*** access an array of output parameter names */
26      public abstract String[] getArrayofOutputs();
27      /*** for an input parameter name (such as returned by {@link #getArrayofInputs()} etc), find the corresponding 
28       * parameter descrption
29       * @param name the name of the parameter.
30       * @return the description of this parameter.
31       * @throws ParameterNotInInterfaceException if tis parametername is not present in the interface.
32       */
33      public abstract ParameterDescription getInputParameter(String name) throws ParameterNotInInterfaceException;
34      /*** determine whether this parameter is an input or output parameter in this interface */
35      public abstract ParameterDirection getParameterDirection(String name) throws ParameterNotInInterfaceException;
36      /*** @see #getInputParameter(String)*/
37      public abstract ParameterDescription getOutputParameter(String name) throws ParameterNotInInterfaceException;
38      
39      /*** access the application description that this interface belongs to */ 
40      public ApplicationDescription getApplicationDescription();
41      
42      /*** access the cardinality of a parameter */
43      public Cardinality getParameterCardinality(String name) throws ParameterNotInInterfaceException;
44      
45  }
46  /* 
47  $Log: ApplicationInterface.java,v $
48  Revision 1.4  2004/08/16 11:03:07  nw
49  added classes to model cardinality of prefs.
50  
51  Revision 1.3  2004/07/26 00:57:46  nw
52  javadoc
53  
54  Revision 1.2  2004/07/01 11:16:22  nw
55  merged in branch
56  nww-itn06-componentization
57  
58  Revision 1.1.2.2  2004/07/01 01:42:46  nw
59  final version, before merge
60  
61  Revision 1.1.2.1  2004/06/14 08:56:58  nw
62  factored applications into sub-projects,
63  got packaging of wars to work again
64  
65  Revision 1.6.22.1  2004/05/28 10:23:10  nw
66  checked in early, broken version - but it builds and tests (fail)
67   
68  */