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 "VJET/Semantic Comparison - Java and vjojs"
< VJET
(30 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The following tables summarize the semantic similarities between Java and VjO. | The following tables summarize the semantic similarities between Java and VjO. | ||
− | + | {| style="background-color:#F9F9F9;border:1px solid #AAAAAA;border-collapse:collapse;color:black; margin:1em 0;" | |
− | {| | + | |- |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | Semantic | |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | Java | |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | VJET VJO | |
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Declare a Namespace |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | package vjo.x.y |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
vjo.ctype("vjo.x.y.Z") // where Z is the name of a class. | vjo.ctype("vjo.x.y.Z") // where Z is the name of a class. | ||
− | </ | + | </source> |
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Import a Class |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | import vjo.utils.X |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | ||
− | + | ||
.needs("vjo.utils.X") | .needs("vjo.utils.X") | ||
− | </ | + | </source> |
− | + | |} | |
=== Type Definitions and Manipulation === | === Type Definitions and Manipulation === | ||
− | + | {| style="background-color:#F9F9F9;border:1px solid #AAAAAA;border-collapse:collapse;color:black; margin:1em 0;" | |
− | {| | + | |- |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | Semantic | |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | Java | |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | VJET VJO | |
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Define a Class |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">class X{}</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | vjo.ctype("<namespace>.X") | |
− | + | </source> | |
− | + | ||
− | + | ||
− | | | + | |
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Define an Interface |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">interface Y{}</source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | vjo.itype("<namespace>.Y") | |
− | | | + | </source> |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Define an Enum |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">enum E{}</source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | vjo.etype("<namespace>.E") | |
− | | | + | </source> |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Define an Abstract Class |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">abstract class Z{}</source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | //> abstract | |
− | | | + | vjo.ctype("<namespace>.Z") |
− | + | </source> | |
− | + | ||
− | vjo.ctype("<namespace>.Z")</ | + | |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Define an Inner Class |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">class X{}</source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | X : vjo.ctype() | |
− | | | + | </source> |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Modify a Type |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">final class R{};</source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | //> final | |
− | | | + | vjo.ctype("vjo.R") |
− | + | </source> | |
− | + | ||
− | vjo.ctype("vjo.R")</ | + | |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Define a Constructor |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">D(){}</source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | constructs: function(){} | |
− | | | + | </source> |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Overload a Constructor |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">D(int arg){} | |
− | + | D(String arg){}</source> | |
− | D(String arg){}</ | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | //>public void constructs(int arg) | |
− | | | + | |
− | + | ||
− | + | ||
//>public void constructs(String arg) | //>public void constructs(String arg) | ||
− | constructs:function(arg){}</ | + | constructs:function(arg){} |
− | + | </source> | |
+ | |||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Call a Super Constructor |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">super()</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | this.base() | |
− | + | </source> | |
− | | | + | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Call a Super Constructor with Arguments |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">super(arg)</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | this.base(arg) | |
− | + | </source> | |
− | | | + | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Call a Super Method |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">super.doIt()</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | this.base.doIt() | |
− | + | </source> | |
− | | | + | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Extend a Class |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">class X extends Y</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | vjo.ctype("<namespace>.X") | |
− | + | .inherits("<namespace>.Y") | |
− | | | + | </source> |
− | + | ||
− | + | ||
− | .inherits("<namespace>.Y")</ | + | |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Implement an Interface |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">class X implements Y</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | vjo.ctype("<namespace>.X") | |
− | + | .satisfies("<namespace>.Y") | |
− | | | + | </source> |
− | + | ||
− | + | ||
− | .satisfies("<namespace>.Y")</ | + | |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Implement an Instance Method |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">void setName(String name)</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | .protos({ | |
− | + | setName: function(String name) | |
− | + | </source> | |
− | + | ||
− | setName: function(String name)</ | + | |
− | |||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Implement a Static Method |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">static void setName(String name)</source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | .props({ | |
− | static void setName(String name) | + | |
− | </ | + | |
− | + | ||
− | + | ||
− | + | ||
setName: function(String name) | setName: function(String name) | ||
− | })</ | + | }) |
− | + | </source> | |
+ | |||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Implement a Static Initializer |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript">{// static initialization here | |
− | + | static{...}</source> | |
− | static{...}</ | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | // static initialization here | |
− | | | + | |
− | + | ||
− | + | ||
.inits(function(){...}) | .inits(function(){...}) | ||
− | </ | + | </source> |
− | + | ||
+ | |} | ||
− | |||
==== Declarations ==== | ==== Declarations ==== | ||
− | + | {| style="background-color:#F9F9F9;border:1px solid #AAAAAA;border-collapse:collapse;color:black; margin:1em 0;" | |
− | {| | + | |- |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | To Declare | |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | Java | |
− | + | ! style="background-color:#F2F2F2;text-align:center;border:1px solid #AAAAAA;padding:0.2em;" | VJET VJO | |
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Enum Constants |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | public enum Days { | |
− | + | ||
− | + | ||
− | + | ||
MON,TUE,WED,THU,FRI,SAT,SUN | MON,TUE,WED,THU,FRI,SAT,SUN | ||
− | }</ | + | } |
− | + | </source> | |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | vjo.etype('<namespace>.Days') | |
− | + | .values('MON,TUE,WED,THU,FRI,SAT,SUN') | |
− | .values('MON,TUE,WED,THU,FRI,SAT,SUN')</ | + | </source> |
|- | |- | ||
− | | Argument Types | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Argument Types |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | void setName(String name){} | |
− | + | </source> | |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | //> void setName(String name) | |
− | + | setName : function(name){} | |
− | setName : function(name){}</ | + | </source> |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Method Scope |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | public void setName(String name){} | |
− | + | </source> | |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | //>public void setName(String name) | |
− | + | setName : function(name){} | |
− | setName : function(name){}</ | + | </source> |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Return Type |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | public X getIt(){} | |
− | + | </source> | |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | //> public X getIt() | |
− | + | getIt : function(){} | |
− | getIt : function(){}</ | + | </source> |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Overloaded Method |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | public X getIt(String x) | |
− | + | public X getIt(int x) | |
− | public X getIt(int x)</ | + | </source> |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | //>public X getIt(String x) | |
− | + | ||
//>public X getIt(int x) | //>public X getIt(int x) | ||
− | getIt:function(x) {}</ | + | getIt:function(x) {} |
− | + | </source> | |
+ | |||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Method with Variable Arguments |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | public X getIt(String... x) | |
− | + | </source> | |
− | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> | |
− | + | //>public X getIt(String... x) | |
− | + | getIt:function(x) {} | |
− | getIt:function(x) {}</ | + | </source> |
− | + | ||
|- | |- | ||
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | Local Variable |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | int x = 10; | |
− | + | ||
String s = "hello"; | String s = "hello"; | ||
− | final boolean ok = false;</ | + | final boolean ok = false; |
− | + | </source> | |
− | | | + | | style="border:1px solid #AAAAAA;padding: 0.2em;" | <source lang="javascript"> |
− | + | var x = 10; //< int | |
− | + | ||
var s = 'hello'; //< String | var s = 'hello'; //< String | ||
− | var ok = false; //< final boolean</ | + | var ok = false; //< final boolean |
+ | </source> | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | [[Category:VJET|VJOJS]] | ||
+ | [[Category:JavaScript]] |
Latest revision as of 19:26, 2 May 2013
The following tables summarize the semantic similarities between Java and VjO.
Semantic | Java | VJET VJO |
---|---|---|
Declare a Namespace | package vjo.x.y | vjo.ctype("vjo.x.y.Z") // where Z is the name of a class. |
Import a Class | import vjo.utils.X | .needs("vjo.utils.X") |
Type Definitions and Manipulation
Semantic | Java | VJET VJO |
---|---|---|
Define a Class | class X{} |
vjo.ctype("<namespace>.X") |
Define an Interface | interface Y{} |
vjo.itype("<namespace>.Y") |
Define an Enum | enum E{} |
vjo.etype("<namespace>.E") |
Define an Abstract Class | abstract class Z{} |
//> abstract vjo.ctype("<namespace>.Z") |
Define an Inner Class | class X{} |
X : vjo.ctype() |
Modify a Type | final class R{}; |
//> final vjo.ctype("vjo.R") |
Define a Constructor | D(){} |
constructs: function(){} |
Overload a Constructor | D(int arg){} D(String arg){} |
//>public void constructs(int arg) //>public void constructs(String arg) constructs:function(arg){} |
Call a Super Constructor | super() |
this.base() |
Call a Super Constructor with Arguments | super(arg) |
this.base(arg) |
Call a Super Method | super.doIt() |
this.base.doIt() |
Extend a Class | class X extends Y |
vjo.ctype("<namespace>.X") .inherits("<namespace>.Y") |
Implement an Interface | class X implements Y |
vjo.ctype("<namespace>.X") .satisfies("<namespace>.Y") |
Implement an Instance Method | void setName(String name) |
.protos({ setName: function(String name) |
Implement a Static Method | static void setName(String name) |
.props({ setName: function(String name) }) |
Implement a Static Initializer | {// static initialization here static{...} |
// static initialization here .inits(function(){...}) |
Declarations
To Declare | Java | VJET VJO |
---|---|---|
Enum Constants | public enum Days { MON,TUE,WED,THU,FRI,SAT,SUN } |
vjo.etype('<namespace>.Days') .values('MON,TUE,WED,THU,FRI,SAT,SUN') |
Argument Types | void setName(String name){} |
//> void setName(String name) setName : function(name){} |
Method Scope | public void setName(String name){} |
//>public void setName(String name) setName : function(name){} |
Return Type | public X getIt(){} |
//> public X getIt() getIt : function(){} |
Overloaded Method | public X getIt(String x) public X getIt(int x) |
//>public X getIt(String x) //>public X getIt(int x) getIt:function(x) {} |
Method with Variable Arguments | public X getIt(String... x) |
//>public X getIt(String... x) getIt:function(x) {} |
Local Variable | int x = 10; String s = "hello"; final boolean ok = false; |
var x = 10; //< int var s = 'hello'; //< String var ok = false; //< final boolean |