// Path: src/main/java/com/eguller/mouserecorder/format/api/Convertor.java
// public interface Convertor<T extends Event> {
//    public String event2String(T event);
//    public Event string2Event(String str);
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/Record.java
// public class Record {
//     private List<Event> eventList = new ArrayList<Event>();
//     long lastEvent;
//     Config config;
// 
//     public Record(Config config) {
//         this.lastEvent = System.currentTimeMillis();
//         this.config = config;
//     }
// 
//     public void post(Event event) {
//         addDelayEvent();
//         eventList.add(event);
//     }
// 
//     public void add(Event event) {
//         eventList.add(event);
//     }
// 
//     private void addDelayEvent() {
//         long elapsed = System.currentTimeMillis() - lastEvent;
//         lastEvent = System.currentTimeMillis();
//         if (elapsed > 0) {
//             eventList.add(new DelayEvent(elapsed, config));
//         }
//     }
// 
//     public List<Event> getEventList() {
//         return eventList;
//     }
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/event/Event.java
// public interface  Event {
//     public void execute(Robot robot);
// }


import com.eguller.mouserecorder.format.api.Convertor;
import com.eguller.mouserecorder.recorder.Record;
import com.eguller.mouserecorder.recorder.event.Event;
import java.io.File;
package com.eguller.mouserecorder.format.api;



/**
 * User: eguller
 * Date: 2/23/14
 * Time: 2:36 AM
 */
public interface Format {
    public void save(File file, Record record);
// Path: src/main/java/com/eguller/mouserecorder/format/api/Convertor.java
// public interface Convertor<T extends Event> {
//    public String event2String(T event);
//    public Event string2Event(String str);
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/Record.java
// public class Record {
//     private List<Event> eventList = new ArrayList<Event>();
//     long lastEvent;
//     Config config;
// 
//     public Record(Config config) {
//         this.lastEvent = System.currentTimeMillis();
//         this.config = config;
//     }
// 
//     public void post(Event event) {
//         addDelayEvent();
//         eventList.add(event);
//     }
// 
//     public void add(Event event) {
//         eventList.add(event);
//     }
// 
//     private void addDelayEvent() {
//         long elapsed = System.currentTimeMillis() - lastEvent;
//         lastEvent = System.currentTimeMillis();
//         if (elapsed > 0) {
//             eventList.add(new DelayEvent(elapsed, config));
//         }
//     }
// 
//     public List<Event> getEventList() {
//         return eventList;
//     }
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/event/Event.java
// public interface  Event {
//     public void execute(Robot robot);
// }


// Path: src/main/java/com/eguller/mouserecorder/format/api/Format.java
import com.eguller.mouserecorder.format.api.Convertor;
import com.eguller.mouserecorder.recorder.Record;
import com.eguller.mouserecorder.recorder.event.Event;
import java.io.File;

package com.eguller.mouserecorder.format.api;



/**
 * User: eguller
 * Date: 2/23/14
 * Time: 2:36 AM
 */
public interface Format {
    public void save(File file, Record record);
    public Record load(File file);