package test.jist;

import jist.runtime.JistAPI;

public class TestEntityImpl implements TestInterface {
  public static void main(String[] args) {
    //TestInterface.Delegate dlg = new TestInterface.Delegate(new TestEntityImpl());
    TestInterface entity = TestInterface.Delegate.create(new TestEntityImpl());
    //TestInterface proxy = (TestInterface) JistAPI.proxy(dlg, TestInterface.class);
    AdvancedTestInterface aentity = new AdvancedTestInterface.Delegate(new AdvancedTestEntityImpl());
    aentity = (AdvancedTestInterface) JistAPI.proxy(aentity, AdvancedTestInterface.class);
    
//    JistAPI.sleep(21);
//    proxy.run();

    JistAPI.sleep(21);
    entity.run();

//    JistAPI.sleep(21);
//    dlg.getProxy().run();
    
//    JistAPI.sleep(21);
//    dlg.run();

    JistAPI.sleep(21);
    aentity.advancedRun();

    JistAPI.sleep(21);
    aentity.run();
  }

  public void run() {
    System.out.println(JistAPI.getTime() + ": run");
  }
}
