View Javadoc

1   /*
2    * Copyright (c) 2005 The University of Reading
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met:
8    * 1. Redistributions of source code must retain the above copyright
9    *    notice, this list of conditions and the following disclaimer.
10   * 2. Redistributions in binary form must reproduce the above copyright
11   *    notice, this list of conditions and the following disclaimer in the
12   *    documentation and/or other materials provided with the distribution.
13   * 3. Neither the name of the University of Reading, nor the names of the
14   *    authors or contributors may be used to endorse or promote products
15   *    derived from this software without specific prior written permission.
16   *
17   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18   * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20   * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23   * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27   */
28  
29  package uk.ac.rdg.resc.jstyx.gridservice.config;
30  
31  /***
32   * Class containing information about the input file and streams required by
33   * the service
34   *
35   * @author Jon Blower
36   * $Revision: 465 $
37   * $Date: 2005-11-07 20:59:34 +0000 (Mon, 07 Nov 2005) $
38   * $Log$
39   * Revision 1.1  2005/11/07 20:59:34  jonblower
40   * Refactored SGS config classes to new package
41   *
42   */
43  
44  public class SGSInput
45  {
46      
47      public static final int STREAM = 0;
48      public static final int FILE = 1;
49      public static final int FILE_FROM_PARAM = 2;
50      
51      private String name;
52      private int type;
53      
54      public SGSInput(String type, String name) throws SGSConfigException
55      {
56          this.name = name;
57          if (type.equals("stream"))
58          {
59              if (!name.equals("stdin"))
60              {
61                  throw new SGSConfigException("The only input stream that is " +
62                      "supported is stdin");
63              }
64              this.type = STREAM;
65          }
66          else if (type.equals("file"))
67          {
68              this.type = FILE;
69          }
70          else if (type.equals("fileFromParam"))
71          {
72              this.type = FILE_FROM_PARAM;
73          }
74          else
75          {
76              throw new SGSConfigException("Unknown input type: " + type);
77          }
78      }
79      
80      public String getName()
81      {
82          return this.name;
83      }
84      
85      public int getType()
86      {
87          return this.type;
88      }
89      
90  }