package dst.ass1.jpa.model.impl;

import dst.ass1.jpa.model.ICoursePlatform;
import dst.ass1.jpa.model.IMembership;
import dst.ass1.jpa.model.IParticipant;
import dst.ass1.jpa.util.Constants;

import javax.persistence.*;

@Entity
@Table(name = Constants.T_MEMBERSHIP)
public class Membership implements IMembership {
    @Id
    @GeneratedValue
    private Long id;

    @Column
    private Boolean premium;

    @Column
    private Double discount;

    @ManyToOne(targetEntity = CoursePlatform.class, optional = false)
    private ICoursePlatform coursePlatform;

    @ManyToOne(targetEntity = Participant.class)
    private IParticipant participant;

    @Override
    public Long getId() {
        return id;
    }

    @Override
    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public Boolean getPremium() {
        return premium;
    }

    @Override
    public void setPremium(Boolean premium) {
        this.premium = premium;
    }

    @Override
    public Double getDiscount() {
        return discount;
    }

    @Override
    public void setDiscount(Double discount) {
        this.discount = discount;
    }

    @Override
    public ICoursePlatform getCoursePlatform() {
        return coursePlatform;
    }

    @Override
    public void setCoursePlatform(ICoursePlatform coursePlatform) {
        this.coursePlatform = coursePlatform;
    }

    @Override
    public IParticipant getParticipant() {
        return participant;
    }

    @Override
    public void setParticipant(IParticipant participant) {
        this.participant = participant;
    }
}
