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

From Eclipsepedia

Jump to: navigation, search
m
m (add edt category)
 
(4 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== Part Types (Table 1)  ==
 
== Part Types (Table 1)  ==
  
{| style="width: 504px; height: 754px" border="1" cellspacing="1" cellpadding="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 12: Line 12:
 
| bgcolor="#ffff00" | ''DataItem<sup>1</sup>''  
 
| bgcolor="#ffff00" | ''DataItem<sup>1</sup>''  
 
| bgcolor="#ffff00" | <br>2d  
 
| bgcolor="#ffff00" | <br>2d  
| bgcolor="#ffff00" | <span style="text-decoration: underline">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352111 JS: DataItem]</span>2d<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="#ffff00" | 2d<br>
 
|-
 
|-
Line 18: Line 18:
 
| <br>done  
 
| <br>done  
 
|  
 
|  
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352116 JS: Function overloading]4d<br>
+
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352116 JS: Function overloading]4d<br>  
  
 
| done<br>
 
| done<br>
Line 25: Line 25:
 
| bgcolor="#ffff00" | <br>done  
 
| bgcolor="#ffff00" | <br>done  
 
| bgcolor="#ffff00" |  
 
| bgcolor="#ffff00" |  
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352749 JS:Stand-alone functions] 1d
+
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352749 JS:Stand-alone functions] 1d  
  
 
| bgcolor="#ffff00" | 1d<br>
 
| bgcolor="#ffff00" | 1d<br>
Line 31: Line 31:
 
| bgcolor="#cccccc" | ''Delegate<sup>2</sup>''  
 
| bgcolor="#cccccc" | ''Delegate<sup>2</sup>''  
 
| <br>done  
 
| <br>done  
| <span style="text-decoration: underline">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352036 JS:Delegates]</span>2d<br>
+
| done<br>  
| 1d {{bug|353641}}<br>
+
| done {{bug|353641}}<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Record<sup>6</sup>''<br>
+
| bgcolor="#cccccc" | ''Record<sup>6</sup>''<br>  
 
| <br>done  
 
| <br>done  
|  
+
| done
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352045 JS:Record]1d
+
 
+
 
| done<br>
 
| done<br>
 
|-
 
|-
| bgcolor="#ffff00" | ''Structured Record<sup>6</sup>''<br>
+
| bgcolor="#ffff00" | ''Structured Record<sup>6</sup>''<br>  
 
| bgcolor="#ffff00" | <br>5d&nbsp;  
 
| bgcolor="#ffff00" | <br>5d&nbsp;  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S
 
| bgcolor="#ffff00" | N/S
 
|-
 
|-
| bgcolor="#cccccc" | ''ExternalType''<br>
+
| bgcolor="#cccccc" | ''ExternalType''<br>  
 
| <br>done  
 
| <br>done  
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352035 JS:ExternalType]1d<br>
+
| done
 
| done<br>
 
| done<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Handler''<br>
+
| bgcolor="#cccccc" | ''Handler''<br>  
| done {{bug|353769}}<br>
+
| done {{bug|353769}}<br>  
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352044 JS:Handler]1d<br>
+
| done
| 1d {{bug|353642}}<br>
+
| done {{bug|353642}}<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Library''<br>
+
| bgcolor="#cccccc" | ''Library''<br>  
 
| <br>done  
 
| <br>done  
| done<br>
+
| done<br>  
 
| done<br>
 
| done<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Service''<br>
+
| bgcolor="#cccccc" | ''Service''<br>  
| done {{bug|353769}}<br>
+
| done {{bug|353769}}<br>  
| 1d<br>
+
| 1d<br>  
| 1d {{bug|353643}}<br>
+
| done {{bug|353643}}<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br>
+
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br>  
 
| <br>done  
 
| <br>done  
 
| 1d  
 
| 1d  
| 1d {{bug|353644}}<br>
+
| done {{bug|353644}}<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Enumeration''<br>
+
| bgcolor="#cccccc" | ''Enumeration''<br>  
 
| <br>1d  
 
| <br>1d  
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352118 JS: Enumeration]<br>
+
| done
| 1d {{bug|353645}}<br>
+
| 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>  
| 1d {{bug|353646}}<br>
+
| done {{bug|353646}}<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''List (was "Array")''<br>
+
| bgcolor="#cccccc" | ''List (was "Array")''<br>  
 
| <br>done  
 
| <br>done  
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352766 JS: List]1d<br>
+
| done
 
| done<br>
 
| done<br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Deployment Descriptor''<sup>7</sup><br>
+
| bgcolor="#cccccc" | ''Deployment Descriptor''<sup>7</sup><br>  
| <br>done<br>
+
| <br>done<br>  
| RUIhandlers<br>
+
| RUIhandlers<br>  
 
|  
 
|  
 
REST RPC  
 
REST RPC  
  
SOAP<br>
+
SOAP<br>  
  
 
|-
 
|-
| bgcolor="#ffff00" | ''DataTable''<br>
+
| bgcolor="#ffff00" | ''DataTable''<br>  
 
| bgcolor="#ffff00" | <br>done  
 
| bgcolor="#ffff00" | <br>done  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S
 
| bgcolor="#ffff00" | N/S
 
|-
 
|-
| bgcolor="#ffff00" | ''Form''<br>
+
| bgcolor="#ffff00" | ''Form''<br>  
 
| bgcolor="#ffff00" | <br>1d  
 
| bgcolor="#ffff00" | <br>1d  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S
 
| bgcolor="#ffff00" | N/S
 
|-
 
|-
| bgcolor="#ffff00" | ''FormGroup''<br>
+
| bgcolor="#ffff00" | ''FormGroup''<br>  
 
| bgcolor="#ffff00" | <br>2d  
 
| bgcolor="#ffff00" | <br>2d  
 
| bgcolor="#ffff00" | N/S  
 
| bgcolor="#ffff00" | N/S  
Line 111: Line 109:
 
|}
 
|}
  
'''Notes on Table 1'''<br>
+
'''Notes on Table 1'''<br>  
  
#<span style="background: rgb(255,165,0)">In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.</span>  
+
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.</span>  
 
#See also Table 2: Function Parameters.  
 
#See also Table 2: Function Parameters.  
#Interfaces can be implemented by services <span style="background: rgb(255,165,0)">and handlers (every kind of "logic part" which can be instantiated)</span>.  
+
#Interfaces can be implemented by services <span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">and handlers (every kind of "logic part" which can be instantiated)</span>.  
#<span style="background: 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: 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: 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. &nbsp;:: treats null as the empty string, and&nbsp;?: results in null if either operand is null. <span style="background: 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>  
+
#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. &nbsp;:: treats null as the empty string, and&nbsp;?: 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>The deployment descriptor will ONLY be used for deployment. Neither the Java or JavaScript generator will generate the&nbsp;deployment descriptor.</span>
 
#<span>The deployment descriptor will ONLY be used for deployment. Neither the Java or JavaScript generator will generate the&nbsp;deployment descriptor.</span>
 +
 +
 +
[[Category: EDT]]

Latest revision as of 18:19, 24 October 2011

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

[edit] Part Types (Table 1)

Part Types Core JavaScript Java
DataItem1
2d
JS: DataItem2d
2d
Function2, 5
done

JS: Function overloading4d

done
Stand-alone function2, 5
done

JS:Stand-alone functions 1d

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

  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, 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).
  7. The deployment descriptor will ONLY be used for deployment. Neither the Java or JavaScript generator will generate the deployment descriptor.