Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EDT:EGL Language Part Types"
Line 3: | Line 3: | ||
== Part Types (Table 1) == | == Part Types (Table 1) == | ||
− | {| cellspacing="1" cellpadding="1" border="1 | + | {| width="400" cellspacing="1" cellpadding="1" border="1" |
|- | |- | ||
| bgcolor="#999999" align="center" | '''''Part Types''''' | | bgcolor="#999999" align="center" | '''''Part Types''''' | ||
Line 62: | Line 62: | ||
| <br>1d | | <br>1d | ||
| <br> | | <br> | ||
− | | <br> | + | | 1d<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br> | | bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br> | ||
| <br>done | | <br>done | ||
| <br> | | <br> | ||
− | | <br> | + | | 1d<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Enumeration''<br> | | bgcolor="#cccccc" | ''Enumeration''<br> |
Revision as of 11:31, 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 |
1d | |
Delegate2 | done |
JS:Delegates2d |
1d |
Record6 |
done |
done | |
Structured Record6 |
5d |
N/S | N/S |
ExternalType |
done |
JS:ExternalType1d |
done |
Handler |
1d |
JS:Handler1d |
1d |
Library |
done |
done |
done |
Service |
1d |
|
1d |
Interface3 |
done |
|
1d |
Enumeration |
1d |
JS: Enumeration |
1d |
Program4 |
done |
N/S |
1d |
Array |
done |
JS: Array1d |
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
- In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.
- See also Table 2: Function Parameters.
- Interfaces can be implemented by services and handlers (every kind of "logic part" which can be instantiated).
- There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".
- We intend to support function overloading in all implementations, even JavaScript.
- 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).
- The deployment descriptor will ONLY be used for deployment. Neither the Java or JavaScript generator will generate the deployment descriptor.