/* * EXTENDED_DOMAIN_MODEL.DML * The Fenix Project Domain Model extensions. This file contains all Linkare's specific code which, however, is common to all versions of Fénix * installed in Linkare's clients. * */ package net.sourceforge.fenixedu.domain; /* * ValueTypes declarations * */ enum pt.ist.fenixframework.audit.Operation as Operation; /* * * Class definitions * */ class complain.EvaluationComplain extends DomainObject { String description; String teacherAnswer; YearMonthDay studentEvaluationComplainDateYearMonthDay; YearMonthDay teacherAnswerDateYearMonthDay; } class PersonResidence extends DomainObject { String district; String districtSubdivision; String parish; } class student.registrationStates.SchoolPartConcludedInactiveState extends student.registrationStates.RegistrationState { } class student.registrationStates.RegisteredNonSchoolPartState extends student.registrationStates.RegistrationState { } // Temporary state class student.registrationStates.ConcludedModuleState extends student.registrationStates.RegistrationState { } class student.registrationStates.QuittedState extends student.registrationStates.RegistrationState { } class student.registrationStates.SuspendedState extends student.registrationStates.RegistrationState { } class SpecialSituationCode extends DomainObject { Integer code; BigDecimal maxEcts; String situation; } class YearStudentSpecialSituationCode extends DomainObject { } class FinalEvaluationByEvaluationType extends Evaluation { // Linkare - Added by Paulo Zenida EnrolmentEvaluationType enrolmentEvaluationType; // Linkare - End added by Paulo Zenida } class FinalMarkByEvaluationType extends FinalMark { } class accounting.events.EnrolmentInAppealSeasonEvent extends accounting.AcademicEvent { } class accounting.events.EnrolmentInAppealSeasonPenaltyExemption extends accounting.events.PenaltyExemption { } class accounting.postingRules.EnrolmentInAppealSeasonPR extends accounting.postingRules.GenericSingleEntryTypePR { Money fixedAmount; Money fixedAmountPenalty; } class audit.Auditor extends DomainObject { String performedBy; DateTime operationDate; String genericOperation; } class audit.AuditOperation extends DomainObject { Operation operation; DateTime instant; String message; String objectClass; Integer objectId; } /* * Relations definitions * */ relation RootDomainObjectEvaluationComplain { RootDomainObject playsRole rootDomainObject; complain.EvaluationComplain playsRole evaluationComplain { multiplicity *; } } relation EvaluationComplainTeacher { complain.EvaluationComplain playsRole evaluationComplains { multiplicity *; } Teacher playsRole teacher; } relation RootDomainObjectPersonResidence { RootDomainObject playsRole rootDomainObject; PersonResidence playsRole residences { multiplicity *; } } relation StudentComplainStudent { complain.EvaluationComplain playsRole evaluationComplains { multiplicity *; } student.Student playsRole student; } relation EvaluationComplainExecutionCourse { complain.EvaluationComplain playsRole evaluationComplains { multiplicity *; } ExecutionCourse playsRole executionCourse; } relation PersonUnit { Person playsRole persons { multiplicity *; } organizationalStructure.Unit playsRole currentWorkingPlace; } relation CompetenceCourseUnits { CompetenceCourse playsRole associatedCompetenceCourses { multiplicity *; } organizationalStructure.CompetenceCourseGroupUnit playsRole additionalCompetenceCourseGroupUnits { multiplicity *; } } relation PersonPersonResidence { Person playsRole person; PersonResidence playsRole residence; } relation PersonResidenceCountry { PersonResidence playsRole residences { multiplicity *; } Country playsRole country; } relation RegistrationStateExecutionYear { student.registrationStates.RegistrationState playsRole registrationStates { multiplicity *; } ExecutionYear playsRole executionYear; } relation RootDomainObjectSpecialSituationCode { RootDomainObject playsRole rootDomainObject; SpecialSituationCode playsRole specialSituationCodes { multiplicity *; } } relation RootDomainObjectYearStudentSpecialSituationCode { RootDomainObject playsRole rootDomainObject; YearStudentSpecialSituationCode playsRole yearStudentSpecialSituationCodes { multiplicity *; } } relation YearStudentSpecialSituationCodeExecutionYear { ExecutionYear playsRole executionYear; YearStudentSpecialSituationCode playsRole yearStudentSpecialSituationCodes { multiplicity *; } } relation YearStudentSpecialSituationCodeSpecialSituationCode { SpecialSituationCode playsRole specialSituationCode; YearStudentSpecialSituationCode playsRole yearStudentSpecialSituationCodes { multiplicity *; } } relation YearStudentSpecialSituationCodeStudent { student.Registration playsRole student; YearStudentSpecialSituationCode playsRole yearStudentSpecialSituationCodes { multiplicity *; } } relation EnrolmentEvaluationEnrolmentInAppealSeasonEvent { EnrolmentEvaluation playsRole appealEnrolmentEvaluations { multiplicity *; } accounting.events.EnrolmentInAppealSeasonEvent playsRole enrolmentInAppealSeasonEvent; } relation AuditorAuditOperations { audit.Auditor playsRole auditor; audit.AuditOperation playsRole associatedAuditOperations { multiplicity *; } } /* relation RootDomainObjectAuditor { RootDomainObject playsRole rootDomainObject; audit.Auditor playsRole auditors { multiplicity *; } } */ relation RootDomainObjectAuditOperations { RootDomainObject playsRole rootDomainObject; audit.AuditOperation playsRole allAuditOperations { multiplicity *; } }