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.
Difference between revisions of "EDT:EGL Language Part Types"
m (add edt category) |
|||
(18 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
== Part Types (Table 1) == | == Part Types (Table 1) == | ||
− | {| | + | {| cellspacing="1" cellpadding="1" border="1" style="width: 504px; height: 754px;" |
|- | |- | ||
| bgcolor="#999999" align="center" | '''''Part Types''''' | | bgcolor="#999999" align="center" | '''''Part Types''''' | ||
Line 10: | Line 10: | ||
| bgcolor="#999999" align="center" | '''Java''' | | bgcolor="#999999" align="center" | '''Java''' | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#ffff00" | ''DataItem<sup>1</sup>'' |
− | | <br>2d | + | | bgcolor="#ffff00" | <br>2d |
− | | <span style="text-decoration: underline;">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352111 JS: DataItem]</span><br> | + | | bgcolor="#ffff00" | <span style="text-decoration: underline;">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352111 JS: DataItem]</span>2d<br> |
− | | | + | | bgcolor="#ffff00" | 2d<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Function<sup>2, 5</sup>'' | | bgcolor="#cccccc" | ''Function<sup>2, 5</sup>'' | ||
| <br>done | | <br>done | ||
− | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352116 JS: Function overloading]<br> | + | | |
+ | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352116 JS: Function overloading]4d<br> | ||
+ | |||
| done<br> | | done<br> | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#ffff00" | ''Stand-alone function<sup>2, 5</sup>'' |
− | | <br>done | + | | bgcolor="#ffff00" | <br>done |
− | | | + | | bgcolor="#ffff00" | |
− | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352749 JS: | + | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352749 JS:Stand-alone functions] 1d |
− | | 1d<br> | + | | bgcolor="#ffff00" | 1d<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Delegate<sup>2</sup>'' | | bgcolor="#cccccc" | ''Delegate<sup>2</sup>'' | ||
| <br>done | | <br>done | ||
− | | | + | | done<br> |
− | | | + | | done {{bug|353641}}<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Record<sup>6</sup>''<br> | | bgcolor="#cccccc" | ''Record<sup>6</sup>''<br> | ||
| <br>done | | <br>done | ||
− | | | + | | done |
− | + | ||
− | + | ||
| done<br> | | done<br> | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#ffff00" | ''Structured Record<sup>6</sup>''<br> |
− | | <br>5d | + | | bgcolor="#ffff00" | <br>5d |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
|- | |- | ||
| bgcolor="#cccccc" | ''ExternalType''<br> | | bgcolor="#cccccc" | ''ExternalType''<br> | ||
| <br>done | | <br>done | ||
− | | | + | | done |
| done<br> | | done<br> | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Handler''<br> | | bgcolor="#cccccc" | ''Handler''<br> | ||
− | | <br> | + | | done {{bug|353769}}<br> |
− | | | + | | done |
− | | | + | | done {{bug|353642}}<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Library''<br> | | bgcolor="#cccccc" | ''Library''<br> | ||
Line 60: | Line 60: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Service''<br> | | bgcolor="#cccccc" | ''Service''<br> | ||
− | | <br> | + | | done {{bug|353769}}<br> |
− | | <br> | + | | 1d<br> |
− | | | + | | done {{bug|353643}}<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br> | | bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br> | ||
| <br>done | | <br>done | ||
− | | | + | | 1d |
− | | | + | | done {{bug|353644}}<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Enumeration''<br> | | bgcolor="#cccccc" | ''Enumeration''<br> | ||
| <br>1d | | <br>1d | ||
− | | | + | | done |
− | | | + | | done {{bug|353645}}<br> |
|- | |- | ||
| bgcolor="#cccccc" | ''Program<sup>4</sup>''<br> | | bgcolor="#cccccc" | ''Program<sup>4</sup>''<br> | ||
| <br>done | | <br>done | ||
| N/S<br> | | N/S<br> | ||
− | | | + | | done {{bug|353646}}<br> |
|- | |- | ||
− | | bgcolor="#cccccc" | ''Array''<br> | + | | bgcolor="#cccccc" | ''List (was "Array")''<br> |
| <br>done | | <br>done | ||
− | | | + | | done |
| done<br> | | done<br> | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Deployment Descriptor''<sup>7</sup><br> | | bgcolor="#cccccc" | ''Deployment Descriptor''<sup>7</sup><br> | ||
− | | <br><br> | + | | <br>done<br> |
| RUIhandlers<br> | | RUIhandlers<br> | ||
| | | | ||
Line 93: | Line 93: | ||
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#ffff00" | ''DataTable''<br> |
− | | <br>done | + | | bgcolor="#ffff00" | <br>done |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#ffff00" | ''Form''<br> |
− | | <br>1d | + | | bgcolor="#ffff00" | <br>1d |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
|- | |- | ||
− | | bgcolor="# | + | | bgcolor="#ffff00" | ''FormGroup''<br> |
− | | <br>2d | + | | bgcolor="#ffff00" | <br>2d |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
− | | N/S | + | | bgcolor="#ffff00" | N/S |
|} | |} | ||
Line 116: | Line 116: | ||
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".</span> | #<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".</span> | ||
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">We intend to support function overloading in all implementations, even JavaScript.</span> | #<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">We intend to support function overloading in all implementations, even JavaScript.</span> | ||
− | #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. <span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">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, | + | #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. <span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">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, a list (array) access, a substring access, a comparison, or a bitwise operator.</span> 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. <span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">A question mark won't be allowed on the second operand of the AS and ISA operators (the name of the type).</span> |
− | #<span | + | #<span>The deployment descriptor will ONLY be used for deployment. Neither the Java or JavaScript generator will generate the deployment descriptor.</span> |
+ | |||
+ | |||
+ | [[Category: EDT]] |
Latest revision as of 18:19, 24 October 2011
Please see the parent of this page, EDT:EGL Language.
Part Types (Table 1)
Part Types | Core | JavaScript | Java |
DataItem1 | 2d |
JS: DataItem2d |
2d |
Function2, 5 | done |
done | |
Stand-alone function2, 5 | done |
1d | |
Delegate2 | done |
done |
done bug 353641 |
Record6 |
done |
done | done |
Structured Record6 |
5d |
N/S | N/S |
ExternalType |
done |
done | done |
Handler |
done bug 353769 |
done | done bug 353642 |
Library |
done |
done |
done |
Service |
done bug 353769 |
1d |
done bug 353643 |
Interface3 |
done |
1d | done bug 353644 |
Enumeration |
1d |
done | done bug 353645 |
Program4 |
done |
N/S |
done bug 353646 |
List (was "Array") |
done |
done | done |
Deployment Descriptor7 |
done |
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, a list (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.