Subversion Repositories bacoAlunos

Rev

Rev 1814 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.services.courses.coursereport.documentmodel.courseunitreport;

import com.owlike.genson.Genson;
import com.owlike.genson.GensonBuilder;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.domain.CourseUnitEvaluation;
import pt.estgp.estgweb.domain.CourseUnitEvaluationImpl;
import pt.estgp.estgweb.domain.utils.JsonView;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.courseunitreport.components.ReportTeacher;
import pt.estgp.estgweb.utils.documentBuilder.DocumentSection;

import java.util.Date;
import java.util.List;

/**
 * Created by jorgemachado on 14/10/17.
 */

public class CourseUnitSection extends DocumentSection implements JsonView
{
    private long courseUnitId;
    private 1.5.0/docs/api/java/lang/String.html">String name;
    private 1.5.0/docs/api/java/lang/String.html">String sigesCode;
    private 1.5.0/docs/api/java/lang/String.html">String period;
    private ReportTeacher responsableTeacher;
    private int anoPlano;
    private List<ReportTeacher> teachers;

    private CourseUnitEvaluationImpl courseUnitEvaluation;

    public CourseUnitSection()
    {
    }

    public CourseUnitSection(long courseUnitId,
                             1.5.0/docs/api/java/lang/String.html">String courseUnitName,
                             1.5.0/docs/api/java/lang/String.html">String sigesCode,
                             int anoPlano,
                             1.5.0/docs/api/java/lang/String.html">String period,
                             ReportTeacher responsableTeacher,
                             List<ReportTeacher> teachers,
                             CourseUnitEvaluationImpl courseUnitEvaluation) {
        this.courseUnitId = courseUnitId;
        this.name = courseUnitName;
        this.sigesCode = sigesCode;
        this.anoPlano = anoPlano;
        this.period = period;
        this.responsableTeacher = responsableTeacher;
        this.teachers = teachers;
        this.courseUnitEvaluation = courseUnitEvaluation;
        super.setTitle(courseUnitName);
    }

    public long getCourseUnitId() {
        return courseUnitId;
    }

    public void setCourseUnitId(long courseUnitId) {
        this.courseUnitId = courseUnitId;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getPeriod() { return period; }

    public void setPeriod(1.5.0/docs/api/java/lang/String.html">String period) { this.period = period; }

    public 1.5.0/docs/api/java/lang/String.html">String getName() {
        return name;
    }

    public void setName(1.5.0/docs/api/java/lang/String.html">String name) {
        this.name = name;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getSigesCode() {
        return sigesCode;
    }

    public void setSigesCode(1.5.0/docs/api/java/lang/String.html">String sigesCode) {
        this.sigesCode = sigesCode;
    }

    public ReportTeacher getResponsableTeacher() {
        return responsableTeacher;
    }

    public void setResponsableTeacher(ReportTeacher responsableTeacher) {
        this.responsableTeacher = responsableTeacher;
    }

    public List<ReportTeacher> getTeachers() {
        return teachers;
    }

    public void setTeachers(List<ReportTeacher> teachers) {
        this.teachers = teachers;
    }

    public CourseUnitEvaluation getCourseUnitEvaluation() {
        return courseUnitEvaluation;
    }

    public void setCourseUnitEvaluation(CourseUnitEvaluationImpl courseUnitEvaluation) {
        this.courseUnitEvaluation = courseUnitEvaluation;
    }

    public int getAnoPlano() {
        return anoPlano;
    }

    public void setAnoPlano(int anoPlano) {
        this.anoPlano = anoPlano;
    }

    private static Genson gensonGenericLoad;
    static{
        gensonGenericLoad = new GensonBuilder()
                .useMethods(true)
                .useFields(true)
                .useRuntimeType(true)
                .useClassMetadata(true)
                .useDateAsTimestamp(true)
                .exclude(1.5.0/docs/api/java/lang/Class.html">Class.class)
                .exclude(5+0%2Fdocs%2Fapi+Date">Date.class)
                .exclude(java.sql.5+0%2Fdocs%2Fapi+Timestamp">Timestamp.class)
                .exclude(java.sql.5+0%2Fdocs%2Fapi+Date">Date.class)
                .create();
    }

    public static CourseUnitSection fromJson(1.5.0/docs/api/java/lang/String.html">String json)
    {
        return gensonGenericLoad.deserialize(json,CourseUnitSection.class);
    }

    public static CourseUnitSection[] fromJsonArray(1.5.0/docs/api/java/lang/String.html">String jsonArray)
    {
        return gensonGenericLoad.deserialize(jsonArray,CourseUnitSection[].class);
    }



    public List<String> getJsonExcludedProperties() {
        return null;
    }

    /**
     * Generic Json Object only for local class methods
     * @return
     * @throws org.json.JSONException
     */

    public JSONObject toJsonObject() throws JSONException
    {
        return new JSONObject(toJson());
    }

    /**
     * * Generic Json Object only for local class methods
     * @return
     * @throws java.io.IOException
     */

    public 1.5.0/docs/api/java/lang/String.html">String toJson()
    {
        return gensonGenericLoad.serialize(this);
    }
}