/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.cuni.amis.pogamut.base.communication.translator.tr2;

import cz.cuni.amis.pogamut.base.agent.worldview.IWorldEvent;
import cz.cuni.amis.pogamut.base.communication.translator.IWorldChangeEvent;

/**
 *
 * @author ik
 */
public interface ChangeEventTranslator {

    /**
     * Package with all unhandled IWorldChangeEvent objects and with resulting IWorldEvent objects.
     */
    public static class TranslationPackage {

        IWorldEvent[] events;
        IWorldChangeEvent changeEvent;

        public TranslationPackage(IWorldEvent[] events, IWorldChangeEvent changeEvent) {
            this.changeEvent = changeEvent;
            this.events = events;
        }

        public IWorldChangeEvent getChangeEvent() {
            return changeEvent;
        }

        public IWorldEvent[] getEvents() {
            return events;
        }
    }

    public TranslationPackage translate(TranslationPackage pack);

}
