package uk.ac.cam.echo.server.models; import org.codehaus.jackson.annotate.JsonCreator; import org.codehaus.jackson.map.annotate.JsonSerialize; import uk.ac.cam.echo.server.serializers.ForceEdgeSerializer; import javax.persistence.*; import java.util.Map; /** Author: Petar 'PetarV' Veličković A graph force edge model that will be put in permanent store. */ @JsonSerialize(using=ForceEdgeSerializer.class) @Entity @Table(name="FEdgesF") public class ForceEdgeModel extends BaseModel { public ForceEdgeModel() { } private static String[] allowed = {"source", "destinationId"}; @JsonCreator public ForceEdgeModel(Map<String, Object> props) { super(props, allowed); } @Id @GeneratedValue(strategy= GenerationType.SEQUENCE, generator="FEdgeIdSeq") @SequenceGenerator(name="FEdgeIdSeq", sequenceName="FEdge_SEQ", allocationSize = 1) private long id; @ManyToOne(targetEntity = ForceNodeModel.class) private ForceNodeModel source; private long destinationId; public long getId() { return id; } public void setId(long id) { this.id = id; } public ForceNodeModel getSource() { return source; } public void setSource(ForceNodeModel src) { this.source = src; } public long getDestinationId() { return destinationId; } public void setDestinationId(long dstId) { this.destinationId = dstId; } }