package com.constellio.app.modules.rm.model.calculators;
import java.util.Arrays;
import java.util.List;
import org.joda.time.LocalDate;
import com.constellio.app.modules.rm.model.CopyRetentionRule;
import com.constellio.app.modules.rm.model.calculators.folder.FolderMainCopyRuleCalculator2;
import com.constellio.app.modules.rm.wrappers.Folder;
import com.constellio.model.entities.calculators.MetadataValueCalculator;
import com.constellio.model.entities.calculators.dependencies.Dependency;
import com.constellio.model.entities.calculators.dependencies.LocalDependency;
public class FolderMainCopyRuleCalculator extends FolderMainCopyRuleCalculator2 implements
MetadataValueCalculator<CopyRetentionRule> {
LocalDependency<List<CopyRetentionRule>> copyRulesParam = LocalDependency.toAStructure(Folder.APPLICABLE_COPY_RULES)
.whichIsRequired();
LocalDependency<List<LocalDate>> expectedDestructionDatesParam = LocalDependency
.toADate(Folder.COPY_RULES_EXPECTED_DESTRUCTION_DATES).whichIsMultivalue().whichIsRequired();
LocalDependency<List<LocalDate>> expectedDepositDatesParam = LocalDependency
.toADate(Folder.COPY_RULES_EXPECTED_DEPOSIT_DATES).whichIsMultivalue().whichIsRequired();
@Override
public List<? extends Dependency> getDependencies() {
return Arrays.asList(copyRulesParam, expectedDestructionDatesParam, expectedDepositDatesParam);
}
}