Skip to main content

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.

Jump to: navigation, search

VJET/Semantic Comparison - Java and vjojs

< VJET
Revision as of 21:19, 3 December 2012 by Unnamed Poltroon (Talk)

The following tables summarize the semantic similarities between Java and VjO.

Description You type You get
External link to the current page's edit page
[http://www.mediawiki.org/w/index.php?title=Help:Links&action=edit Edit this page]
Edit this page
External link to the current page's edit page using the fullurl parser function
[{{fullurl:{{PAGENAME}}|action=edit}} Edit this page]

See also Help:Magic_words#URL_data and #External links

Edit this page
External link to the current page's edit page, and styled to look like an internal link
<span class="plainlinks">[http://www.mediawiki.org/w/index.php?title=Help:Links&action=edit Edit this page]</span>

The plainlinks class can be used in cases where you want an external link to look like an internal one, by suppressing the icon that normally appears after it.

Edit this page
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