// Path: scene-core/src/test/java/br/ufes/inf/lprm/scene/test/temporal/model/TemporalEntity.java
// public interface TemporalEntity {
//     public String getId();
//     public boolean isFinished();
//     public long getStart();
//     public long getEnd();
//     public Type getTemporalType();
// 
//     public enum Type {
//         EVENT, SITUATION
//     }
// 
// }
// 
// Path: scene-core/src/test/java/br/ufes/inf/lprm/scene/test/temporal/model/event/Event.java
// @Role(Role.Type.EVENT)
// @Timestamp("start")
// @Duration("duration")
// public class Event implements Serializable, TemporalEntity {
// 
//     private static final long serialVersionUID = 1L;
//     private long start;
//     private long duration;
//     private boolean finished;
//     private String id;
// 
//     public Event(String id, long start, long duration) {
//         this.id = id;
//         this.start = start;
//         this.duration = duration;
//     }
// 
//     public long getStart() {
//         return start;
//     }
// 
//     public long getDuration() {
//         return duration;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public boolean isFinished() {
//         return finished;
//     }
// 
//     public Event setFinished(boolean finished) {
//         this.finished = finished;
//         return this;
//     }
// 
//     public long getEnd() {
//         return start + duration;
//     }
// 
//     @Override
//     public TemporalEntity.Type getTemporalType() {
//         return Type.EVENT;
//     }
// }


import br.ufes.inf.lprm.scene.test.temporal.model.TemporalEntity;
import br.ufes.inf.lprm.scene.test.temporal.model.event.Event;
import br.ufes.inf.lprm.situation.bindings.part;
import org.kie.api.definition.type.Key;
package br.ufes.inf.lprm.scene.test.temporal.model.situation;



public class Situation extends br.ufes.inf.lprm.scene.model.Situation implements TemporalEntity {

    @part @Key
// Path: scene-core/src/test/java/br/ufes/inf/lprm/scene/test/temporal/model/TemporalEntity.java
// public interface TemporalEntity {
//     public String getId();
//     public boolean isFinished();
//     public long getStart();
//     public long getEnd();
//     public Type getTemporalType();
// 
//     public enum Type {
//         EVENT, SITUATION
//     }
// 
// }
// 
// Path: scene-core/src/test/java/br/ufes/inf/lprm/scene/test/temporal/model/event/Event.java
// @Role(Role.Type.EVENT)
// @Timestamp("start")
// @Duration("duration")
// public class Event implements Serializable, TemporalEntity {
// 
//     private static final long serialVersionUID = 1L;
//     private long start;
//     private long duration;
//     private boolean finished;
//     private String id;
// 
//     public Event(String id, long start, long duration) {
//         this.id = id;
//         this.start = start;
//         this.duration = duration;
//     }
// 
//     public long getStart() {
//         return start;
//     }
// 
//     public long getDuration() {
//         return duration;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public boolean isFinished() {
//         return finished;
//     }
// 
//     public Event setFinished(boolean finished) {
//         this.finished = finished;
//         return this;
//     }
// 
//     public long getEnd() {
//         return start + duration;
//     }
// 
//     @Override
//     public TemporalEntity.Type getTemporalType() {
//         return Type.EVENT;
//     }
// }


// Path: scene-core/src/test/java/br/ufes/inf/lprm/scene/test/temporal/model/situation/Situation.java
import br.ufes.inf.lprm.scene.test.temporal.model.TemporalEntity;
import br.ufes.inf.lprm.scene.test.temporal.model.event.Event;
import br.ufes.inf.lprm.situation.bindings.part;
import org.kie.api.definition.type.Key;

package br.ufes.inf.lprm.scene.test.temporal.model.situation;



public class Situation extends br.ufes.inf.lprm.scene.model.Situation implements TemporalEntity {

    @part @Key
    private Event event;