package com.constellio.app.modules.rm.model.calculators.storageSpace; import com.constellio.app.modules.rm.wrappers.StorageSpace; 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.calculators.dependencies.ReferenceDependency; import com.constellio.model.entities.schemas.MetadataValueType; import java.util.List; import static java.util.Arrays.asList; public class StorageSpaceTitleCalculator implements MetadataValueCalculator<String> { ReferenceDependency<String> parentStorageParam = ReferenceDependency.toAString(StorageSpace.PARENT_STORAGE_SPACE, StorageSpace.TITLE); LocalDependency<String> codeParam = LocalDependency.toAString(StorageSpace.CODE); @Override public String calculate(CalculatorParameters parameters) { String parentTitle = parameters.get(this.parentStorageParam); String code = parameters.get(this.codeParam); String totalTitle = ""; if(parentTitle != null) { totalTitle = parentTitle + "-"; } return totalTitle + code; } @Override public String getDefaultValue() { return ""; } @Override public MetadataValueType getReturnType() { return MetadataValueType.STRING; } @Override public boolean isMultiValue() { return false; } @Override public List<? extends Dependency> getDependencies() { return asList(parentStorageParam, codeParam); } }