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);
}
}