package dst.ass1.jpa.model.impl;

import dst.ass1.jpa.model.ILesson;
import dst.ass1.jpa.model.IMaterial;
import dst.ass1.jpa.model.IMaterialServer;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

//@Entity
//@Table(name = Constants.T_MATERIAL)
public class Material implements IMaterial {
    // EXTERNAL! -> xml.
    private Long id;
    private String urn;
    private String type;
    private Date uploaded;
    private Date lastUpdate;
    private ILesson lesson;
    private Collection<IMaterialServer> materialServers = new ArrayList<>();

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

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

    @Override
    public String getUrn() {
        return urn;
    }

    @Override
    public void setUrn(String urn) {
        this.urn = urn;
    }

    @Override
    public String getType() {
        return type;
    }

    @Override
    public void setType(String type) {
        this.type = type;
    }

    @Override
    public Date getUploaded() {
        return uploaded;
    }

    @Override
    public void setUploaded(Date uploaded) {
        this.uploaded = uploaded;
    }

    @Override
    public Date getLastUpdate() {
        return lastUpdate;
    }

    @Override
    public void setLastUpdate(Date lastUpdate) {
        this.lastUpdate = lastUpdate;
    }

    @Override
    public ILesson getLesson() {
        return lesson;
    }

    @Override
    public void setLesson(ILesson lesson) {
        this.lesson = lesson;
    }

    @Override
    public Collection<IMaterialServer> getMaterialServers() {
        return materialServers;
    }

    @Override
    public void setMaterialServers(Collection<IMaterialServer> materialServers) {
        this.materialServers = materialServers;
    }

    @Override
    public void addMaterialServer(IMaterialServer materialServer) {
        this.materialServers.add(materialServer);
    }
}
