package com.constellio.app.modules.rm.model.calculators.document; import java.util.Arrays; import java.util.List; import com.constellio.app.modules.rm.wrappers.Document; import com.constellio.model.entities.calculators.CalculatorParameters; import com.constellio.model.entities.calculators.MetadataValueCalculator; import com.constellio.model.entities.calculators.dependencies.Dependency; import com.constellio.model.entities.calculators.dependencies.LocalDependency; import com.constellio.model.entities.records.Content; import com.constellio.model.entities.schemas.MetadataValueType; public class DocumentVersionCalculator implements MetadataValueCalculator<String> { LocalDependency<Content> content = LocalDependency.toAContent(Document.CONTENT); @Override public String calculate(CalculatorParameters parameters) { Content documentContent = parameters.get(content); return documentContent != null ? documentContent.getCurrentVersion().getVersion() : null; } @Override public String getDefaultValue() { return null; } @Override public MetadataValueType getReturnType() { return MetadataValueType.STRING; } @Override public boolean isMultiValue() { return false; } @Override public List<? extends Dependency> getDependencies() { return Arrays.asList(content); } }