Skip to main content

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.

Jump to: navigation, search

VJET/Semantic Comparison - Java and vjojs

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

Back to the top