PartImplementationExample
last edited 3 years ago by amehrabyan
Clock Part Implmentation Example:
package org.vcb.parts.sample;
// buildap package classes
import org.vcb.framework.model.*;
/**
* Sample Buildap part,
* developed for learning purposes only,
* it shows usage of part, in, out and inout pin declarations notation
*
* author - Buildap team
*
* @vscb.part
* configname="sample.HelloWorld"
*
* @vscb.outpin
* id="51"
* name="GREETING"
* description="Sample outpin: fires generated greeting message event"
*
* @vscb.parameter
* type="String"
* name="message"
* description="Greeting message data"
*/
public class HelloWorld {
// declaring outpins
/**
* It is convinient to use and increases readibility when 'out' prefix
* used in namings of outpin variables.
*/
OutPin outGreeting = null;
public HelloWorld() {
try {
// set meta id of out pin
outGreeting = new OutPin(51);
}
catch (InstantiationException e) {
e.printStackTrace();
}
} //
/**
* Sample inpin - uses outpin to fire out event
*
* @vscb.inpin
* id="1"
* name="hello"
*
* @param name String
*/
public void sayHello(String name) {
outGreeting.fireOutPin("" + name + " says, Hello World");
}
/**
* Sample inoutpin, NOTE there is no notion of inout pin as it is.
* This notion used only for internal part developer's usage.
* And it is just conbination of one inpin and one outpin
* (NOTE if out-id equal to id of existing outpin
* then the same outpin will be used, otherwise new one will be created)
*
* @vscb.inoutpin
* id="2"
* name="hello2"
* out-id="51"
* out-name="GREETING"
*
* @param name String
* @return String
*/
public String sayHello2(String name) {
return ("" + name + " says, Hello World");
}
}