package exporterdemo.client;
import org.timepedia.exporter.client.Export;
import org.timepedia.exporter.client.ExportPackage;
import org.timepedia.exporter.client.Exportable;
import org.timepedia.exporter.client.NoExport;
/**
* Blacklist export policy. All public methods exported by default
*
* @author Ray Cromwell <ray@timepedia.org>
*/
@Export
@ExportPackage("test")
public class Employee extends Person implements Exportable {
public Employee(String firstName, String lastName) {
super(firstName, lastName);
}
private String title;
private int gender;
private MyClickListener listener;
public static final int MALE = 0, FEMALE = 1;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Employee() {
}
public Employee(String title, String firstName, String lastName, int gender) {
super(firstName, lastName);
this.title = title;
this.gender = gender;
people = new Person[2];
people[0] = new Person("John", "McCain");
people[1] = new Person("Barack", "Obama");
arr = new String[]{"McCain", "Obama"};
}
public Employee(Employee old) {
super(old.getFirstName(), old.getLastName());
this.title = old.getTitle();
this.gender = old.getGender();
}
/**
* let's stop this one from being exported
*/
@NoExport
public String fullTitle() {
return title + " " + super.fullTitle();
}
// should not be exported
private String getBlah() {
return "blah";
}
public int getGender() {
return gender;
}
public static String sayHello(Person emp) {
return "Hello " + emp.fullTitle();
}
public String overriden(String x) {
return x + ".";
}
public double overriden(double x) {
return x + 1;
}
public Employee overriden(Employee that) {
return that;
}
/**
* demonstrate how to avoid overload conflicts
*/
@Export("sayHelloString")
public static String sayHello(String foo) {
return "Hello " + foo;
}
/**
*/
@Export("addListener")
public String addClickListener(MyClickListener listener) {
this.listener = listener;
return null;
}
/**
*/
@Export("fire")
public void fireClickListener() {
if (listener != null) {
listener.onClick(this, "Hello", gender);
}
}
/**
*/
@Export
public InnerTest getInnerTest() {
return new InnerTest();
}
/**
*/
@Export
public static class InnerTest implements Exportable {
public InnerTest() {
}
public int getFoo() {
return 10;
}
}
String[] arr;
@Export
public String[] getStrArry() {
return arr;
}
double values[] = new double[]{1, 2, 3, 4, 5};
@Export
public double[] getValues() {
return values;
}
Person[] people;
@Export
public Person[] getPeople() {
return people;
}
}