Package org.ametys.odf.program
Class AbstractProgramPart<F extends ProgramPartFactory>
- java.lang.Object
-
- org.ametys.plugins.repository.AbstractAmetysObject
-
- org.ametys.plugins.repository.jcr.SimpleAmetysObject<F>
-
- org.ametys.plugins.repository.jcr.DefaultAmetysObject<F>
-
- org.ametys.cms.repository.DefaultContent<F>
-
- org.ametys.cms.repository.ModifiableDefaultContent<F>
-
- org.ametys.odf.program.AbstractProgramPart<F>
-
- Type Parameters:
F
- the actual type of factory.
- All Implemented Interfaces:
CommentableContent
,CommentableAmetysObject
,Content
,ModifiableContent
,ModifiableWorkflowAwareContent
,ReactionableObject
,ReportableObject
,WorkflowAwareContent
,CDMEntity
,CDMFRTagsConstants
,ProgramPart
,ProgramItem
,ACLAmetysObject
,AmetysObject
,CopiableAmetysObject
,DataAwareAmetysObject
,ModelAwareDataAwareAmetysObject
,ModifiableModelAwareDataAwareAmetysObject
,DataHolder
,ModelAwareDataHolder
,ModifiableDataHolder
,ModifiableModelAwareDataHolder
,DublinCoreAwareAmetysObject
,ModifiableDublinCoreAwareAmetysObject
,JCRAmetysObject
,JCRTraversableAmetysObject
,LockableAmetysObject
,LockAwareAmetysObject
,MetadataAwareAmetysObject
,ModifiableMetadataAwareAmetysObject
,ModifiableACLAmetysObject
,ModifiableAmetysObject
,ModifiableTraversableAmetysObject
,RemovableAmetysObject
,TagAwareAmetysObject
,TaggableAmetysObject
,TraversableAmetysObject
,DataAndVersionAwareAmetysObject
,ModifiableDataAwareVersionableAmetysObject
,VersionableAmetysObject
,VersionAwareAmetysObject
,WorkflowAwareAmetysObject
- Direct Known Subclasses:
AbstractTraversableProgramPart
,CourseList
public abstract class AbstractProgramPart<F extends ProgramPartFactory> extends ModifiableDefaultContent<F> implements ProgramPart
Common implementation of aContent
which is part of a program
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ametys.cms.repository.ReactionableObject
ReactionableObject.ReactionType
-
-
Field Summary
-
Fields inherited from class org.ametys.cms.repository.DefaultContent
ATTACHMENTS_NODE_NAME, DEFAULT_CONTENT_LOCALE, METADATA_CONTENTTYPE, METADATA_CONTRIBUTOR, METADATA_CREATION, METADATA_CREATOR, METADATA_FIRST_VALIDATION, METADATA_LANGUAGE, METADATA_LAST_MAJORVALIDATION, METADATA_LAST_VALIDATION, METADATA_MIXINCONTENTTYPES, METADATA_MODIFIED, METADATA_OUTGOING_REFERENCE_NODETYPE, METADATA_OUTGOING_REFERENCE_PROPERTY, METADATA_OUTGOING_REFERENCES, METADATA_OUTGOING_REFERENCES_PATH_PROPERTY, METADATA_ROOT_OUTGOING_REFERENCES
-
Fields inherited from class org.ametys.plugins.repository.jcr.DefaultAmetysObject
PROTECTED_PROPERTIES
-
Fields inherited from interface org.ametys.odf.cdmfr.CDMFRTagsConstants
ATTRIBUTE_ACTIVITY_PART_STRUCTURE, ATTRIBUTE_BLOCK_LANG, ATTRIBUTE_BUILDING, ATTRIBUTE_CODE_SET, ATTRIBUTE_COMPETENCE_YIELDING, ATTRIBUTE_COUNTY_CODE, ATTRIBUTE_COURSE_STRUCTURE, ATTRIBUTE_CURRENCY, ATTRIBUTE_DATE, ATTRIBUTE_DEGREE, ATTRIBUTE_DEGREE_NOT_LMD, ATTRIBUTE_DIPLOMA_TYPE, ATTRIBUTE_DURATION, ATTRIBUTE_ECTS_CREDITS, ATTRIBUTE_EQUIV, ATTRIBUTE_HOURS_PER_WEEK, ATTRIBUTE_ID, ATTRIBUTE_ID_REF, ATTRIBUTE_IDENT, ATTRIBUTE_LANGUAGE, ATTRIBUTE_LEVEL, ATTRIBUTE_LIB_SET, ATTRIBUTE_LIMITED, ATTRIBUTE_METHOD, ATTRIBUTE_NATURE, ATTRIBUTE_ORG, ATTRIBUTE_ORG_TYPE, ATTRIBUTE_ORG_UNIT_KIND_CODE_VALUESET, ATTRIBUTE_PLACES, ATTRIBUTE_PRICE, ATTRIBUTE_REF, ATTRIBUTE_ROLE, ATTRIBUTE_ROOM, ATTRIBUTE_START, ATTRIBUTE_STUDY_PACE, ATTRIBUTE_TEACHING_LANG, ATTRIBUTE_TEACHING_START, ATTRIBUTE_TEACHING_TYPE, ATTRIBUTE_TEL_TYPE, ATTRIBUTE_TERM, ATTRIBUTE_TIME, ATTRIBUTE_TIME_OF_DAY, ATTRIBUTE_TOTAL_WORK_LOAD, ATTRIBUTE_USER_DEFINED, NAMESPACE_AMETYS_CDM, NAMESPACE_CDMFR, PHONE_TYPE_HOME, PHONE_TYPE_MOBILE, PHONE_TYPE_OFFICE, TAG_ACTIVITY_PARTS, TAG_ADDRESS, TAG_ADMISSION_DESCRIPTION, TAG_ADMISSION_INFO, TAG_AFFILIATION, TAG_ALT_LANG_BLOCK, TAG_BIBLIOGRAPHY, TAG_CANCEL_DEADLINE, TAG_CDM, TAG_CDM_DATE_TIME, TAG_CDM_LOCATION, TAG_COMPETENCE_DESC, TAG_COMPETENCE_VALIDITY, TAG_CONTACT_DATA, TAG_CONTACT_NAME, TAG_CONTACTS, TAG_COUNTRY, TAG_COURSE, TAG_COURSE_CODE, TAG_COURSE_CONTENTS, TAG_COURSE_DESCRIPTION, TAG_COURSE_ID, TAG_COURSE_NAME, TAG_CREDITS, TAG_CRITERIA, TAG_DATE_FROM, TAG_DATE_TO, TAG_DEGREE, TAG_DEGREE_NAME, TAG_DIGIT_PROD_PERC, TAG_DIGIT_PROD_UNT_PERC, TAG_DIGITAL_USE, TAG_DIPLOMA, TAG_ECTS_REQUIRED, TAG_EMAIL, TAG_END, TAG_EVALUATION_DEADLINE, TAG_EXAM, TAG_EXAM_DURATION, TAG_EXAM_END, TAG_EXAM_KIND, TAG_EXAM_LOCATION, TAG_EXAM_NAME, TAG_EXAM_PARTS, TAG_EXAM_START, TAG_EXAM_STRUCTURE, TAG_EXISTS, TAG_EXPENSES, TAG_EXTADR, TAG_EXTENSION_BLOCK, TAG_FAMILY_NAME, TAG_FAX, TAG_FORM_OF_ASSESSMENT, TAG_FORM_OF_TEACHING, TAG_FORMAL_PREREQUISITES, TAG_GIVEN_NAME, TAG_GLOBAL_VOLUME, TAG_HABILITATION, TAG_HABILITATION_ID, TAG_HEADER, TAG_HREF, TAG_INFO_BLOCK, TAG_INSTRUCTION_LANGUAGE, TAG_LCMS, TAG_LEARNING_OBJECTIVES, TAG_LEVEL, TAG_LEVEL_CODE, TAG_LINK_NAME, TAG_LOCALITY, TAG_NAME, TAG_OCCURRENCE_RULE, TAG_ORDINARY_NAME, TAG_ORG_UNIT, TAG_ORG_UNIT_ACRONYM, TAG_ORG_UNIT_CODE, TAG_ORG_UNIT_DESCRIPTION, TAG_ORG_UNIT_ID, TAG_ORG_UNIT_KIND, TAG_ORG_UNIT_NAME, TAG_OVERLAP, TAG_PART_STRUCTURE, TAG_PCODE, TAG_PERC_OF_USE, TAG_PERCENTAGE, TAG_PERSON, TAG_PERSON_ID, TAG_PHONE, TAG_PLACE, TAG_POBOX, TAG_PPAL_TEACHING_LANGUAGE, TAG_PROD_PEDA, TAG_PROFESS_FIELD, TAG_PROFESSION, TAG_PROFESSIONAL_DIPLOMA, TAG_PROGRAM, TAG_PROGRAM_CODE, TAG_PROGRAM_DESCRIPTION, TAG_PROGRAM_DURATION, TAG_PROGRAM_ID, TAG_PROGRAM_NAME, TAG_PROGRAM_STRUCTURE, TAG_QUALIFICATION, TAG_QUALIFICATION_DESCRIPTION, TAG_QUALIFICATION_NAME, TAG_RECOMMANDED_PREREQUISITES, TAG_REF_COURSE, TAG_REF_ORG_UNIT, TAG_REF_PERSON, TAG_REF_PROGRAM, TAG_REGION, TAG_REGISTRATION_DEADLINE, TAG_REGISTRATION_DETAIL, TAG_REGISTRATION_MODALITIES, TAG_REGISTRATION_PROCESS, TAG_REGISTRATION_START, TAG_REGULATIONS, TAG_REOCCURRING_EVENTS, TAG_RESOURCE_MGT, TAG_ROLE, TAG_ROME_DATA, TAG_SEARCH_WORD, TAG_SECT_CNU, TAG_SINGLE_EVENT, TAG_START, TAG_STATISTICS, TAG_STREET, TAG_STUDENT_FACILITIES, TAG_STUDENT_PLACES, TAG_STUDENT_STATUS, TAG_STUDY_ABROAD, TAG_STUDY_FIELD, TAG_STUDY_QUALIFICATION, TAG_SUB_BLOCK, TAG_SUB_PROGRAM, TAG_SYLLABUS, TAG_TARGET_GROUP, TAG_TEACHING_ACTIVITY, TAG_TEACHING_ACTIVITY_ID, TAG_TEACHING_ACTIVITY_NAME, TAG_TEACHING_ACTIVITY_STRUCTURE, TAG_TEACHING_PLACE, TAG_TEACHING_START, TAG_TEACHING_TERM, TAG_TEXT, TAG_TIME_FROM, TAG_TIME_OF_DAY, TAG_TIME_TO, TAG_TIMETABLE_ELEMENT, TAG_TITLE, TAG_UNIVERSAL_ADJUSTMENT, TAG_WEB_LINK, VALUE_A_CHOIX, VALUE_APPRENTICESHIP, VALUE_AREA, VALUE_AS_DEGREE, VALUE_ASSOCIATED_LABORITORIES, VALUE_ASSOCIATED_SCHOOLS, VALUE_CITE97, VALUE_COMPLEMENTARY_INFORMATIONS, VALUE_COMPONENT, VALUE_CONTINUE, VALUE_COURSE_STRUCTURE, VALUE_DEGREE, VALUE_DES, VALUE_DIP, VALUE_DISTANCE, VALUE_DOWNLOADING, VALUE_DUREE, VALUE_EC, VALUE_EDUCATION_TYPE, VALUE_ERASMUS, VALUE_FACULTATIVE, VALUE_FINALITE, VALUE_FORMCONTNONDIP, VALUE_FR_FR, VALUE_FRENCHLANGUAGE, VALUE_INIT, VALUE_INTERNATIONAL, VALUE_INTERNSHIP, VALUE_KNOWLEDGES, VALUE_KNOWMORELINK, VALUE_MENTION, VALUE_OBJECTIVES, VALUE_OBLIGATOIRE, VALUE_ORG_UNIT_PARENT, VALUE_PRESENCE, VALUE_PRESENTATION, VALUE_PRO, VALUE_PROFESSIONAL, VALUE_PROFESSIONAL_OBJECTIVES, VALUE_PURSUING, VALUE_RNCP, VALUE_SCHOOLPATH, VALUE_SISE, VALUE_SPECIALITY, VALUE_STAGE, VALUE_SUBPROG_TYPE, VALUE_TYPE, VALUE_UE, VALUE_UECONTAINER, VALUE_UEGROUP, VALUE_UNIVERSITY, VALUE_UNRLR, VALUE_VOLUME_HORAIRE, VALUE_VOLUME_HORAIRE_COURS, VALUE_VOLUME_HORAIRE_TD, VALUE_VOLUME_HORAIRE_TP
-
Fields inherited from interface org.ametys.cms.repository.Content
ATTRIBUTE_TITLE, METADATA_TITLE
-
Fields inherited from interface org.ametys.plugins.repository.data.holder.ModelAwareDataHolder
ALTERNATIVE_SUFFIX, COMMENTS_SUFFIX, STATUS_SUFFIX
-
Fields inherited from interface org.ametys.odf.ProgramItem
CATALOG, CODE, PROGRAM_ITEM_CONTENT_TYPE
-
Fields inherited from interface org.ametys.odf.program.ProgramPart
PARENT_PROGRAM_PARTS
-
-
Constructor Summary
Constructors Constructor Description AbstractProgramPart(Node node, String parentPath, F factory)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description String
getCatalog()
Get the catalog of this contentString
getCdmCode()
Get the CDM code.String
getCDMId()
Returns the CDM id.protected abstract String
getCDMType()
Get the type of thisProgramPart
in CDM.String
getCode()
Get the CDM-fr of theProgramItem
List<ProgramPart>
getProgramPartParents()
Returns the direct parentProgramPart
sSet<Program>
getRootPrograms()
Returns the programs holding this program partvoid
setCatalog(String catalog)
Set the catalogvoid
setCdmCode(String cdmCode)
Set the CDM code.void
setCode(String code)
Set the CDM-fr code-
Methods inherited from class org.ametys.cms.repository.ModifiableDefaultContent
createComment, createComment, fillContent, getComment, getComments, getCurrentStepId, getDataHolder, getLockOwner, getProposalDate, getWorkflowId, isLocked, lock, remove, setCreationDate, setCreator, setCurrentStepId, setDCContributor, setDCCoverage, setDCCreator, setDCDate, setDCDescription, setDCFormat, setDCIdentifier, setDCLanguage, setDCPublisher, setDCRelation, setDCRights, setDCSource, setDCSubject, setDCTitle, setDCType, setFirstValidationDate, setLastContributor, setLastMajorValidationDate, setLastModified, setLastValidationDate, setOutgoingReferences, setProposalDate, setTitle, setTitle, setWorkflowId, tag, unlock, untag
-
Methods inherited from class org.ametys.cms.repository.DefaultContent
addReaction, addReport, clearReports, copyTo, copyTo, copyTo, copyTo, copyTo, createChild, getChild, getChildren, getCreationDate, getCreator, getDCContributor, getDCCoverage, getDCCreator, getDCDate, getDCDescription, getDCFormat, getDCIdentifier, getDCLanguage, getDCPublisher, getDCRelation, getDCRights, getDCSource, getDCSubject, getDCTitle, getDCType, getFirstValidationDate, getInternalDataHolder, getLanguage, getLastContributor, getLastMajorValidationDate, getLastModified, getLastValidationDate, getMixinTypes, getOutgoingReferences, getReactionUsers, getReferencingContents, getReportsCount, getRootAttachments, getTags, getTitle, getTitle, getTypes, hasChild, hasReferencingContents, removeReaction, setLanguage, setMixinTypes, setReportsCount, setType, setTypes, toSAX
-
Methods inherited from class org.ametys.plugins.repository.jcr.DefaultAmetysObject
addAllowedGroups, addAllowedProfilesForAnonymous, addAllowedProfilesForAnyConnectedUser, addAllowedUsers, addDeniedGroups, addDeniedProfilesForAnonymous, addDeniedProfilesForAnyConnectedUser, addDeniedUsers, addLabel, checkpoint, copyNode, disallowInheritance, getAllLabels, getAllRevisions, getBaseNode, getBaseVersion, getLabels, getLabels, getNode, getProfilesForAnonymousAndAnyConnectedUser, getProfilesForGroups, getProfilesForUsers, getRevision, getRevisionTimestamp, getRevisionTimestamp, getUnversionedDataHolder, getVersionHistory, isInheritanceDisallowed, removeAllowedGroups, removeAllowedGroups, removeAllowedProfilesForAnonymous, removeAllowedProfilesForAnyConnectedUser, removeAllowedUsers, removeAllowedUsers, removeDeniedGroups, removeDeniedGroups, removeDeniedProfilesForAnonymous, removeDeniedProfilesForAnyConnectedUser, removeDeniedUsers, removeDeniedUsers, removeLabel, restoreFromLabel, restoreFromNode, restoreFromRevision, switchToLabel, switchToRevision
-
Methods inherited from class org.ametys.plugins.repository.jcr.SimpleAmetysObject
_getFactory, _invalidateName, _invalidateParentPath, getId, getMetadataHolder, getName, getParent, getParentPath, getPath, needsSave, rename, revertChanges, saveChanges
-
Methods inherited from class org.ametys.plugins.repository.AbstractAmetysObject
equals, hashCode, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ametys.plugins.repository.ACLAmetysObject
getProfilesForAnonymousAndAnyConnectedUser, getProfilesForGroups, getProfilesForUsers, isInheritanceDisallowed
-
Methods inherited from interface org.ametys.plugins.repository.AmetysObject
equals, getId, getName, getParent, getParentPath, getPath, hashCode
-
Methods inherited from interface org.ametys.odf.cdmfr.CDMEntity
getLanguage
-
Methods inherited from interface org.ametys.cms.repository.Content
getCreationDate, getCreator, getFirstValidationDate, getInternalDataHolder, getLanguage, getLastContributor, getLastMajorValidationDate, getLastModified, getLastValidationDate, getMixinTypes, getOutgoingReferences, getReferencingContents, getRootAttachments, getTitle, getTitle, getTypes, hasReferencingContents, setLanguage, setMixinTypes, setType, setTypes, toSAX
-
Methods inherited from interface org.ametys.plugins.repository.data.ametysobject.DataAwareAmetysObject
copyTo, dataToSAX, dataToSAX
-
Methods inherited from interface org.ametys.plugins.repository.dublincore.DublinCoreAwareAmetysObject
getDCContributor, getDCCoverage, getDCCreator, getDCDate, getDCDescription, getDCFormat, getDCIdentifier, getDCLanguage, getDCPublisher, getDCRelation, getDCRights, getDCSource, getDCSubject, getDCTitle, getDCType
-
Methods inherited from interface org.ametys.plugins.repository.jcr.JCRAmetysObject
getNode
-
Methods inherited from interface org.ametys.plugins.repository.data.ametysobject.ModelAwareDataAwareAmetysObject
getComments, getDataNames, getDefinition, getExternalValue, getLocalValue, getModel, getStatus, getValue, getValue, hasComments, hasDefinition, hasExternalValue, hasExternalValueOrEmpty, hasLocalValue, hasLocalValueOrEmpty, hasValue, hasValueOrEmpty
-
Methods inherited from interface org.ametys.plugins.repository.data.holder.ModelAwareDataHolder
commentsToSAX, dataToMap, dataToMap, dataToMap, dataToMap, dataToSAX, dataToSAX, dataToSAX, dataToSAX, dataToSAXForEdition, getDataNames, getType, getValue, hasValue, hasValueOrEmpty, isMultiple
-
Methods inherited from interface org.ametys.plugins.repository.ModifiableACLAmetysObject
addAllowedGroups, addAllowedProfilesForAnonymous, addAllowedProfilesForAnyConnectedUser, addAllowedUsers, addDeniedGroups, addDeniedProfilesForAnonymous, addDeniedProfilesForAnyConnectedUser, addDeniedUsers, disallowInheritance, removeAllowedGroups, removeAllowedGroups, removeAllowedProfilesForAnonymous, removeAllowedProfilesForAnyConnectedUser, removeAllowedUsers, removeAllowedUsers, removeDeniedGroups, removeDeniedGroups, removeDeniedProfilesForAnonymous, removeDeniedProfilesForAnyConnectedUser, removeDeniedUsers, removeDeniedUsers
-
Methods inherited from interface org.ametys.plugins.repository.ModifiableAmetysObject
needsSave, rename, revertChanges, saveChanges
-
Methods inherited from interface org.ametys.plugins.repository.metadata.ModifiableMetadataAwareAmetysObject
getMetadataHolder
-
Methods inherited from interface org.ametys.plugins.repository.data.ametysobject.ModifiableModelAwareDataAwareAmetysObject
getComposite, getComposite, getDataHolder, getExternalComposite, getExternalComposite, getExternalRepeater, getExternalRepeater, getLocalComposite, getLocalComposite, getLocalRepeater, getLocalRepeater, getParentDataHolder, getRepeater, getRepeater, getRepositoryData, getRootDataHolder, removeExternalizableMetadataIfExists, removeExternalValue, removeLocalValue, removeValue, setComments, setExternalValue, setLocalValue, setStatus, setValue, synchronizeValues, synchronizeValues, synchronizeValues, synchronizeValues
-
Methods inherited from interface org.ametys.plugins.repository.RemovableAmetysObject
remove
-
Methods inherited from interface org.ametys.plugins.repository.tag.TagAwareAmetysObject
getTags
-
Methods inherited from interface org.ametys.plugins.repository.TraversableAmetysObject
getChildAt, getChildPosition
-
-
-
-
Constructor Detail
-
AbstractProgramPart
public AbstractProgramPart(Node node, String parentPath, F factory)
Constructor- Parameters:
node
- The JCR nodeparentPath
- The parent pathfactory
- The factory
-
-
Method Detail
-
getProgramPartParents
public List<ProgramPart> getProgramPartParents()
Description copied from interface:ProgramPart
Returns the direct parentProgramPart
s- Specified by:
getProgramPartParents
in interfaceProgramPart
- Returns:
- the direct parent
ProgramPart
s in a List
-
getRootPrograms
public Set<Program> getRootPrograms()
Description copied from interface:ProgramItem
Returns the programs holding this program part- Specified by:
getRootPrograms
in interfaceProgramItem
- Returns:
- the root programs
-
getCatalog
public String getCatalog()
Description copied from interface:ProgramItem
Get the catalog of this content- Specified by:
getCatalog
in interfaceProgramItem
- Returns:
- the name of catalog or null if not set
-
setCatalog
public void setCatalog(String catalog) throws AmetysRepositoryException
Description copied from interface:ProgramItem
Set the catalog- Specified by:
setCatalog
in interfaceProgramItem
- Parameters:
catalog
- the name of catalog to set- Throws:
AmetysRepositoryException
- if an error occurred
-
getCode
public String getCode()
Description copied from interface:ProgramItem
Get the CDM-fr of theProgramItem
- Specified by:
getCode
in interfaceProgramItem
- Returns:
- the CDM-fr code
-
setCode
public void setCode(String code) throws AmetysRepositoryException
Description copied from interface:ProgramItem
Set the CDM-fr code- Specified by:
setCode
in interfaceProgramItem
- Parameters:
code
- the CDM-fr to set- Throws:
AmetysRepositoryException
- if an error occurs
-
getCDMType
protected abstract String getCDMType()
Get the type of thisProgramPart
in CDM. This type compose the CDM identifier- Returns:
- the type
-
getCdmCode
public String getCdmCode()
Description copied from interface:CDMEntity
Get the CDM code. This code is not empty only if the CDM entity was imported from a CDMfr file.- Specified by:
getCdmCode
in interfaceCDMEntity
- Returns:
- the CDM code. Can be null;
-
setCdmCode
public void setCdmCode(String cdmCode)
Description copied from interface:CDMEntity
Set the CDM code. This code should be setted only when the CDM entity was imported from a CDMfr file.- Specified by:
setCdmCode
in interfaceCDMEntity
- Parameters:
cdmCode
- the CDM code to set
-
-