package com.constellio.app.modules.rm.ui.components.document; import com.constellio.app.modules.rm.model.CopyRetentionRuleInRule; import com.constellio.app.modules.rm.ui.components.document.fields.CustomDocumentField; import com.constellio.app.modules.rm.wrappers.Document; import com.constellio.app.services.factories.ConstellioFactories; import com.constellio.app.ui.application.ConstellioUI; import com.constellio.app.ui.entities.RecordVO; import com.constellio.app.ui.framework.components.RecordForm; import com.constellio.app.ui.pages.base.SessionContext; public abstract class DocumentFormImpl extends RecordForm implements DocumentForm { public DocumentFormImpl(RecordVO record) { super(record, new DocumentFieldFactory(record.getMetadataValue( record.getMetadata(Document.FOLDER)).<String>getValue(), record.getMetadataValue(record.getMetadata(Document.TYPE)).<String>getValue(), record.<CopyRetentionRuleInRule>getList(Document.APPLICABLE_COPY_RULES))); } @Override public CustomDocumentField<?> getCustomField(String metadataCode) { return (CustomDocumentField<?>) getField(metadataCode); } @Override public ConstellioFactories getConstellioFactories() { return ConstellioFactories.getInstance(); } @Override public SessionContext getSessionContext() { return ConstellioUI.getCurrentSessionContext(); } }