package de.fhswf.in.inf.se.notepadMinusMinus.model; import java.math.BigDecimal; import java.util.List; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javafx.beans.property.ObjectProperty; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; /** * The wrapper for the gradeList. * * @author Stefan Suhren * @version 1.0 */ @XmlRootElement(name = "grades") public class Grades { ObservableList grades = FXCollections .observableArrayList(Grade.extractor()); private ObjectProperty thesis = new SimpleObjectProperty<>( new BigDecimal("0.0")); private ObjectProperty colloquium = new SimpleObjectProperty<>( new BigDecimal("0.0")); /** * Get the {@link Grades} as a {@link List}. * * @return The {@link List} of {@link Grade}s. */ @XmlElement(name = "grade", required = true) public List getGrades() { return this.grades; } /** * Set the {@link Grades} as {@link List}. * * @param grades * The {@link List} of {@link Grade}s to set. */ public void setGrades(List grades) { this.grades.clear(); this.grades.setAll(grades); } /** * Get the {@link ObservableList} of {@link Grade}s. * * @return The {@link ObservableList} */ public ObservableList gradesProperty() { return grades; } /** * Get the thesis grade {@link Property}. * * @return The {@link Property} grade of the thesis. */ public final ObjectProperty thesisProperty() { return this.thesis; } /** * Set the grade of the thesis. * * @return The grade of the thesis. */ @XmlAttribute(name = "thesis") public final BigDecimal getThesis() { return this.thesisProperty().get(); } /** * Set the grade of the thesis. * * @param thesis * The new grade of the thesis. */ public final void setThesis(final BigDecimal thesis) { this.thesisProperty().set(thesis); } /** * Get the colloquium grade {@link Property}. * * @return The colloquium grade {@link Property}. */ public final ObjectProperty colloquiumProperty() { return this.colloquium; } /** * Get the colloquium grade. * * @return The colloquium grade. */ @XmlAttribute(name = "colloquium") public final BigDecimal getColloquium() { return this.colloquiumProperty().get(); } /** * Set the colloquium grade. * * @param colloquium * The new colloquium grade. */ public final void setColloquium(final BigDecimal colloquium) { this.colloquiumProperty().set(colloquium); } }