Skip to main content
summaryrefslogtreecommitdiffstats
blob: 116ede9142807db0a663157579a077cb49fc261a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*******************************************************************************
 * Copyright (c) 2000, 2007 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * IBM Corporation - initial API and implementation
 * yyyymmdd bug      Email and other contact information
 * -------- -------- -----------------------------------------------------------
 * 20071110   209087 gilberta@ca.ibm.com - Gilbert Andrews
 *******************************************************************************/

package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;

import org.eclipse.jst.ws.internal.common.StringUtils;
import org.eclipse.jst.ws.internal.consumption.codegen.Generator;


/**
* objects of this class represent a type
* 
*/
public abstract class SimpleType implements DataType
{

  // Copyright
  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";

  
  protected String fType;
  protected String fUniqueName;

  /**
  *Constructor
  *
  */
  public SimpleType(String type)
  {
    fType = type;
  }

  /**
  * inputForm returns the user input html
  * The simple form is just a text input box
  * @param String name The name of the input element
  * @return String The form used to collect the data
  */
  public String inputForm(String name)
  {
     String inputForm = "<TD ALIGN=\"left\"><INPUT TYPE=\"TEXT\" NAME=\"" 
                         + name + "\" SIZE=20></TD>" + StringUtils.NEWLINE 
                         + "</TR>" + StringUtils.NEWLINE;
     return inputForm;
  }

   /**
  * This function dictates how you want to process the 
  * incoming string from the input jsp. You may or may not use the markup 
  * function depending on the type. The simple types use it. DomElement does not
  * @param String the name of the attribute
  * @return String the code to be generated
  */
  public String getRequestCode(String name, String id)
  {
     String requestCode = Generator.DOUBLE_TAB + "String" + Generator.SPACE 
     	                   + id + "=  request.getParameter(\""
     	                   + name +"\");" + StringUtils.NEWLINE;
     return requestCode;
   }
 
  /**
  * This function hands back the code required to go from the 
  * string the user entered to the actual type of the element
  * it uses another function that all subclasses of SimpleType are required to implement
  * The StringToType function
  * @param String typeName this is the actual name of the type ie int,boolean
  * @param String nodeName The nodeName is just the attributename + Temp. 
  * @param String the attributeName 
  * @return String convert the string to type .
  */
  public String stringConversion(String typeName, String nodeName, String attributeName)
  {
     String conversion = Generator.DOUBLE_TAB + Generator.SPACE + nodeName 
     	                 + Generator.SPACE + " = " + StringToType(attributeName) 
     	                 + "" + StringUtils.NEWLINE;
     return conversion;
  }

  /**
  * The stringConversion function nails out specific conversion methods used among simple types 
  * This method is to be implemented by SimpleType subclasses
  * @param String the name of string after the request call
  * @return String the actual conversion string containing the name.
  */
  public abstract String StringToType(String name);

  /**
  * converts the type returned from the proxy 
  * back to a string 
  * @return String convert the type to string.
  */
  public String TypeConversion(String name)
  {

    String conversion = Generator.DOUBLE_TAB + "String tempResult" + getUniqueName()+ " = org.eclipse.jst.ws.util.JspUtils.markup(" + TypeToString(name) + ");" + StringUtils.NEWLINE 
                       + Generator.DOUBLE_TAB + "%>" + StringUtils.NEWLINE
                       + Generator.DOUBLE_TAB + "<%= tempResult" + getUniqueName()+ " %>" + StringUtils.NEWLINE
                       + Generator.DOUBLE_TAB + "<%" + StringUtils.NEWLINE;

    return conversion;
  }

   /**
  * The stringConversion function nails out specific conversion methods used among simple types 
  * This method is to be implemented by SimpleType subclasses
  * @param String the name of string after the request call
  * @return String the actual conversion string containing the name.
  */
  public abstract String TypeToString(String name);

  /**
  * return the name of this type
  * @return String the name(including package).
  */
  public String getType()
  {
    return fType;
  }

   public String getUniqueName()
  {
    return fUniqueName;
  }

  public void setUniqueName(String name)
  {
    fUniqueName = name;
  }

}

Back to the top