Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EDT:EGL Language Part Types"

Line 3: Line 3:
 
== Part Types (Table 1)  ==
 
== Part Types (Table 1)  ==
  
{| width="400" cellspacing="1" cellpadding="1" border="1"
+
{| cellspacing="1" cellpadding="1" border="1" width="400"
 
|-
 
|-
 
| bgcolor="#999999" align="center" | '''''Part Types'''''  
 
| bgcolor="#999999" align="center" | '''''Part Types'''''  
Line 22: Line 22:
 
| bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>''  
 
| bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>''  
 
| <br>done  
 
| <br>done  
| <br>
+
|  
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352749 JS:Top-level functions]
 +
 
 +
1d
 +
 
 
| 1d<br>
 
| 1d<br>
 
|-
 
|-
Line 32: Line 36:
 
| bgcolor="#cccccc" | ''Record<sup>6</sup>''<br>  
 
| bgcolor="#cccccc" | ''Record<sup>6</sup>''<br>  
 
| <br>done  
 
| <br>done  
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352045 JS:Record]<br>
+
|  
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352045 JS:Record]
 +
 
 +
1.5d
 +
 
 
| done<br>
 
| done<br>
 
|-
 
|-

Revision as of 09:42, 21 July 2011

Please see the parent of this page, EDT:EGL Language.

Part Types (Table 1)

Part Types Core JavaScript Java
DataItem1
2d
JS: DataItem
done
Function2, 5
done
JS: Function overloading
done
Top-level function2, 5
done

JS:Top-level functions

1d

1d
Delegate2
done
JS:Delegates
1d
Record6

done

JS:Record

1.5d

done
Structured Record6

5d 
N/S N/S
ExternalType

done
JS:ExternalType
done
Handler

1d
JS:Handler
1d
Library

done
done
done
Service

1d


Interface3

done


Enumeration

1d
JS: Enumeration
1d
Program4

done
N/S
1d
Array

done

done
Deployment Descriptor7


RUIhandlers

REST RPC

SOAP

DataTable

done
N/S N/S
Form

1d
N/S N/S
FormGroup

2d
N/S N/S

Notes on Table 1

  1. In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.
  2. See also Table 2: Function Parameters.
  3. Interfaces can be implemented by services and handlers (every kind of "logic part" which can be instantiated).
  4. There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".
  5. We intend to support function overloading in all implementations, even JavaScript.
  6. Records (including structured records) are value types, so record variables may be declared with a question mark following the name of the type to indicate that they're nullable. Nullability means that a variable may really be null. It's not an "I'm null" flag like in RBD. A NullValueException will be thrown if you try to access a field or function of a null variable, even a record. A NullValueException will be thrown if a null variable is an operand to a math operator, an array access, a substring access, a comparison, or a bitwise operator. The string concatenation operators will work the same as in RBD with respect to nulls.  :: treats null as the empty string, and ?: results in null if either operand is null. A question mark won't be allowed on the second operand of the AS and ISA operators (the name of the type).
  7. The deployment descriptor will ONLY be used for deployment. Neither the Java or JavaScript generator will generate the deployment descriptor.

Back to the top