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.server;
30
31 import uk.ac.rdg.resc.jstyx.StyxUtils;
32
33 /***
34 * A ServiceDataElement represented as a String
35 *
36 * @author Jon Blower
37 * $Revision: 158 $
38 * $Date: 2005-03-16 22:16:44 +0000 (Wed, 16 Mar 2005) $
39 * $Log$
40 * Revision 1.1 2005/03/16 22:16:44 jonblower
41 * Added Styx Grid Service classes to core module
42 *
43 * Revision 1.1 2005/02/16 19:22:32 jonblower
44 * Commit adding of SGS files to CVS
45 *
46 */
47 public class StringServiceDataElement extends ServiceDataElement
48 {
49
50 /*** Creates a new instance of StringServiceDataElement */
51 public StringServiceDataElement(String name, boolean readOnly, String value,
52 float minUpdateInterval)
53 {
54 super(name, readOnly, minUpdateInterval);
55 this.setValue(value);
56 }
57
58 public StringServiceDataElement(String name, boolean readOnly, String value)
59 {
60 this(name, readOnly, value, 0.0f);
61 }
62
63 public StringServiceDataElement(String name, String value)
64 {
65 this(name, false, value);
66 }
67
68 public StringServiceDataElement(String name, boolean readOnly)
69 {
70 this(name, readOnly, "");
71 }
72
73 public StringServiceDataElement(String name)
74 {
75 this(name, false, "");
76 }
77
78 public byte[] getBytes()
79 {
80 return StyxUtils.strToUTF8((String)this.getValue());
81 }
82
83 public Object getObject(byte[] bytes)
84 {
85 return StyxUtils.utf8ToString(bytes);
86 }
87
88 }