Data Types
Designer supports several data types for use in services. Each data type supported by Designer corresponds to a Java data type and has an associated icon. Designer applies different Java classes and displays different icons depending on whether the data type is associated with:
- An element in an IData object
- An Object or Object list to which you have applied a Java class
Data Types in IData Objects
Data is passed in and out of a service through an IData object. An IData object is the collection of name/value pairs on which a service operates. An IData object can contain any number of elements of any valid Java objects, including additional IData objects and IDataCodable objects.
Each element stored in an IData object corresponds to a data type. The following table identifies the data types supported by Designer.
| Data Type | Icon | Description | Java Class |
|---|---|---|---|
| String |
|
String of characters. | java.lang.String |
| String list |
|
A one-dimensional String array. | java.lang.String[ ] |
| String table |
|
A two-dimensional String array. | java.lang.String[ ][ ] |
| Document |
|
A data structure that is a container for other variables. Documents can contain variables of any other data type. The contents of a document (IData object) are stored as key/value pairs where the variable name is the key. | com.wm.data.IData com.wm.util.Values For more information, see the webMethods Integration Server Java API Reference. |
| Document list |
|
A one-dimensional array of IS document types (IData [ ]or Values [ ]). | com.wm.data.IData
[ ] com.wm.util.Values [ ] com.wm.util.Table |
| Document reference |
|
A document whose structure is defined by an IS document type. | Reference to an existing object which implements the com.wm.data.IData interface or a reference to an existing com.wm.util.Values object. |
| Document reference list |
|
A document list whose structure is defined by an IS document type. | Reference to an existing object which implements the com.wm.data.IData interface or a reference to an existing com.wm.util.Values object. |
| Object |
|
A data type that does not fall into any of the data types described in the above rows, and is not declared to be one of the basic Java classes supported natively by Integration Server. This icon is used for Objects of unknown type. | Any subclass of java.lang.Object. Example: java.io.InputStream |
| Object list |
|
An array of Objects of unknown type. | An array of any subclass
of java.lang.Object. Example: java.io.InputStream[ ] |
Java Classes for Objects
You can further describe the contents of an Object or Object list variable by applying a Java class to the variable. When you apply a supported Java class to an Object or Object list variable, Designer changes the icon for the variable. Applying Java classes to Objects and Object lists can provide the following benefits:
- Other developers can easily see the types your service expects as inputs and produces as output.
- Other developers can easily see the types contained in an IS document type.
- You can input values for the variable when running and debugging.
- You can assign values to variables in
the pipeline using
on the Pipeline view toolbar.
The following table identifies the Java classes you can apply to Objects and Object list variables in Designer.
| Data Type | Icon | Description | Java Class |
|---|---|---|---|
| boolean |
|
True or false. | java.lang.Boolean |
| boolean list |
|
A one-dimensional boolean array. | java.lang.Boolean[ ] |
| byte |
|
Signed integer. The value must be greater than or equal to –128 but less than or equal to 127. | java.lang.Byte |
| byte [ ] |
|
A one-dimensional byte array. | primitive type |
| byte list |
|
A one-dimensional byte array. | java.lang.Byte[ ] |
| character |
|
A single unicode character. | java.lang.Character |
| character list |
|
A one-dimensional character array. | java.lang.Character[ ] |
| date |
|
Date and time. | java.util.Date |
| date list |
|
A one-dimensional date array. | java.util.Date[ ] |
| double |
|
Double-precision floating point number. | java.lang.Double |
| double list |
|
A one-dimensional double array. | java.lang.Double[ ] |
| float |
|
Standard-precision floating point number. | java.lang.Float |
| float list |
|
A one-dimensional float array. | java.lang.Float[ ] |
| integer |
|
Signed integer. The value must be greater than or equal to -2147483648 but less than or equal to 2147483647. | java.lang.Integer |
| integer list |
|
A one-dimensional integer array. | java.lang.Integer[ ] |
| long |
|
Signed integer. The value must be greater than or equal to –9223372036854775808 but less than or equal to 9223372036854775807. | java.lang.Long |
| long list |
|
A one-dimensional long array. | java.lang.Long[ ] |
| short |
|
Signed integer. The value must be greater than or equal to -32768 but less than or equal to 32767. | java.lang.Short |
| short list |
|
A one-dimensional short array. | java.lang.Short[ ] |
| XOPObject |
|
A field in a SOAP message that is to be sent/received as a streamed MTOM attachment. Note:
Integration Server only supports this Java wrapper type
for web services.
|
com.wm.util.XOPObject |
How Designer Supports Tables
With the exception of String table, Designer does not provide a separate data type for tables. However, tables can appear as document lists or Objects. Tables that are instances of com.wm.util.Table appear as document lists in Designer. These tables can be used as document lists in flow services. Services in the WmDB package use tables that are instances of wm.com.util.Table.
Tables can also be declared as Objects. Objects or user-defined table-like objects that do not implement the com.wm.util.pluggable.WMIDataList interface appear as Objects of unknown type in Designer.