/*********************************** * DOMAIN_MODEL.DML * * * * The Fenix Project Domain Model * * The institution specific model. * * * ***********************************/ valueType net.sourceforge.fenixedu.domain.Person as Person; class net.sourceforge.fenixedu.domain.candidacy.degree.DgesFile extends net.sourceforge.fenixedu.domain.DomainObject { String filename; } class net.sourceforge.fenixedu.domain.candidacy.degree.DgesFileEntry extends net.sourceforge.fenixedu.domain.DomainObject { String documentIdNumber; IDDocumentType idDocumentType; String studentInitialName; String degreeCode; Integer year; Integer studentNumber; String studentChangedName; Integer keyDgesFile; } class net.sourceforge.fenixedu.domain.KnownGivenName extends net.sourceforge.fenixedu.domain.DomainObject { String name; Gender gender; } class net.sourceforge.fenixedu.domain.PresenceSheet extends net.sourceforge.fenixedu.domain.DomainObject { Integer keyCorrectedExecutionCourse; Integer keyCorrectedPossibleLesson; Integer keyPrintedPresenceSheet; Integer keyPossibleLesson; Integer keyMarkedExecutionCourse; } class net.sourceforge.fenixedu.domain.PrintedPresenceSheet extends net.sourceforge.fenixedu.domain.DomainObject { Integer keyTeacher; DateTime generationDate; Integer maxStudentsInAnyPrintedExecutionCourses; } class net.sourceforge.fenixedu.domain.ExecutionCourseInPrintedPresenceSheet extends net.sourceforge.fenixedu.domain.DomainObject { Integer keyExecutionCourse; Integer keyPresenceSheet; Integer printedOrder; } class net.sourceforge.fenixedu.domain.FilledPresenceSheet extends net.sourceforge.fenixedu.domain.DomainObject { Integer keyPrintedPresenceSheet; Integer keyMarkedExecutionCourse; Integer keyCorrectedExecutionCourse; Integer keyPossibleLesson; Integer keyCorrectedPossibleLesson; DateTime insertedDate; DateTime markedLessonDate; DateTime correctedMarkedLessonDate; Integer markedCountAttends; Integer correctedCountAttends; String persistedDocumentURI; } class net.sourceforge.fenixedu.domain.fenixdoc.VirtualResourceLink extends net.sourceforge.fenixedu.domain.DomainObject { String resourceAlias; Integer keyPerson; } class net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource extends net.sourceforge.fenixedu.domain.DomainObject{ String resourceName; Integer keyParentDirectory; Integer keyPerson; String ojbConcreteClass; String relativePath; } class net.sourceforge.fenixedu.domain.fenixdoc.Directory extends net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource{ Integer level; } class net.sourceforge.fenixedu.domain.fenixdoc.Document extends net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource{ Integer keyParentDocument; } class net.sourceforge.fenixedu.domain.fenixdoc.SimpleDocument extends net.sourceforge.fenixedu.domain.fenixdoc.Document { } class net.sourceforge.fenixedu.domain.fenixdoc.CompoundDocument extends net.sourceforge.fenixedu.domain.fenixdoc.Document { } class net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategory extends net.sourceforge.fenixedu.domain.DomainObject{ String categoryName; } class net.sourceforge.fenixedu.domain.fenixdoc.DCElementType extends net.sourceforge.fenixedu.domain.DomainObject { String elementName; String qualifier; Boolean mandatory; Boolean multipleRelations; Boolean openElement; } class net.sourceforge.fenixedu.domain.fenixdoc.DCElementValue extends net.sourceforge.fenixedu.domain.DomainObject { String elementValue; String language; Integer keyDcElementType; } class net.sourceforge.fenixedu.domain.fenixdoc.Language extends net.sourceforge.fenixedu.domain.DomainObject { String code; String languageName; } class net.sourceforge.fenixedu.domain.fenixdoc.DCElementPossibleValues extends net.sourceforge.fenixedu.domain.DomainObject { Integer keyDcElementType; String elementPossibleValue; } class net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirements extends net.sourceforge.fenixedu.domain.DomainObject { String documentCategoryElementsRequirementsName; } class net.sourceforge.fenixedu.domain.fenixdoc.FenixDocParameters extends net.sourceforge.fenixedu.domain.DomainObject { String name; String value; } class net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirementsDCElementType extends net.sourceforge.fenixedu.domain.DomainObject { Integer keyDcElementType; Integer keyDocumentCategoryElementsRequirements; Boolean mandatory; } /****************** * * * Relations * * * *******************/ relation DgesFileDgesFileEntry { net.sourceforge.fenixedu.domain.candidacy.degree.DgesFile playsRole dgesFile; net.sourceforge.fenixedu.domain.candidacy.degree.DgesFileEntry playsRole dgesFileEntries { multiplicity *; } } relation RootDomainObjectDgesFile { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.candidacy.degree.DgesFile playsRole dgesFiles { multiplicity *; } } relation RootDomainObjectDgesFileEntry { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.candidacy.degree.DgesFileEntry playsRole dgesFileEntries { multiplicity *; } } relation RootDomainObjectKnownGivenName { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.KnownGivenName playsRole knownGivenNames { multiplicity *; } } relation RootDomainObjectPrintedPresenceSheet { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.PrintedPresenceSheet playsRole printedPresenceSheets { multiplicity *; } } relation PrintedPresenceSheetTeacher { net.sourceforge.fenixedu.domain.PrintedPresenceSheet playsRole printedPresenceSheets { multiplicity *; } net.sourceforge.fenixedu.domain.Teacher playsRole teacher; } relation PrintedPresenceSheetExecutionCourseInPrintedPresenceSheet { net.sourceforge.fenixedu.domain.PrintedPresenceSheet playsRole presenceSheet; net.sourceforge.fenixedu.domain.ExecutionCourseInPrintedPresenceSheet playsRole printedExecutionCourses { multiplicity *; } } relation ExecutionCourseExecutionCourseInPrintedPresenceSheet { net.sourceforge.fenixedu.domain.ExecutionCourse playsRole executionCourse; net.sourceforge.fenixedu.domain.ExecutionCourseInPrintedPresenceSheet playsRole executionCoursesInPrintedPresenceSheets { multiplicity *; } } relation PrintedPresenceSheetPresenceSheet { net.sourceforge.fenixedu.domain.PrintedPresenceSheet playsRole printedPresenceSheet; net.sourceforge.fenixedu.domain.PresenceSheet playsRole presenceSheet { multiplicity *; } } relation PresenceSheetMarkedExecutionCourse { net.sourceforge.fenixedu.domain.PresenceSheet playsRole presenceSheetsMarkedIn { multiplicity *; } net.sourceforge.fenixedu.domain.ExecutionCourse playsRole markedExecutionCourse; } relation PresenceSheetCorrectedExecutionCourse { net.sourceforge.fenixedu.domain.PresenceSheet playsRole presenceSheets { multiplicity *; } net.sourceforge.fenixedu.domain.ExecutionCourse playsRole correctedExecutionCourse; } relation PresenceSheetPossibleLesson { net.sourceforge.fenixedu.domain.PresenceSheet playsRole presenceSheetsPossible { multiplicity *; } net.sourceforge.fenixedu.domain.Lesson playsRole possibleLesson; } relation PresenceSheetCorrectedPossibleLesson { net.sourceforge.fenixedu.domain.PresenceSheet playsRole presenceSheets { multiplicity *; } net.sourceforge.fenixedu.domain.Lesson playsRole correctedPossibleLesson; } relation RootDomainObjectVirtualResource { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource playsRole virtualResources { multiplicity *; } } relation RootDomainObjectVirtualResourceLink { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.VirtualResourceLink playsRole virtualResourceLinks { multiplicity *; } } relation RootDomainObjectDocumentCategories { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategory playsRole documentCategories { multiplicity *; } } relation RootDomainObjectDocumentCategoryElementsRequirements { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirements playsRole documentCategoryElementsRequirements { multiplicity *; } } relation RootDomainObjectDCElementType { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.DCElementType playsRole dcElementTypes { multiplicity *; } } relation RootDomainObjectDCElementValue { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.DCElementValue playsRole dcElementValues { multiplicity *; } } relation RootDomainObjectDCElementPossibleValues { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.DCElementPossibleValues playsRole dcElementPossibleValues { multiplicity *; } } relation RootDomainObjectDocumentCategoryElementsRequirementsDCElementType { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirementsDCElementType playsRole documentCategoryElementsRequirementsDCElementTypes { multiplicity *; } } relation VirtualResourceDocumentCategory { net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource playsRole virtualResources{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategory playsRole documentCategories{ multiplicity *; } } relation VirtualResourcePerson { net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource playsRole virtualResources{ multiplicity *; } net.sourceforge.fenixedu.domain.Person playsRole person; } relation VirtualResourceLinkPerson { net.sourceforge.fenixedu.domain.fenixdoc.VirtualResourceLink playsRole virtualResourceLink { multiplicity *; } net.sourceforge.fenixedu.domain.Person playsRole person; } relation DocumentCategoryDocumentCategoryElementsRequirements { net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategory playsRole documentCategories{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirements playsRole documentCategoryElementsRequirements{ multiplicity *; } } relation DocumentCategoryDCElementType{ net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategory playsRole documentCategories{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.DCElementType playsRole dcElementTypes{ multiplicity *; } } relation VirtualResourceVirtualResourceLink{ net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource playsRole virtualResource{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.VirtualResourceLink playsRole virtualResourceLink{ multiplicity *; } } relation DocumentCompoundDocument{ net.sourceforge.fenixedu.domain.fenixdoc.Document playsRole documents{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.Document playsRole parentDocument; } relation VirtualResourceDirectory{ net.sourceforge.fenixedu.domain.fenixdoc.VirtualResource playsRole childVirtualResources{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.Directory playsRole parentDirectory; } relation DCElementTypeDocumentCategoryElementsRequirementsDCElementType { net.sourceforge.fenixedu.domain.fenixdoc.DCElementType playsRole dcElementType; net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirementsDCElementType playsRole documentCategoryElementsRequirementsDCElementTypes { multiplicity *; } } relation DocumentCategoryElementsRequirementsDocumentCategoryElementsRequirementsDCElementType{ net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirements playsRole documentCategoryElementsRequirements; net.sourceforge.fenixedu.domain.fenixdoc.DocumentCategoryElementsRequirementsDCElementType playsRole documentCategoriesElementsRequirementsDCElementType { multiplicity *; } } relation RootDomainObjectLanguage { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.Language playsRole language { multiplicity *; } } relation RootDomainObjectFenixDocParameters { net.sourceforge.fenixedu.domain.RootDomainObject playsRole rootDomainObject; net.sourceforge.fenixedu.domain.fenixdoc.FenixDocParameters playsRole fenixDocParameters { multiplicity *; } } relation DCElementTypeDCElementValue { net.sourceforge.fenixedu.domain.fenixdoc.DCElementType playsRole dcElementType; net.sourceforge.fenixedu.domain.fenixdoc.DCElementValue playsRole dcElementValues { multiplicity *; } } relation DocumentDCElementValue { net.sourceforge.fenixedu.domain.fenixdoc.Document playsRole documents{ multiplicity *; } net.sourceforge.fenixedu.domain.fenixdoc.DCElementValue playsRole dcElementValues { multiplicity *; } } relation DCElementTypeDCElementPossibleValues { net.sourceforge.fenixedu.domain.fenixdoc.DCElementType playsRole dcElementType; net.sourceforge.fenixedu.domain.fenixdoc.DCElementPossibleValues playsRole dcElementPossibleValues { multiplicity *; } }