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 "VJET/Semantic Comparison - Java and vjojs"
Line 1: | Line 1: | ||
− | + | {| class="wikitable" | |
+ | |- | ||
+ | ! header 1 | ||
+ | ! header 2 | ||
+ | ! header 3 | ||
+ | |- | ||
+ | | row 1, cell 1 | ||
+ | | row 1, cell 2 | ||
+ | | row 1, cell 3 | ||
+ | |- | ||
+ | | row 2, cell 1 | ||
+ | | row 2, cell 2 | ||
+ | | row 2, cell 3 | ||
+ | |} | ||
− | <!-- table start --> | + | The following tables summarize the semantic similarities between Java and VjO. <!-- table start --> |
− | {| | + | |
− | + | {| width="100%" cellspacing="0" cellpadding="4" border="1" class="wikitable sortable" style="border-color:#eee" | |
+ | |- | ||
! '''Semantic''' | ! '''Semantic''' | ||
! '''Java''' | ! '''Java''' | ||
− | ! '''VJET VJO''' | + | ! '''VJET VJO''' <!-- header row end --> |
− | <!-- header row end --> | + | |
|- | |- | ||
− | | | + | | Declare a Namespace |
− | | | + | | package vjo.x.y |
− | | | + | | <br> |
− | |}<!-- table end --> | + | |} |
+ | <!-- table end --> | ||
+ | <br> <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.ctype("vjo.x.y.Z") // where Z is the name of a class. | ||
+ | </pre><!-- code end--> | ||
+ | |- | Import a Class | import vjo.utils.X | <br> <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">.needs("vjo.utils.X") | ||
+ | </pre><!-- code end--> | ||
+ | <br> | ||
− | + | === Type Definitions and Manipulation === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <!-- table start --> | |
− | + | {| width="100%" cellspacing="0" cellpadding="4" border="1" class="wikitable sortable" style="border-color:#eee" | |
− | {| | + | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | + | ! '''Semantic''' | |
− | + | ! '''Java''' | |
− | + | ! '''VJET VJO''' <!-- header row end --> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <!-- | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | Define a Class |
− | <!-- code start--> | + | |} |
+ | <!-- table end --> | ||
+ | <br> <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">class X{}</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.ctype("<namespace>.X")</pre><!-- code end--> | ||
+ | |- | Define an Interface <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">interface Y{}</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.itype("<namespace>.Y")</pre><!-- code end--> | ||
+ | |- | Define an Enum <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">enum E{}</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.etype("<namespace>.E")</pre><!-- code end--> | ||
+ | |- | Define an Abstract Class <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">abstract class Z{}</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//> abstract | ||
+ | vjo.ctype("<namespace>.Z")</pre><!-- code end--> | ||
+ | |- | Define an Inner Class <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">class X{}</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">X : vjo.ctype()</pre><!-- code end--> | ||
+ | |- | Modify a Type <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">final class R{};</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//> final | ||
+ | vjo.ctype("vjo.R")</pre><!-- code end--> | ||
+ | |- | Define a Constructor <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">D(){}</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">constructs: function(){}</pre><!-- code end--> | ||
+ | |- | Overload a Constructor <!-- code start--> | ||
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">D(int arg){} | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">D(int arg){} | ||
− | D(String arg){}</pre><!-- code end--> | + | D(String arg){}</pre><!-- code end--> |
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//>public void constructs(int arg) | ||
+ | //>public void constructs(String arg) | ||
+ | constructs:function(arg){}</pre><!-- code end--> | ||
+ | |- | Call a Super Constructor | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">super()</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">this.base()</pre><!-- code end--> | ||
+ | |- | Call a Super Constructor with Arguments | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">super(arg)</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">this.base(arg)</pre><!-- code end--> | ||
+ | |- | Call a Super Method | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">super.doIt()</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">this.base.doIt()</pre><!-- code end--> | ||
+ | |- | Extend a Class | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">class X extends Y</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.ctype("<namespace>.X") | ||
+ | .inherits("<namespace>.Y")</pre><!-- code end--> | ||
+ | |- | Implement an Interface | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">class X implements Y</pre><!-- code end--> | ||
+ | | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.ctype("<namespace>.X") | ||
+ | .satisfies("<namespace>.Y")</pre><!-- code end--> | ||
+ | |- | Implement an Instance Method | <!-- code start--> | ||
+ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">void setName(String name)</pre><!-- code end--> | ||
+ | |||
+ | <!-- code start--> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">.protos({ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">.protos({ | ||
− | setName: function(String name)</pre><!-- code end--> | + | setName: function(String name)</pre><!-- code end--> |
− | + | }) |- | Implement a Static Method | <br> <!-- code start--> | |
− | }) | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">static void setName(String name) |
− | |- | + | </pre><!-- code end--> |
− | | | + | |
− | | | + | |
− | <!-- code start--> | + | |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd"> | + | |
− | static void setName(String name) | + | |
− | </pre><!-- code end--> | + | |
− | <!-- code start--> | + | <!-- code start--> |
+ | |||
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">.props({ | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">.props({ | ||
setName: function(String name) | setName: function(String name) | ||
− | })</pre><!-- code end--> | + | })</pre><!-- code end--> |
− | + | |- | Implement a Static Initializer <!-- code start--> | |
− | |- | + | |
− | | | + | |
− | <!-- code start--> | + | |
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">{// static initialization here | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">{// static initialization here | ||
− | static{...}</pre><!-- code end--> | + | static{...}</pre><!-- code end--> |
− | + | | <!-- code start--> | |
− | | | + | |
− | <!-- code start--> | + | |
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">// static initialization here | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">// static initialization here | ||
.inits(function(){...}) | .inits(function(){...}) | ||
− | </pre><!-- code end--> | + | </pre><!-- code end--> |
− | + | <br> | |
+ | test | ||
− | + | ==== Declarations ==== | |
− | + | <!-- table start --> | |
− | + | {| width="100%" cellspacing="0" cellpadding="4" border="1" class="wikitable sortable" style="border-color:#eee" | |
− | {| | + | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | ! '''To Declare''' |
− | |}<!-- table end --> | + | ! '''Java''' |
− | + | ! '''VJET VJO''' <!-- header row end --> | |
− | <br | + | |- |
− | <!-- code start--> | + | | Enum Constants |
+ | |} | ||
+ | <!-- table end --> | ||
+ | <br> <!-- code start--> | ||
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public enum Days { | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public enum Days { | ||
MON,TUE,WED,THU,FRI,SAT,SUN | MON,TUE,WED,THU,FRI,SAT,SUN | ||
− | }</pre><!-- code end--> | + | }</pre><!-- code end--> |
− | + | | <!-- code start--> | |
− | | | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.etype('<namespace>.Days') |
− | <!-- code start--> | + | .values('MON,TUE,WED,THU,FRI,SAT,SUN')</pre><!-- code end--> |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">vjo.etype(' | + | |- | Argument Types <!-- code start--> |
− | .values('MON,TUE,WED,THU,FRI,SAT,SUN')</pre><!-- code end--> | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">void setName(String name){}</pre><!-- code end--> |
− | + | | <!-- code start--> | |
− | |- | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//> void setName(String name) |
− | | | + | setName : function(name){}</pre><!-- code end--> |
− | <!-- code start--> | + | |- | Method Scope <!-- code start--> |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">void setName(String name){}</pre><!-- code end--> | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public void setName(String name){}</pre><!-- code end--> |
− | + | | <!-- code start--> | |
− | | | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//>public void setName(String name) |
− | <!-- code start--> | + | setName : function(name){}</pre><!-- code end--> |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">// | + | |- | Return Type <!-- code start--> |
− | setName : function(name){}</pre><!-- code end--> | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public X getIt(){}</pre><!-- code end--> |
− | + | | <!-- code start--> | |
− | |- | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//> public X getIt() |
− | | | + | getIt : function(){}</pre><!-- code end--> |
− | <!-- code start--> | + | |- | Overloaded Method | <!-- code start--> |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public void setName(String name){}</pre><!-- code end--> | + | |
− | + | ||
− | | | + | |
− | <!-- code start--> | + | |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">// | + | |
− | setName : function(name){}</pre><!-- code end--> | + | |
− | + | ||
− | |- | + | |
− | | | + | |
− | <!-- code start--> | + | |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public X getIt(){}</pre><!-- code end--> | + | |
− | + | ||
− | | | + | |
− | <!-- code start--> | + | |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">// | + | |
− | getIt : function(){}</pre><!-- code end--> | + | |
− | + | ||
− | |- | + | |
− | | | + | |
− | | | + | |
− | <!-- code start--> | + | |
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public X getIt(String x) | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public X getIt(String x) | ||
− | public X getIt(int x)</pre><!-- code end--> | + | public X getIt(int x)</pre><!-- code end--> |
− | <!-- code start | + | <!-- code start--> |
− | + | ||
− | + | ||
− | + | ||
− | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//>public X getIt(String x) | |
− | | | + | //>public X getIt(int x) |
− | | | + | getIt:function(x) {}</pre><!-- code end--> |
− | <!-- code start--> | + | |- | Method with Variable Arguments | <!-- code start--> |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public X getIt(String... x)</pre><!-- code end--> | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">public X getIt(String... x)</pre><!-- code end--> |
− | <!-- code start | + | <!-- code start--> |
− | + | ||
− | + | ||
− | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">//>public X getIt(String... x) | |
− | | | + | getIt:function(x) {}</pre><!-- code end--> |
− | | | + | |- | Local Variable | <!-- code start--> |
− | <!-- code start--> | + | |
<pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">int x = 10; | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">int x = 10; | ||
String s = "hello"; | String s = "hello"; | ||
− | final boolean ok = false;</pre><!-- code end--> | + | final boolean ok = false;</pre><!-- code end--> |
− | + | | <!-- code start--> | |
− | | | + | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">var x = 10; //< int |
− | <!-- code start--> | + | var s = 'hello'; //< String |
− | <pre style="margin-left:20px; font-size:1.4em; background-color:#fdfdfd">var x = 10; // | + | var ok = false; //< final boolean</pre><!-- code end--> |
− | var s = 'hello'; // | + | |
− | var ok = false; // | + |
Revision as of 21:25, 3 December 2012
header 1 | header 2 | header 3 |
---|---|---|
row 1, cell 1 | row 1, cell 2 | row 1, cell 3 |
row 2, cell 1 | row 2, cell 2 | row 2, cell 3 |
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(){...})
test
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